In this tutorial, we will show you how to install vsftpd on your Ubuntu 18.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 18.04 (Bionic Beaver) server.
Prerequisites
- A server running one of the following operating systems: Ubuntu 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.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- 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 Vsftpd on Ubuntu 18.04 LTS Bionic Beaver
Step 1. First, make sure that all your system packages are up-to-date by running these following apt-get commands in the terminal.
sudo apt-get update sudo apt-get upgrade
Step 2. Installing VSFTPD on Ubuntu 18.04 LTS.
To install VSFTPD, run the following command from your Terminal:
sudo apt install vsftpd
Step 3. Configure VSFTPD.
After it is successfully installed, Let us go ahead and configure it:
### nano /etc/vsftpd.conf Controls whether anonymous logins are permitted or not. anonymous_enable=NO # Allow local users to login local_enable=YES # Set 'write_enable' to YES in order to allow changes to the filesystem write_enable=YES # to enable ASCII uploads (to prevent uploaded scripts etc. from breaking), # without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be # on the client anyway.. ascii_upload_enable=YES ascii_download_enable=YES # You can set the root directory of the FTP users. if not specified, users' home directory equals FTP home directory local_root=public_html
Save and close the file. Restart vsftpd service to take effect the changes:
sudo systemctl restart vsftpd sudo systemctl enable vsftpd
Check if vsftpd service is running or not using the command:
sudo systemctl status vsftpd
Sample output:
vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vend Active: active (running) since Thu 2018-07-16 17:28:31 IST; 31s a Process: 2040 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (co Main PID: 2043 (vsftpd) Tasks: 1 Memory: 492.0K CPU: 46ms CGroup: /system.slice/vsftpd.service └─2043 /usr/sbin/vsftpd /etc/vsftpd.conf Jul 16 17:36:31 ubuntuserver systemd[1]: Starting vsftpd FTP server. Jul 16 17:36:31 ubuntuserver systemd[1]: Started vsftpd FTP server.
Step 4. Configure Firewall.
In case you have UFW firewall enabled, execute the below command to allow incoming traffic to FTP ports:
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 chedelics:
sudo adduser chedelics
Congratulations! You have successfully installed vsftpd. Thanks for using this tutorial for installing vsftpd in Ubuntu 18.04 LTS (Bionic Beaver) system. For additional help or useful information, we recommend you to check the official vsftpd website.