ProFTPD is an Open Source FTP Server and one of the most used, secure and reliable file transfer daemons on Unix environments, due to its file configurations simplicity speed and easy setup.
Requirements
- CentOS 7 Minimal Installation
- Red Hat Enterprise Linux 7 Installation
- Configure Static IP Address on System
This tutorial will guide you on how you can install and use ProFTPD Server on CentOS/RHEL 7 Linux distributions for a simple file transfer from your local system accounts to remote systems.
Step 1: Install Proftpd Server
1. Official RHEL/CentOS 7 repositories doesn’t provide any binary package for ProFTPD Server, so you need to add extra package repositories on your system provided by EPEL 7 Repo, using the following command.
# rpm -Uvh http://ftp.astral.ro/mirrors/fedora/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
2. Before you start installing ProFTPD Server, edit your machine hosts file, change it accordingly to your system FQDN and test the configurations to reflect your system domain naming.
# nano /etc/hosts
Here add your system FQDN on 127.0.0.1 localhost line like in the following example.
127.0.0.1 server.centos.lan localhost localhost.localdomain
Then edit /etc/hostname file to match the same system FQDN entry like in the screenshots below.
# nano /etc/hostname
3. After you have edited the host files, test your local DNS resolution using the following commands.
# hostname # hostname -f ## For FQDN # hostname -s ## For short name
4. Now it’s time to install ProFTPD Server on your system and some required ftp utilities that we will be using later by issuing following command.
# yum install proftpd proftpd-utils
5. After the server is installed, start and manage Proftpd daemon by issuing the following commands.
# systemctl start proftpd # systemctl status proftpd # systemctl stop proftpd # systemctl restart proftpd
Step 2: Add Firewall Rules and Access Files
6. Now, your ProDTPD Server runs and listen for connections, but it’s not available for outside connections due to Firewall policy. To enable outside connections make sure you add a rule which opens port 21, using firewall-cmd system utility.
# firewall-cmd –add-service=ftp ## On fly rule # firewall-cmd –add-service=ftp --permanent ## Permanent rule # systemctl restart firewalld.service
7. The most simple way to access your FTP server from remote machines is by using a browser, redirecting to your server IP Address or domain name using ftp protocol on URL.
ftp://domain.tld OR ftp://ipaddress
8. The default configuration on Proftpd Server uses valid system local accounts credentials to login and access your account files which is your $HOME system path account, defined in /etc/passwd file.
9. To make ProFTPD Server automatically run after system reboot, aka enable it system-wide, issue the following command.
# systemctl enable proftpd
That’s it! Now you can access and manage your account files and folders using FTP protocol using whether a browser or other more advanced programs, such as FileZilla, which is available on almost any platforms, or WinSCP, an excellent File Transfer program that runs on Windows based systems.
On the next series of tutorials concerning ProFTPD Server on RHEL/CentOS 7, I shall discuss more advanced features like enabling Anonymous account, use TLS encrypted file transfers and adding Virtual Users.