In this tutorial, we will show you how to install ProFTPD on Debian 8. For those of you who didn’t know, ProFTPD is a GPL-licensed FTP server that can be installed for free on your Linux system. It’s an alternative to vsftpd. ProFTPD open-source FTP server is one most used, secure, and reliable file transfer daemons on Unix environments, due to its file configurations simplicity speed, and easy setup.
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 of ProFTPD on a Debian 8 (Jessie) server.
- A server running one of the following operating systems: Debian 8 (Jessie).
- 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).
non-root sudo useror access to the
root user. We recommend acting as a
non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.
Install ProFTPD on Debian 8 Jessie
Step 1. Before we install any software, it’s important to make sure your system is up to date by running the following
apt-get commands in the terminal:
apt-get update apt-get upgrade
Step 2. Installing ProFTPD and all required packages.
sudo apt-get install proftpd
During the installation, you’ll be prompted to choose the installation method that you want. There are two installation methods, the standard daemon, and init daemon methods.
Step 3. Configure ProFTPD.
ProFTPD default configuration file is at /etc/proftpd/proftpd.conf.
Change the ServerName to the hostname of your server. In the case below, ftp.idroot.us is an example:
# Use this to jail all users in their homes DefaultRoot
Create FTP User
Step 4. Add an FTP User.
Before you create a user for Proftpd, please add /bin/false to your /etc/shells file:
echo "/bin/false" >> /etc/shells
Create a user with a home directory which he will get access to by FTP. I will disable shell access for this user by assigning the “/bin/false” shell to him to ensure that he can not log in by SSH. My username is named “idroot”, please replace idroot with your username in the next command:
adduser --home /home/idroot --shell /bin/false idroot
Next, configure Proftpd to allow the user idroot to access the FTP server:
cd /etc/proftpd/ nano proftpd.con
Add this config to allow user idroot to login and upload/download the file to/from his home directory
<Directory /home/idroot> Umask 022 022 AllowOverwrite off <Limit LOGIN> AllowUser idroot DenyALL </Limit> <Limit ALL> Order Allow,Deny AllowUser idroot Deny ALL </Limit> <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD> AllowUser idroot Deny ALL </Limit> </Directory>
Run the commands below to restart ProFTPD:
systemctl restart proftpd
Step 5. Access the FTP server.
Once you have installed the FTP server and configured it to your liking, Now all you have to do is open an FTP client and connect to the server using its IP address, hostname, or domain name. If everything is configured correctly, you should be granted access to the server with the correct username and password.
Congratulations! You have successfully installed ProFTPD. Thanks for using this tutorial for installing the ProFTPD FTP server on Debian 8 Jessie server. For additional help or useful information, we recommend you check the official ProFTPD website.