In this post, you will learn how to configure Pure-FTPD.
Pure-FTPD is a free FTP server which mainly focuses on security. It can be setup really easily within five minutes and it does not take much time or effort to setup. Pure-FTPD offers many features like limiting simultaneous users, Limiting bandwidth on each user to avoid saturation of the network speed, hiding files through permissions and moderating new uploads and content. In this tutorial we will see how to easily configure Pure-FTPD server with Self Signed Certificate
File Transfer Protocol (FTP) is a way to receive or transfer data from one server to another. It is a standard communication protocol that enables the transfer or receiving of data over network. For in our case, We can use SFTP protocol for linux servers to transfer files, but if we have to create a FTP server we can use Pure-FTPD
configure Pure-FTPD on Debian / Ubuntu
Step 1 : Updating the Server
First step will be to update your server to look for any new packages, updates, security releases.
apt-get update -y
apt-get upgrade -y
Step 2 : Installing PureFTPD
PureFTPD is available in the official ubuntu or debian repository we do not need any additional repository to install it
run the following command to install PureFTPD
apt-get install pure-ftpd openssl
–– Enable the server on boot and start the server
systemctl enable pure-ftpd
systemctl start pure-ftpd
–– Check the status using the following command
systemctl status pure-ftpd
Step 3 : Create an additional FTP User
Our Pure-FTPD server is running fully fine, now we have to create an additional user for FTP run the following commands
adduser ftpd
Step 4 : Configure Self Signed Certificate
PureFTPD is installed and also the user is also configured for the FTP server, now we can create a self-signed SSL/TLS certificate, run the following command to generate it
openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem -days 365
— You will get a prompt like this, You will be prompted to enter some details like Country Code, State, etc. You can leave it blank or you may put it according to your own self
Next step will be to configure and force PureFTPD to communicate over TLS protocol, We have generated our private key file and cert file. Run the following command
echo “2” > /etc/pure-ftpd/conf/TLS
— Restart PureFTPD server
systemctl restart pure-ftpd
Open your preferred FTP Client and connect your server using the credentials you have generated while creating a user, and confirm whether your Self-Signed Certificate is working and your PureFTPD server is running over SSL/TLS Protocol
Conclusion :
You have configured a PureFTPD server on your machine and configured to work over SSL/TLS protocol!