How To Install FTP Server on Ubuntu 22.04 LTS
In this tutorial, we will show you how to install FTP Server on Ubuntu 22.04 LTS. For those of you who didn’t know, FTP Server is software that runs on a computer and allows users to upload and download files to and from the server using an FTP client. It transfers the files from the server computer to the client over the network. Keep in mind that vsftpd is a very basic and lightweight FTP server, and it is recommended to use it only for simple file transfer needs.
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 the step-by-step installation of the FTP server on Ubuntu 22.04 (Jammy Jellyfish). You can follow the same instructions for Ubuntu 22.04 and any other Debian-based distribution like Linux Mint, Elementary OS, Pop!_OS, and more as well.
Prerequisites
- A server running one of the following operating systems: Ubuntu 22.04, 20.04, and any other Debian-based distribution like Linux Mint.
- 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).
- An active internet connection. You’ll need an internet connection to download the necessary packages and dependencies for FTP Server.
- 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 22.04 LTS Jammy Jellyfish
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 22.04.
By default, vsftpd (Very Secure FTP Daemon) is not available on Ubuntu 22.04 base repository. Now run the following command below to install the latest stable version of vsftpd to your Ubuntu system:
sudo apt install vsftpd
Once 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 sudo systemctl status vsftpd
Step 3. Configuration FTP Server on Ubuntu 22.04.
We need to configure it to work properly on our system. The configuration file for vsftpd is located at /etc/vsftpd.conf
. We can edit this file using a favorite text editor like nano:
nano /etc/vsftpd.conf
And add the following file:
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
Save and close the file, then restart the vsftpd service by running the following command:
sudo systemctl restart vsftpd
Step 4. Configure Firewall.
Now we set up an Uncomplicated Firewall (UFW) with an FTP server to allow public access to default ports for 20,21,10000:10100
.
sudo ufw allow OpenSSH sudo ufw allow from any to any port 20,21,10000:10100 proto tcp sudo ufw enable
Step 5. Create a new user for FTP access.
In order to access the FTP server, we need to create a new user specifically for FTP access. To create a new user, run the following command:
$ sudo useradd -m ranty $ sudo passwd rantna New password: Retype new password: passwd: password updated successfully
Congratulations! You have successfully installed FTP. Thanks for using this tutorial for installing the FTP server on Ubuntu 22.04 LTS Jammy Jellyfish system. For additional help or useful information, we recommend you check the official vsftpd website.