In this tutorial, we will show you how to install FTP Server on CentOS 8. For those of you who didn’t know, FTP (File Transfer Protocol) is a client-server network protocol that allows users to transfer files to and from a remote machine. Vsftpd is an open-source FTP server. It is very secure and stable. vsftpd is also very easy to configure. vsftpd is available in the official package repository of CentOS 8.
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 and setup FTP Server on CentOS 8 server.
Prerequisites
- A server running one of the following operating systems: CentOS 8.
- It’s recommended that you use a fresh OS install to prevent any potential issues
- 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 FTP Server on CentOS 8
Step 1. First, let’s start by ensuring your system is up-to-date.
sudo dnf update
Step 2. Installing the FTP server on CentOS 8.
Now, install vsftpd with the following command:
sudo dnf install vsftpd
Once vsftpd is installed, start the vsftpd daemon and enable it to start at boot time automatically:
sudo systemctl enable vsftpd --now sudo systemctl status vsftpd
Step 3. Configure the FTP server.
Let’s start to the configuration file:
sudo nano /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES
Then, restart the FTP server service:
sudo systemctl restart vsftpd
Step 4. Configure Firewall.
Open FTP ports in Server Firewall so it can be connected:
sudo firewall-cmd --permanent --add-port=20-21/tcp sudo firewall-cmd --permanent --add-port=30000-31000/tcp sudo firewall-cmd --reload
Step 5. Creating an FTP User.
With the vsftpd FTP server, you have the option to leave the FTP service authentication for only anonymous access or you can allow users, defined in /etc/passwd
or in the relevant access list, to log in.
Create FTP users:
useradd mailana passwd ramona
Congratulations! You have successfully installed the FTP server. Thanks for using this tutorial for installing and configuring the FTP server on CentOS 8 systems. For additional help or useful information, we recommend you check the official VSFTPD website.