FTP (File Transfer Protocol) is probably the most popular method of uploading files to a server; a wide array of FTP servers, such as ProFTPD, and clients exist for every platform.
- These instructions are intended specifically for installing the ProFTPD on CentOS 7.
- I’ll be working from a Liquid Web Self Managed CentOS 7 server, and I’ll be logged in as root.
Step 1: Add the EPEL Repository
ProFTPD is part of Extra Packages for Enterprise Linux (EPEL), which is a community repository of non-standard packages for the RHEL distribution. First, we’ll install the EPEL repository:
rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
Step 2: Install ProFTPD
Warning: FTP data is insecure; traffic is not encrypted, and all transmissions are clear text (including usernames, passwords, commands, and data). Consider securing your FTP connection with SSL/TLS.
As a matter of best practice we’ll update our packages:
yum -y update
Then let’s install ProFTPD and any required packages:
yum -y install proftpd
Step 3: Configure ProFTPD
For a refresher on editing files with vim see: New User Tutorial: Overview of the Vim Text Editor
Let’s edit the configuration file for ProFTPD:
Change the ServerName to the hostname of your server. In the case below, ftp.thebestfakedomainnameintheworld.com is an example:
Exit and save the file with the command :wq .
Restart the ProFTPD service:
systemctl restart proftpd
Then set the ProFTPD service to start at boot:
systemctl enable proftpd
And verify your work by checking the status of ProFTPD:
systemctl status proftpd
Step 4: Allow ProFTPD Through the Firewall
Allow the default FTP port, port 21, through firewalld:
firewall-cmd --permanent --add-port=21/tcp
And reload the firewall: