- 5 June 2023
Among the most popular options for setting up an FTP server is the free and open-source ProFTPD program. This article will take a look at how to install ProFTPD on Debian and Ubuntu instances.
Note: Because of FTP security issues, after installing ProFTPD, make sure to configure it to use SFTP and set it to use SFTP. This version is a more secure FTP model based on the SSH protocol.
Installing ProFTPD in Debian
You will need an instance running the Debian operating system and a user with sudo permissions to start this service.
You can use the IP address of the instance to access the FTP service; however, if you wish to use the domain name when accessing it, you must set the domain name settings for the instance.
To install this program, you may use the official apt-get repositories. To do that, you should first update the repositories and then install ProFTPD:
Next, use the following command to confirm the proper installation and the installed version:
Before setting up the FTP service, you have to create groups and users used for managing the access levels. Use the following command to create a group (instead of the ftpgroup, you can type any value that will be used as the group name):
Now, use the following command to create a user. Replace ftpuser and ftpgroup with the user name and group name, respectively, in this command. While executing the command, you will be asked to set the password value and a few other pieces of information for the user created:
For configuring this service, open the proftpd.conf configuration file:
If you are not using IPv6, be sure to change the value for UseIPv6 to off. Also, change the values of RootLogin and RequireValidShell to off. The DenyGroup variable indicates which user groups can access the ftpserver. Change the value of this section to the name of the group you created using the previous commands.
Restart the service to apply the changes:
You can now access the FTP service through the instance IP address or the domain name that has been set on it:
To configure TLS, you will require a certificate. To begin, install OpenSSL using the following command:
Create the SSL path in etc/proftpd/:
To create a self-signed certificate, you can use the following command:
Only the root user can access the proftpd.key file. Use the following command to limit access to this file:
Be sure to open the tls.conf file and apply the following changes (note that you will have to uncomment some sections):
Restart the service:
Installing ProFTPD in Ubuntu
Ubuntu Linux distribution is among the most popular and widely used Linux distributions. You can easily install tools and software from the terminal on this distribution.
To install ProFTPD as fast as possible, simply enter the following command in the terminal:
Once you enter the password of the root user, the installation process will start.
You will get a message during the installation process indicating two options to run the VPS through inetd or standalone. You should choose the standalone option in this case.
Configuring ProFTP in Ubuntu
Now that you have installed this tool, you must configure it so that you can start using it properly. As opposed to other FTP tools, ProFTP’s setup will disable anonymous login at startup. There are some changes you need to make in the config file.
Use the following command to open the config file.
You must make changes to this file. Be sure to replace servername with your hostnames.
Next, you need to compile, or more accurately, uncomment the line of code representing Default Root. By doing this, you will restrict users to their home directory.
Having completed these changes, save the file and exit the program using the restart command.
Once you have completed these steps and properly installed and configured ProFTPD, you can access the FTP service. You can do this by entering the domain address in the browser and using the user ID. Once connected to the instance, you will only be able to access the user’s home directory.
Alternatively, you can connect to FTP via the terminal and enter the following command.
Also, you can exit the FTP shell by using the Exit command.