This is a quick tutorial on how to install a clean FTP server with MySQL user database backend on a Debian based OS:
Install MySQL Server, Client and Pure-FTPd server:
Connect to the MySQL server using the local console, create the database, grant privileges for the account the FTP server will use to connect to the DB, create the table that will store the user info and populate it:
Next, let’s edit the config file used by the PureFTP server to connect to the MySQL server and query the database:
A couple of settings I find useful are to chroot the users in their directories and to set PureFTPd not to resolve hostnames. If you want to add users having an UID lower than 1000 you will also have to change the default config file. This is useful for instance if you add ftp users that need access to directories owned by www-data that has 33 UID.