Pure-FTPd is a free FTP Server with a strong focus on software security.
While the latest stable version was released in 2019, I would say the software is current. To compare, the latest version of ProFTPD(a Pure-FTPd alternative) was released in 2020. There is no expectation to release lots of updates for this kind of software anyway.
It works very well, it’s easy to install and it has all the features you need.
A special feature is to keep users in a database instead of creating Linux users. This makes it easier to manage if you have many users.
Another FTP server you may consider is ProFTPD.
Steps to install Pure-FTPd
1. Install the software
sudo apt install pure-ftpd-mysql
2. Create user and group
sudo groupadd -g 2001 ftpgroup sudo useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser
3. Configure passive port range
sudo vi /etc/pure-ftpd/conf/PassivePortRange
Simply add the port range in the file and save it
4. Configure the firewall
sudo ufw allow ftp sudo ufw allow 40110:40210/tcp
5. Enable and restart the service
sudo systemctl enable pure-ftpd-mysql.service sudo systemctl start pure-ftpd-mysql.service
Configure FTP users using a database
The process of managing users with a MySQL / MariaDB database is very similar on both Ubuntu and CentOS so I put this information on a single page for both distros.
You are now done with the Pure-FTPd installation and can proceed to the next step to manage users with a MySQL database.
Good job! 🙂