In this tutorial, we will show you how to install and configuration of Pure-FTPd on your CentOS. For those of you who didn’t know, Pure-FTPd is a free (BSD), secure, production-quality, and standard-conformant FTP server. It doesn’t provide useless bells and whistles but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step installation Pure-FTPd on the CentOS system. You can follow the same instructions for AlmaLinux and Rocky Linux.
Prerequisites
- A server running one of the following operating systems: CentOS or RHEL-based.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install Pure-FTPd on CentOS/AlmaLinux/Rocky Linux
Step 1. First, let’s start by ensuring your system is up-to-date.
sudo yum update sudo yum install epel-release
Step 2. Installing Pure-FTPd on CentOS
Now we run the following command below to install it:
sudo yum install pure-ftpd -y
Step 3. Configuring Pure-FTPd server.
Type the following command to edit the Pure-FTPd configuration file:
nano /etc/pure-ftpd/pure-ftpd.conf
Make sure you have these options:
# If you want simple Unix (/etc/passwd) authentication, uncomment this UnixAuthentication yes
ChrootEveryone yes NoAnonymous yes # PureDB user database (see README.Virtual-Users) PureDB /etc/pure-ftpd/pureftpd.pdb # Automatically create home directories if they are missing CreateHomeDir yes
Finally, save the Pure-FTPD user database.
pure-pw mkdb
Add a virtual user.
pure-pw useradd ftpuser -u user -g group -d /var/www/your-domain.com/public_html
Then, start the service and enable the service to start on boot:
sudo systemctl enable pure-ftpd sudo systemctl start pure-ftpd
Step 4. Configure Firewall.
If you are using firewalld, simply run the following command to enable port 21 (FTP) and Port 22 (SFTP) for Pure-FTPd:
sudo firewall-cmd --zone=public --permanent --add-service=ftp
Congratulations! You have successfully installed the FTP server. Thanks for using this tutorial for installing the Pure-FTPd secure FTP server on the CentOS system. For additional help or useful information, we recommend you check the official Pure-FTPd website.