The ftp module for Apache hasn't been released yet as a stable module so you won't find it in the repositories, but you can build it pretty easily and the configuration isn't too much of a hassle.
The downside is that it's not in widespread use and it's not as easy to find howtos for.
Unfortunately, I'll just be covering the basics here. By default this will allow anonymous connections. Many of the other directives are explained in the example ftpd.conf provided (and many of them didn't work for me).
If you're not very familiar with apache take a look at another post of mine. It will either make you more or less confused so read at your own risk:
You need to be able to compile from source code and you need the Apache's special APXS
Churn source into binary like milk into butter:
apt-get install --yes --quiet build-essential subversion apache2-threaded-dev
Here's where you'll do the actual compiling.
Either download from the tar.gz archives or get it via subversion.
I didn't have any problems here. Easy as pie.
tar --extract --file mod_ftp-0.9.2-beta.tar.gz
# Or you can use svn
# svn checkout http://svn.apache.org/repos/asf/httpd/mod_ftp/trunk/ mod_ftp
sudo make install
Ubuntu-ify the configuration:
First open Ubuntu's default config file for apache and remove the lines that were added automatically
Next let's create necessary load file and move the provided config to the more appropriate location
sudo su -
#### Place a comment in front of or remove these 3 lines
#LoadModule ftp_module usr/lib/apache2/modules/mod_ftp.so
# Example mod_ftp configuration
echo "LoadModule ftp_module /usr/lib/apache2/modules/mod_ftp.so" > /etc/apache2/mods-available/ftpd.load
mv ./extra/ftpd.conf ./mods-available/
Before you can reload apache you should either comment out the ftpd log section or create a file with the right permissions
Then configure and customize as needed
#### Bug Fix: Comment this line out for now
Finally, restart or reload apache and visit ftp://localhost/ to see if all went as planned.
#### I make this change to use the directory I just created
# DocumentRoot "/var/ftp"
chown www-data:www-data -R /var/ftp