In this tutorial, we will show you how to install the FTP server on Ubuntu 20.04 LTS. For those of you who didn’t know, FTP stands for “file transfer protocol”, and it allows you to transfer files to a remote computer. The most common FTP server software for Ubuntu is the vsftpd package, which stands for “very secure FTP daemon.” It’s the default FTP package for Ubuntu, and most other Linux distributions as well.
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 through the step-by-step installation FTP Server on a Ubuntu 20.04 (Focal Fossa) server.
Prerequisites
- A server running one of the following operating systems: Ubuntu 20.04, 18.04, and any other Debian-based distribution like Linux Mint or elementary OS.
- It’s recommended that you use a fresh OS install to prevent any potential issues
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install FTP Server on Ubuntu 20.04 LTS Focal Fossa
Step 1. First, make sure that all your system packages are up-to-date by running the following apt
commands in the terminal.
sudo apt update sudo apt upgrade
Step 2. Installing FTP server on Ubuntu 20.04.
Install the vsftpd package using the apt
command below:
sudo apt install vsftpd
After installing VSFTPD, the commands below can be used to stop, start and enable the server service to always start up when the server boots:
sudo systemctl start vsftpd sudo systemctl enable vsftpd
Step 3. Configure FTP server on Ubuntu system.
You’ll find its main configuration file at /etc/vsftpd.conf
. Many of the settings you’ll configure are well documented in there. Add/modify the following options with these values:
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES
With the configuration file saved, restart vsftpd apply the new changes:
sudo systemctl restart vsftpd
Step 4. Configure Firewall.
If you haven’t already done so, it is recommended that you enable the ufw
firewall for Ubuntu 20.04.
sudo ufw allow from any to any port 20,21,10000:10100 proto tcp
Step 5. Create FTP User.
We will now create a new user that we will use to log into FTP. In this example, we will create a new user called meilana:
$ sudo useradd -m meilana $ sudo passwd maria New password: Retype new password: passwd: password updated successfully
In order to verify that everything’s working properly, you should store at least one file in meilana’s home directory. This file should be visible when we log in to FTP in the next steps:
sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
Congratulations! You have successfully installed the FTP server. Thanks for using this tutorial for installing FTP server in Ubuntu 20.04 LTS Focal Fossa system. For additional help or useful information, we recommend you check the official vsftpd website.