How to Install ProFTPD on Debian 11 Server (Step by Step). In this post, we show you what is ProFTPD, its advantages then explain how to install ProFTPD server on Debian 11.
The ProFTPD server is a free FTP server that is used as either standalone or as a module for other programs. The ProFTPD server is designed to be fast, secure, and extremely configurable.
Wu-ftpd was the most widely utilized server when the project got started but lacked various features and had a poor security history. Many individuals, including the ProFTPD developers, had invested a lot of time in wu-ftpd, resolving bugs, and adding capabilities. Sadly, it soon became apparent that a complete redesign was required in order to add the requisite configurability and functionalities.
ProFTPD is a standalone source tree that was built from the bottom up. It runs on various platforms, including SCO, OpenBSD, AIX, Linux, Mac OS X, NetBSD, Solaris, etc. In fact, Slackware, SourceForge, Duno, Linksys, and many high traffic sites trust ProFTPD.
In addition to supporting the RFC 959 defined FTP protocol, proFTPD servers also feature numerous advanced features, including Apache style configuration files, the ability to cloak files and directories, resume interrupted downloads, and file and directory aliases.
Compared with others that are focused, for instance, on simplicity, speed, or security, the main purpose of the design of ProFTPD is to be a very capable FTP server, which exposes the user to a wide range of configuration options. Some FTP servers, like Spiceworks and SolarWinds, are part of full featured network management tools. Some FTP servers, such as ProFTPd, require that you turn on the option NoSessionReuseRequired if you are using Transport Layer Security (TLS) mode, a successor to Secure Socket Layer (SSL).
Now, you need to create a FTP user to test the ProFTPD server. To create a new user named ftpuser, run the following command.
adduser ftpuser
Set your user’s password as shown below:
Adding user `ftpuser' ...
Adding new group `ftpuser' (1001) ...
Adding new user `ftpuser' (1001) with group `ftpuser' ...
Creating home directory `/home/ftpuser' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for ftpuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
After creating an FTP user, log in with ftpuser with the following command.
su - ftpuser
Next, create some files and directories with the following command.
mkdir folder1 folder2
touch testing1 testing2
Then, exit from the ftpuser with the following command.
The /etc/proftpd/proftpd.conf is the only configuration file that ProFTPD typically utilizes. Each directive in this file typically consists of a single line with a name and a value. Each directive sets a single customizable parameter, such as the location of a welcome message or the name of a hidden file. Additionally, there are special container directives for bundling other directives that span numerous lines but only apply to one virtual server or directory.
Next, you will need to edit the ProFTPD default configuration file and change the default settings.
nano /etc/proftpd/proftpd.conf
Change the following settings.
ServerName Debian11
UseIPV6 on
Port 21
SystemLog /var/log/proftpd/proftpd.log
DefaultRoot ~
Next, add the following lines at the end of the file.
Umask 022
AllowOverwrite off
AllowUser ftpuser
DenyAll
AllowUser ftpuser
DenyAll
Save and close the file when you are done. Then, restart the ProFTPD service to apply the changes.
In this section, we show you how to connect the ProFTPD server via command line client. First, log in to the remote Linux machine, open your command line interface and run the following command to connect the ProFTPD server.
ftp ftp-server-ip
You will be asked to provide your FTP username and password as shown below.
Connected to ftp-server-ip.
220 ProFTPD Server (debian11) [::ffff:ftp-server-ip]
Name (ftp-server-ip:vyom): ftpuser
331 Password required for ftpuser
Password:
Once you are log in to the FTP server, you will get in to the FTP shell as shown below.
230 User ftpuser logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Now, verify your files and directories which you have created in previous step using the following command.
ftp> ls
You should see the following output.
drwxr-xr-x 2 ftpuser ftpuser 4096 Dec 29 13:08 folder1
drwxr-xr-x 2 ftpuser ftpuser 4096 Dec 29 13:08 folder2
-rw-r--r-- 1 ftpuser ftpuser 0 Dec 29 13:08 testing1
-rw-r--r-- 1 ftpuser ftpuser 0 Dec 29 13:08 testing2
Provide all certificate information as shown below.
Generating a RSA private key
............................+++++
................................................................+++++
writing new private key to 'https://net.cloudinfrastructureservices.co.uk/etc/ssl/private/proftpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:NJ
Locality Name (eg, city) []:server
Organization Name (eg, company) [Internet Widgits Pty Ltd]:EDU
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:server
Email Address []:admin@example.com
Then, set proper permission on the generated certificates with the following command.
There are lots of FTP client available that helps you to access your FTP server via GUI interface. Here, we will connect ProFTPD server via FileZilla graphical FTP client.
A). First, install the FileZilla client on your remote machine and open it as shown below.
B). Next, click on create new connection. You should see the FTP connection page.
C). Provide your FTP IP, username, password and click on the connect button. Once you are connected to the FTP server, you should see your files and directories on the following page.
Thank you for reading How to Install ProFTPD on Debian 11 Server. We shall conclude this article blog.
How to Install ProFTPD on Debian 11 Server (Step by Step) Conclusion
Congratulations! You have successfully installed ProFTPDFTP server on Debian 11 server. ProFTPD is a flexible, secure, and extremely configurable server that has the ability to run in different modes. It has a similar configuration file format and user interface to Apache. It supports virtual FTP servers, IPv6, logging, utmp/wtmp, etc.
ProFTPD server has some features that make it more secure and efficient than other FTP servers. This software runs on Unix like systems such as Linux, FreeBSD, and Solaris, as well as Microsoft Windows NT 4.0 and later versions of Microsoft Windows including Windows XP, Vista, 7, 8, and 10.
Feel free to explore more of our FTP content by navigating to our blog over here.
I am a fan of open source technology and have more than 10 years of experience working with Linux and Open Source technologies. I am one of the Linux technical writers for Cloud Infrastructure Services.