📒 

FTP (File Transfer Protocol) is a standard network protocol used to transfer files between a client and server. If you’re managing a website or need a secure way to transfer files, setting up an FTP server can be very useful. In this article, we’ll guide you through the installation and configuration of an FTP server on Ubuntu using vsftpd (Very Secure FTP Daemon), one of the most popular and secure FTP servers.

Step 1: Update Your System

Before installing any software, it’s always good practice to ensure that your system is up-to-date. Open a terminal and run the following commands:

sudo apt update sudo apt upgrade

Step 2: Install vsftpd

Next, install vsftpd by running the following command:

sudo apt install vsftpd

After the installation, you can check the status of the vsftpd service:

sudo systemctl status vsftpd

It should display that the service is active (running).

Step 3: Configure vsftpd

The configuration file for vsftpd is located at /etc/vsftpd.conf. Open this file with a text editor:

sudo nano /etc/vsftpd.conf

You can modify the following settings to enhance security and functionality:

  • Allow local users to access FTP: Uncomment the following line:
    local_enable=YES
  • Enable file uploads: Uncomment the following line:
    write_enable=YES
  • Restrict users to their home directory: Uncomment the following line to ensure that users can only access their home directories:
    chroot_local_user=YES

After making the necessary changes, save the file and exit the editor.

Step 4: Create an FTP User

You need to create a user who will access the FTP server. Run the following command to add a new user:

sudo adduser ftpuser

Set a password for the user and follow the prompts to complete the user creation process.

Step 5: Restart vsftpd

Once the configuration is complete, restart the vsftpd service to apply the changes:

sudo systemctl restart vsftpd

Step 6: Allow FTP Through the Firewall

If you have UFW (Uncomplicated Firewall) enabled on your server, you need to allow FTP traffic:

sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 40000:50000/tcp

Then reload the firewall to apply the new rules:

sudo ufw reload

Step 7: Test the FTP Server

You can now connect to your FTP server using an FTP client (such as FileZilla). Use your server’s IP address and the FTP user credentials to log in. Ensure that file uploads and downloads work properly.

Conclusion

Setting up an FTP server on Ubuntu using vsftpd provides a secure and efficient way to transfer files. By following the steps outlined in this guide, you’ll be able to install, configure, and manage your FTP server. Additionally, you can enhance security by enabling SSL/TLS encryption for secure file transfers.