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.
Why Pure-FTPd?
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
40110 40210
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! 🙂