In this article, we’ll be going over how to set up an FTP server on Ubuntu 18.04 in under 5 minutes using vsftpd, the most popular FTP server software on Linux systems. We’ll also show you how to secure your new FTP server with SSL encryption in under 5 minutes! Note that the following steps were tested on Ubuntu 18.04 and they should work with other versions as well, but if you run into any issues, feel free to leave a comment below and we’ll do our best to help out!
There are a few different FTP servers you could install on your Ubuntu machine, but vsftpd is one of the most popular and easy to set up. Plus, it’s lightweight and secure. To install vsftpd, open a terminal and enter: sudo apt-get update && sudo apt-get install vsftpd Give it a name: The default location for the FTP files created by VsFTPd is in /var/www/html/, so I renamed that directory vsftp for convenience.
Finally, we need to give our new user permission to read and write files from that directory, so let’s do that now with this command: sudo chown -R ftp: ftp /var/www/html/. Now when we restart the FTP service, those permissions will be automatically applied to any files uploaded or downloaded from that directory. Restarting the service: We can restart vsftpd at any time using this command: sudo systemctl restart vsftpd.
Enable the service
First, you need to enable the service by running this command: `sudo systemctl enable vsftpd`. This will start the service automatically when your system starts up.
Then, you need to make sure that the firewall is configured to allow FTP traffic. You can do this by running these commands: `sudo ufw allow ftp` and then `sudo ufw reload`. These two commands will open a hole for port 21 (FTP) through the firewall. Now, we need to make sure that all new users are created with the proper permissions and group memberships.
Configure basic settings
Before you begin, you’ll need to have a running instance of Ubuntu 18.04 with a non-root user that has sudo privileges. You can learn how to set this up by following our Initial Server Setup guide for Ubuntu 18.04.
Password protected directories
If you’re looking to set up a password-protected directory on your FTP server, there are a few steps you’ll need to take. First, create a new user and give them a strong password. Then, create a new directory for them to access. Set the permissions so that only that user can read and write to the directory. Finally, add the user to the appropriate group so they can access the FTP server.
Set storage space quota per user
In order to set a storage space quota per user, you will need to create a file called .quotas in the root directory of your FTP server. In this file, you will need to specify the following 1) What are the quotas for each user? 2) How many megabytes (MB) are allotted for each category? 3) What is the number of gigabytes (GB)? 4) The path where users can store their files?
Run passive mode connections
FTP servers usually run in what’s called active mode. In active mode, the server sends the client the port number that the client should connect to for data transfers. The problem with active mode is that it can be blocked by firewalls. Passive mode connections solve this problem by letting the client choose the port number to use for data transfers.
Allow Anonymous Connections
If you want to allow anonymous connections to your FTP server, you’ll need to edit the configuration file and set the ‘Anonymous_enable’ option to ‘YES’. You can do this by opening the file in a text editor and adding the following line Anonymous_enable=yes Next, press Ctrl+X and then Y to save the changes.
Next we need to restart our FTP service for them to take effect: systemctl restart vsftpd.service To check that everything has been configured correctly, try connecting anonymously from another computer using an FTP client: ftp localhost Connected to localhost.
220———- Welcome to Pure-FTPd ———- 220-You are user number 1 of 50 allowed. 220-Local time is now 14:00. Server port: 21. Debug messages are not shown. 220-You have access to private directory /home/user1/.htpasswd.
220 ———— END OF README.TXT ———— 221 Goodbye.