Atlantic.Net Blog

How to Install Pure-FTPd on Ubuntu

Pure FTPd is a free and open-source FTP server designed with a strong focus on software security. It can be run on several operating systems including Linux, OpenBSD, NetBSD, FreeBSD, DragonFly BSD, Solaris, and many more. It is a very lightweight and stable daemon that supports various authentication backends such as Linux system users, puredb, MySQL, and PostgeSQL.

In this tutorial, we will explain how to install Pure FTPd with SSL/TLS on Ubuntu 20.04.

Prerequisites

  • A fresh Ubuntu 20.04 VPS on the Atlantic.Net Cloud Platform.
  • A root password configured on your server.

Step 1 – Create Atlantic.Net Cloud Server

First, log in to your Atlantic.Net Cloud Server.  Create a new server, choosing Ubuntu 20.04 as the operating system with at least 1GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.

Once you are logged in to your Ubuntu 20.04 server, run the following command to update your base system with the latest available packages.

apt-get update -y

Step 2 – Install Pure FTPd

By default, Pure FTPd is available in the Ubuntu 20.04 default repository. You can install it with the following command:

apt-get install pure-ftpd -y

After installing Pure FTPd, you can verify the status of Pure FTPd with the following command:

systemctl status pure-ftpd

You should see the following output:

Step 3 – Create FTP User

Next, you will need to create a FTP user in your system. You can create it with the following command:

adduser vyom

You will be asked to set a password as shown below:

Adding user `vyom' ...
Adding new group `vyom' (1000) ...
Adding new user `vyom' (1000) with group `vyom' ...Creating home directory `/home/vyom' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for vyom
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] Y

Step 4 – Create a Self-signed SSL/TLS certificate

Next, you will need to generate a self-signed certificate for Pure FTPd. You can generate it with the following command:

openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365

Answer all the questions with answers relevant to your installation, as shown below:

Generating a RSA private key
.......................+++++
....+++++
writing new private key to '/etc/ssl/private/pure-ftpd.pem'
-----
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]:IN
State or Province Name (full name) [Some-State]:GUJ
Locality Name (eg, city) []:JUN
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Atlantic
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:example
Email Address []:[email protected]

Step 5 – Configure Pure FTPd to use SSL/TLS

Next, you will need to configure Pure FTPd to use the certificate which we have generated above. You can configure it by editing the pure-ftpd.conf file:

nano /etc/pure-ftpd/pure-ftpd.conf

Change the following lines:

TLS                          2
TLSCipherSuite               HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3
CertFile                     /etc/ssl/private/pure-ftpd.pem

Save and close the file when you are finished. Then, restart the Pure FTPd service to apply the changes:

systemctl restart pure-ftpd

At this point, Pure FTPd is installed and configured to use SSL/TLS.

Step 6 – Connect FTP Server from Client

Next, you will need to connect to your Pure FTPd server from the client machine using the FileZilla FTP client.

First, open the FileZilla client and click on the Site Manager. You should see the following screen:

Provide your Pure FTPd server IP, select FTP protocol, select “Require explicit FTP over TLS”, provide your FTP username and password, and click on the Connect button. You will be prompted to accept the certificate as shown below:

Accept the certificate and click on the OK button. Once you are connected, you should see the following screen:

Conclusion

Congratulations! You have successfully installed Pure FTPd with SSL/TLS support on Ubuntu 20.04 server. You can now upload and download files and directories, to and from the FTP server. Try Pure FTPd today on Linux VPS Hosting from Atlantic.Net!

Get a $250 Credit and Access to Our Free Tier!

Free Tier includes:
G3.2GB Cloud VPS a Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year