{"id":5468,"date":"2018-01-08T07:42:09","date_gmt":"2018-01-08T07:42:09","guid":{"rendered":"https:\/\/www.hostinger.com\/tutorials\/?p=5468"},"modified":"2026-03-10T09:37:27","modified_gmt":"2026-03-10T09:37:27","slug":"how-to-setup-ftp-server-on-ubuntu-vps","status":"publish","type":"post","link":"\/ph\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps\/","title":{"rendered":"How to set up an FTP server on an Ubuntu VPS"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p><strong>File Transfer Protocol<\/strong> (FTP)<strong> <\/strong>is a method for sharing files between computers over the internet using the <strong>TCP\/IP <\/strong>protocol. It incorporates a client-server framework and Secure Sockets Layer (SSL) to ensure secure data transfer.<\/p><p>FTP is similar to the<strong> Hypertext Transfer Protocol <\/strong>(HTTP) and <strong>Simple Mail Transfer Protocol<\/strong> (SMTP) but handles a different data type. It is essential for managing remote systems like a virtual private server (VPS).<\/p><p>In this article, we will explain how to set up an FTP server on an Ubuntu VPS. We&rsquo;ll be using a <strong>vsftpd<\/strong> server, one of the fastest and most secure FTP servers for UNIX-like systems.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheat-Sheet.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2022\/11\/Linux-cheat-sheet-1024x283.png\" alt=\"\" class=\"wp-image-69262\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2022\/11\/Linux-cheat-sheet-1536x425.png 1024w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2022\/11\/Linux-cheat-sheet-300x83.png 300w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2022\/11\/Linux-cheat-sheet-150x41.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2022\/11\/Linux-cheat-sheet-768x212.png 768w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2022\/11\/Linux-cheat-sheet.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-prerequisites-for-setting-up-an-ftp-server\">Prerequisites for setting up an FTP server<\/h2><p>Before getting into the steps, purchase an <a href=\"\/ph\/vps\/ubuntu-hosting\">Ubuntu VPS hosting plan<\/a> with extensive software support, like Hostinger&rsquo;s, to avoid incompatibility issues. For this tutorial, your server must be running<strong> <\/strong><a href=\"\/ph\/tutorials\/what-is-ubuntu\">Ubuntu<\/a> as the commands may differ depending on the Linux distribution you&rsquo;re using.<\/p><p>Connect to your server <a href=\"\/ph\/tutorials\/how-to-use-putty-ssh\">using an SSH client like PuTTY<\/a>, Terminal, or Hostinger&rsquo;s <strong>browser terminal<\/strong>. Hostinger users can find the IP address and login details in hPanel&rsquo;s VPS overview menu.<\/p><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/01\/hostinger-vps-overview-screen-v2.png\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/01\/hostinger-vps-overview-screen-v2-1024x376.png\" alt=\"Hostinger VPS overview \" class=\"wp-image-125759\"><\/a><\/figure><\/div><p>By default, you will connect as<strong> root<\/strong>. We recommend creating a new account with superuser privileges to avoid accidental destructive command execution. Here are the commands:<\/p><pre class=\"wp-block-preformatted\">adduser account<\/pre><pre class=\"wp-block-preformatted\">usermod -aG sudo account<\/pre><p>Replace <strong>account <\/strong>with your desired username. Then, switch to the new user by running the following command and proceed with the setup:<\/p><pre class=\"wp-block-preformatted\">su account<\/pre><pre class=\"wp-block-preformatted\">cd<\/pre><?xml encoding=\"utf-8\" ?><figure class=\"wp-block-image size-large\"><a href=\"\/ph\/vps-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2023\/02\/VPS-hosting-banner-1024x300.png\" alt=\"\" class=\"wp-image-77934\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2023\/02\/VPS-hosting-banner.png 1024w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2023\/02\/VPS-hosting-banner-300x88.png 300w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2023\/02\/VPS-hosting-banner-150x44.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2023\/02\/VPS-hosting-banner-768x225.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-how-to-set-up-an-ftp-server-on-ubuntu\">How to set up an FTP server on Ubuntu<\/h2><p>In this section, we&rsquo;ll describe six steps to set up an FTP server on Ubuntu. If you encounter difficulties along the way, use Kodee, our <a href=\"\/blog\/vps-ai-assistant\">VPS AI assistant<\/a>, to help troubleshoot any issues.<\/p><h3 class=\"wp-block-heading\">1. Install vsftpd<\/h3><p>Begin by installing <a href=\"https:\/\/security.appspot.com\/vsftpd.html\" target=\"_blank\" rel=\"noreferrer noopener\">vsftpd<\/a>, which is responsible for enabling the FTP service on your VPS. Here are the steps:<\/p><ol class=\"wp-block-list\">\n<li>Download and install the package updates to ensure you get the latest <strong>vsftpd<\/strong> version. Run the command:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt-get update<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Wait until the update finishes and proceed with the <strong>vsftpd<\/strong> installation using this command:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt-get install vsftpd<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>You will be prompted with a confirmation message. Type <strong>Y<\/strong> and hit <strong>Enter<\/strong> to continue with the <strong>vsftpd<\/strong> daemon installation.<\/li>\n\n\n\n<li>After the installation is complete, back up the original file so you can start with a blank configuration file:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo cp \/etc\/vsftpd.conf \/etc\/vsftpd.conf.original<\/pre><h3 class=\"wp-block-heading\" id=\"h-2-allow-ftp-traffic-from-the-firewall\">2. Allow FTP traffic from the firewall<\/h3><p>After installing, configure your system&rsquo;s firewall rules to allow the Ubuntu FTP server to communicate via the internet. You can do so using the <a href=\"\/ph\/tutorials\/how-to-configure-firewall-on-ubuntu-using-ufw\/\">Ubuntu Uncomplicated Firewall<\/a> (UFW). Here are the steps:<\/p><ol class=\"wp-block-list\">\n<li>Start by checking whether the firewall is already installed on your server using this command:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo ufw status<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>If you see the <strong>ufw: command not found<\/strong> error, the Ubuntu firewall is not installed. Download and enable it by running the following commands subsequently. Skip this step if it is already configured:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo apt-get install ufw<\/pre><pre class=\"wp-block-preformatted\">sudo ufw enable<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Run this command to verify the firewall status:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo ufw status<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Once it&rsquo;s active, run these commands individually to make sure FTP traffic is allowed:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo ufw allow OpenSSH<\/pre><pre class=\"wp-block-preformatted\">sudo ufw allow 20\/tcp<\/pre><pre class=\"wp-block-preformatted\">sudo ufw allow 21\/tcp<\/pre><pre class=\"wp-block-preformatted\">sudo ufw allow 990\/tcp<\/pre><pre class=\"wp-block-preformatted\">sudo ufw allow 40000:50000\/tcp<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Run the following command again to verify that you have added the new firewall rules correctly:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo ufw status<\/pre><p>Check the Terminal output to ensure you have these ports open for the FTP server to work properly:<\/p><ul class=\"wp-block-list\">\n<li><strong>OpenSSH<\/strong> is required if you wish to access your server via SSH. Sometimes, this option is enabled by default.<\/li>\n\n\n\n<li>Ports <strong>20<\/strong> and<strong> 21<\/strong> for the FTP traffic.<\/li>\n\n\n\n<li>Ports <strong>40000:50000<\/strong> are reserved for the range of passive ports that will be set later in the configuration file.<\/li>\n\n\n\n<li>Port <strong>990<\/strong> allows TLS encryption when it is enabled.<\/li>\n<\/ul><p>Aside from UFW, Hostinger VPS users can ask <strong>Kodee<\/strong> to set up a new firewall rule on their server. For example, you can ask it, &ldquo;Open port <strong>20<\/strong>, <strong>21<\/strong>, <strong>22<\/strong>, <strong>990<\/strong>, and <strong>40000:50000 TCP<\/strong> on my server to any IP address.&rdquo;<\/p><h3 class=\"wp-block-heading\" id=\"h-3-create-the-user-directory\">3. Create the user directory<\/h3><p>After enabling communication for the protocol, create a new user that will use the FTP access. To do so, run the following:<\/p><pre class=\"wp-block-preformatted\">sudo adduser hostinger<\/pre><p>Replace the placeholder with your desired name. Then, enter a user password and fill in all the required details.<\/p><p>When configuring FTP, you should ideally restrict its access to one specific directory for security purposes. For this reason, <strong>vsftpd <\/strong>uses <strong>chroot jails<\/strong> to limit a local user to only their home directory by default.<\/p><p>However, <strong>vsftpd<\/strong> security might prevent non-FTP users from writing on their home directories. To solve this issue, create an FTP directory that acts as <strong>chroot<\/strong>, containing a writable folder for the transferred files. Here are the steps:<\/p><ol class=\"wp-block-list\">\n<li>Use the following command to create the FTP folder. Replace the account name accordingly:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo mkdir \/home\/hostinger\/ftp<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Then, set the ownership using the <a href=\"\/ph\/tutorials\/linux-chown-command\/\">chown command<\/a>:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo chown nobody:nogroup \/home\/hostinger\/ftp<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Remove the write permission:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo chmod a-w \/home\/hostinger\/ftp<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Now, use the following command to verify the permissions:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo ls -la \/home\/hostinger\/ftp<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>The output should look like this:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">total 8<\/pre><pre class=\"wp-block-preformatted\">dr-xr-xr-x 2 nobody nogroup 4096 Oct 8 11:32 .<\/pre><pre class=\"wp-block-preformatted\">drwxr-xr-x 3 hostinger  hostinger 4096 Oct 8 11:32 ..<\/pre><p>Hostinger VPS users can also use <strong>Kodee<\/strong> to list all files, including hidden ones, along with their permissions in a specific directory. All you need to do is ask something like &ldquo;Can you list all files, including hidden ones, in <strong>\/home\/hostinger\/ftp<\/strong> along with their permissions?&rdquo;<\/p><ol start=\"6\" class=\"wp-block-list\">\n<li>Next, create the directory to hold the files and assign ownership:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo mkdir \/home\/hostinger\/ftp\/files<\/pre><pre class=\"wp-block-preformatted\">sudo chown hostinger:hostinger \/home\/hostinger\/ftp\/files<\/pre><ol start=\"7\" class=\"wp-block-list\">\n<li>Finally, add a test file to the directory, which we will use to test everything later on:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">echo \"vsftpd sample file\" | sudo tee \/home\/hostinger\/ftp\/files\/sample.txt<\/pre><h3 class=\"wp-block-heading\">4. Configure vsftpd<\/h3><p>Next, configure <strong>vsftpd <\/strong>and the FTP access. In this example, we will allow a single user to connect using a local shell account. The two key configurations required for this are already set in the <strong>vsftpd.conf<\/strong> configuration file. Here are the steps:<\/p><ol class=\"wp-block-list\">\n<li>Open the <strong>vsftpd<\/strong> configuration file <a href=\"\/ph\/tutorials\/how-to-install-and-use-nano-text-editor\">using the nano command<\/a>:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo nano \/etc\/vsftpd.conf<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Check that the following settings exist:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\"># Allow anonymous FTP? (Disabled by default).\nanonymous_enable=NO\n#\n# Uncomment this to allow local users to log in.\nlocal_enable=YES<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Enable the <strong>write_enable <\/strong>parameter. To do so, uncomment it by removing the hash sign (<strong>#<\/strong>):<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">write_enable=YES<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Uncomment <strong>chroot_local_user<\/strong> and change the value to <strong>YES <\/strong>to limit FTP user access only to files within the allowed directory. In the file, there are two of these parameters, and you must do the same for both.<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">chroot_local_user=YES<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Next, add the <strong>user_sub_token<\/strong> setting in the<strong> local_root<\/strong> directory path at the bottom of the file. It will apply the configuration file to the current user and other accounts you add later:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">user_sub_token=$USER local_root=\/home\/$USER\/ftp<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Specify the number of ports at the bottom of the configuration file to ensure your FTP server can accept substantial connections. Your firewall rules must allow them:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">pasv_min_port=40000 pasv_max_port=50000<\/pre><ol start=\"7\" class=\"wp-block-list\">\n<li>To improve security, allow FTP access only to users specified in the configuration file. To do so, add the following parameter at the bottom. Ensure you set the <strong>userlist_deny<\/strong> flag to<strong> NO<\/strong>.<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">userlist_enable=YES userlist_file=\/etc\/vsftpd.userlist userlist_deny=NO<\/pre><ol start=\"8\" class=\"wp-block-list\">\n<li>Once done, press <strong>Ctrl + X<\/strong>, <strong>Y<\/strong>, and <strong>Enter<\/strong> to confirm the file changes.<\/li>\n\n\n\n<li>After tweaking the configuration, create a user list and add your FTP account to the file. Run the following command in Terminal:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">echo \"hostinger\" | sudo tee -a \/etc\/vsftpd.userlist<\/pre><ol start=\"10\" class=\"wp-block-list\">\n<li>Verify that the user is active by running the command below. Terminal should output the account name you added, which is &ldquo;<strong>hostinger<\/strong>&rdquo; in our case:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">cat \/etc\/vsftpd.userlist<\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/user-list-vsftpd.png\"><img decoding=\"async\" width=\"458\" height=\"40\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/user-list-vsftpd.png\" alt=\"Verify that hostinger is present inside the userlist\" class=\"wp-image-20671\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/user-list-vsftpd.png 458w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/user-list-vsftpd-150x13.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/user-list-vsftpd-300x26.png 300w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/><\/a><\/figure><\/div><ol start=\"11\" class=\"wp-block-list\">\n<li>Restart the FTP daemon using the following command to apply the changes:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo systemctl restart vsftpd<\/pre><h3 class=\"wp-block-heading\" id=\"h-5-secure-the-ftp-server\">5. Secure the FTP server<\/h3><p>Since FTP doesn&rsquo;t encrypt data by default, install an<strong> SSL\/TLS<\/strong> certificate to secure the file transfer. Here are the steps:<\/p><ol class=\"wp-block-list\">\n<li>Issue an SSL certificate for the Ubuntu FTP server. In our case, we will make a key that is valid for <strong>365 <\/strong>days and utilizes a<strong> 2048-bit<\/strong> private RSA key using this command:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout \/etc\/ssl\/private\/vsftpd.pem -out \/etc\/ssl\/private\/vsftpd.pem<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Enter the corresponding personal details in the prompted field.<\/li>\n\n\n\n<li>After you finish creating the certificate, open the <strong>vsftpd<\/strong> configuration file again:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo nano \/etc\/vsftpd.conf<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Scroll down to the end of the file, and you should find these two lines that start with <strong>rsa<\/strong>. If they are uncommented, add the hash sign:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\"># rsa_cert_file=\/etc\/ssl\/certs\/ssl-cert-snakeoil.pem\n# rsa_private_key_file=\/etc\/ssl\/private\/ssl-cert-snakeoil.key<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Now, point the configuration file to the newly created certificate. Add the following directories below the two lines:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">rsa_cert_file=\/etc\/ssl\/private\/vsftpd.pem\nrsa_private_key_file=\/etc\/ssl\/private\/vsftpd.pem<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Next, enable the SSL certificate and restrict the connection to only clients with an active certificate by adding this line:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">ssl_enable=YES<\/pre><ol start=\"7\" class=\"wp-block-list\">\n<li>Then, add the following lines to reject anonymous connections over SSL:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">allow_anon_ssl=NO\n\nforce_local_data_ssl=YES\n\nforce_local_logins_ssl=YES<\/pre><ol start=\"8\" class=\"wp-block-list\">\n<li>Enable the server to use TLS by adding the following parameters:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">ssl_tlsv1=YES\n\nssl_sslv2=NO\n\nssl_sslv3=NO<\/pre><ol start=\"9\" class=\"wp-block-list\">\n<li>Next, disable <strong>SSL reuse<\/strong> to prevent FTP clients from breaking down and use<strong> high <\/strong>encryption cipher suites to set the key lengths to <strong>128 <\/strong>bits or more. Do so by adding these lines:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">require_ssl_reuse=NO\n\nssl_ciphers=HIGH<\/pre><ol start=\"10\" class=\"wp-block-list\">\n<li>Save the file by pressing <strong>Ctrl + X<\/strong>, <strong>Y<\/strong>, and<strong> Enter<\/strong>.<\/li>\n\n\n\n<li>Finish by restarting <strong>vsftpd <\/strong>to apply the new configurations:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">sudo systemctl restart vsftpd<\/pre><p>Great work! You have now configured the FTP server on your Ubuntu VPS to work over the SSL\/TLS protocol.<\/p><h3 class=\"wp-block-heading\" id=\"h-6-test-the-connection-with-filezilla\">6. Test the connection with FileZilla<\/h3><p>The last step is to test whether your Ubuntu FTP server is working properly and securely. You can do so using an FTP client with encryption support. In this tutorial, we will use FileZilla.<\/p><p>After you download and install the <a href=\"\/ph\/tutorials\/ftp\/filezilla-ftp-configuration\">FileZilla FTP client<\/a> in your local system, follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>Launch FileZilla and click on the <strong>Site Manager <\/strong>icon in the top right corner below <strong>File<\/strong>.<\/li>\n\n\n\n<li>A new window will appear. Click the <strong>New Site <\/strong>button and enter your Ubuntu FTP server details.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/filezilla-new-site-button.png\"><img decoding=\"async\" width=\"1022\" height=\"778\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/filezilla-new-site-button.png\" alt=\"The New Site button in FileZilla\" class=\"wp-image-104751\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/filezilla-new-site-button.png 1022w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/filezilla-new-site-button-300x228.png 300w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/filezilla-new-site-button-150x114.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/filezilla-new-site-button-768x585.png 768w\" sizes=\"(max-width: 1022px) 100vw, 1022px\" \/><\/a><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Enter your newly created Ubuntu FTP server information in the corresponding fields. Since we configured it to use TLS, choose the <strong>Use explicit FTP over TLS <\/strong>option. The final configuration should look like this:<\/li>\n<\/ol><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/connecting-ftp-filezilla.png\"><img decoding=\"async\" width=\"922\" height=\"618\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/connecting-ftp-filezilla.png\" alt=\"Fill in the requried columns to connect to Ubuntu FTP server\" class=\"wp-image-20680\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/connecting-ftp-filezilla.png 922w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/connecting-ftp-filezilla-150x101.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/connecting-ftp-filezilla-300x201.png 300w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/connecting-ftp-filezilla-768x515.png 768w\" sizes=\"(max-width: 922px) 100vw, 922px\" \/><\/a><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Click <strong>Connect<\/strong>, and a screen asking you to enter the FTP user&rsquo;s password will appear. Fill in the credentials and hit <strong>OK<\/strong>.<\/li>\n\n\n\n<li>Finally, verify the SSL certificate of your Ubuntu VPS FTP server. After confirming, the root directory with the test file should appear on your screen.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/ubuntu-ftp-server-connection-1.png\"><img decoding=\"async\" width=\"1024\" height=\"781\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2018\/01\/ubuntu-ftp-server-connection-1-1024x781.png\" alt=\"The file explorer for connected FTP server in FileZilla\" class=\"wp-image-104752\" srcset=\"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/ubuntu-ftp-server-connection-1-1024x781.png 1024w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/ubuntu-ftp-server-connection-1-300x229.png 300w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/ubuntu-ftp-server-connection-1-150x114.png 150w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/ubuntu-ftp-server-connection-1-768x586.png 768w, https:\/\/www.hostinger.com\/ph\/tutorials\/wp-content\/uploads\/sites\/44\/2018\/01\/ubuntu-ftp-server-connection-1.png 1119w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><\/div><p>That&rsquo;s all! Now, you can perform various file transfers from your computer to the Ubuntu FTP server and vice versa.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>Setting up an Ubuntu FTP server simplifies file transfer between your remote server and local computer, improving development efficiency. In addition, it enhances security and ensures reliable connection by utilizing the SSL\/TLS and TCP\/IP protocols.<\/p><p>In this tutorial, we have explored how to set up an FTP server on an Ubuntu VPS using <strong>vsftpd<\/strong> in six steps. Here is a recap:<\/p><ol class=\"wp-block-list\">\n<li>Install <strong>vsftpd <\/strong>on your Ubuntu server and back up the original configuration file.<\/li>\n\n\n\n<li>Allow FTP connections through the firewall.<\/li>\n\n\n\n<li>Create a user directory accessible only for specified accounts.<\/li>\n\n\n\n<li>Configure the<strong> vsftpd<\/strong> settings.<\/li>\n\n\n\n<li>Secure the FTP server using <strong>SSL\/TLS<\/strong>.<\/li>\n\n\n\n<li>Test your FTP connection with<strong> FileZilla<\/strong>.<\/li>\n<\/ol><p>Before setting up the FTP, remember to connect to your VPS via SSH and create a new superuser account. If you encounter difficulties during the process, use <strong>Kodee <\/strong>to help troubleshoot the issue quickly.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>File Transfer Protocol (FTP) is a method for sharing files between computers over the internet using the TCP\/IP protocol. It incorporates a client-server framework and Secure Sockets Layer (SSL) to ensure secure data transfer. FTP is similar to the Hypertext Transfer Protocol (HTTP) and Simple Mail Transfer Protocol (SMTP) but handles a different data type. [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/ph\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"How to Set Up FTP Server on Ubuntu VPS: The Ultimate Guide","rank_math_description":"FTP is an important protocol to transfer files between computers via internet. Read this article to learn how to set up Ubuntu FTP Server.","rank_math_focus_keyword":"ubuntu ftp server, Ubuntu FTP server","footnotes":""},"categories":[22639],"tags":[],"class_list":["post-5468","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-configurar-servidor-ftp-en-ubuntu","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-membuat-ftp-server","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-configurar-servidor-ftp-en-ubuntu","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-configurar-servidor-ftp-en-ubuntu","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-configurar-servidor-ftp-en-ubuntu","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-setup-ftp-server-on-ubuntu-vps","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts\/5468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/comments?post=5468"}],"version-history":[{"count":54,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts\/5468\/revisions"}],"predecessor-version":[{"id":126672,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/posts\/5468\/revisions\/126672"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/media?parent=5468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/categories?post=5468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/ph\/tutorials\/wp-json\/wp\/v2\/tags?post=5468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}