Table of Contents
Part 1 of 4:
Installing the FTP Framework
-
Images 1 of How to Set up an FTP Server in Ubuntu Linux Make sure that Ubuntu is up-to-date. Ubuntu versions 17.10 and up have vastly different file paths than previous versions, so you'll need to upgrade to the latest version of Ubuntu if you haven't already done so:[1]- Open Terminal
- Type in sudo apt-get upgrade and press ↵ Enter.
- Type in your password and press ↵ Enter.
- Type in y when prompted, then press ↵ Enter.
- Wait for the upgrades to finish installing, then restart your computer if prompted.
-
Images 2 of How to Set up an FTP Server in Ubuntu Linux Open Terminal. Click the Applications menu ⋮⋮⋮, scroll down, and click the black-and-white Terminal icon to do so.- You can also just press Alt+Ctrl+T to open Terminal.
-
Images 3 of How to Set up an FTP Server in Ubuntu Linux Enter the VSFTPD install command. Type sudo apt-get install vsftpd into Terminal, then press ↵ Enter. -
Images 4 of How to Set up an FTP Server in Ubuntu Linux Enter your password. Type in the password that you use to log into your computer, then press ↵ Enter. -
Images 5 of How to Set up an FTP Server in Ubuntu Linux Wait for VSFTPD to install. This will take anywhere from 5 minutes to 20 minutes depending on your current FTP settings and your Internet connection, so be patient. -
Images 6 of How to Set up an FTP Server in Ubuntu Linux Install FileZilla. This is the program that you'll use to access and upload to your server. To install it:- Type in sudo apt-get install filezilla
- Enter your password again if prompted.
- Wait for the installation to complete.
Part 2 of 4:
Configuring the FTP Server
-
Images 7 of How to Set up an FTP Server in Ubuntu Linux Open the VSFTPD configuration file. Type in sudo nano /etc/vsftpd.conf and press ↵ Enter. You'll be editing this file to allow (or disable) certain VSFTPD features. -
Images 8 of How to Set up an FTP Server in Ubuntu Linux Allow local users to log into your FTP server. Use the arrow keys to scroll down to the# Uncomment this to allow local users to log in.heading, then remove the "#" from thelocal_enable=YESline below it.[2]- You can remove the "#" by using the arrow keys to select the letter in front of it (in this case, "l") and pressing the ← Backspace key.
- Skip this step if the
local_enable=YESline is already white.
-
Images 9 of How to Set up an FTP Server in Ubuntu Linux Allow FTP write commands. Scroll down to the# Uncomment this to enable any form of FTP write command.heading, then remove the "#" from thewrite_enable=YESline below it.- Skip this step if
write_enable=YESis already white.
- Skip this step if
-
Images 10 of How to Set up an FTP Server in Ubuntu Linux Disable ASCII mangling. Scroll all the way down to the# ASCII mangling is a horrible feature of the protocol.heading, then remove the "#" from the following two lines:ascii_upload_enable=YESascii_download_enable=YES
-
Images 11 of How to Set up an FTP Server in Ubuntu Linux Change the "chroot" settings. Scroll down to the# chroot)heading, then add the following lines:user_sub_token=$USERchroot_local_user=YESchroot_list_enable=YES- If any of these lines already exist, simply remove the "#" before each existing line.
-
Images 12 of How to Set up an FTP Server in Ubuntu Linux Change the default "chroot" settings. Scroll down to the(default follows)heading, then add the following lines:chroot_list_file=/etc/vsftpd.chroot_listlocal_root=/home/$USER/Public_htmlallow_writeable_chroot=YES- If any of these lines already exist, simply remove the "#" before each existing line.
-
Images 13 of How to Set up an FTP Server in Ubuntu Linux Enable the "ls recurse" option. Scroll down to the# You may activate the "-R" option...heading, then remove the "#" from thels_recurse_enable=YESline below it. -
Images 14 of How to Set up an FTP Server in Ubuntu Linux Save and exit the text editor. To do so:- Press Ctrl+X
- Type y
- Press ↵ Enter
Part 3 of 4:
Adding Usernames to the CHROOT List
-
Images 15 of How to Set up an FTP Server in Ubuntu Linux Open the "chroot" text file. Type in sudo nano /etc/vsftpd.chroot_list and press ↵ Enter.- You can skip to the last step in this part if you don't want to specify people who can access your FTP server.
-
Images 16 of How to Set up an FTP Server in Ubuntu Linux Enter your password. Type in the password that you use to log into Ubuntu and press ↵ Enter. This will open the "chroot" text file.- Skip this step if not asked for your password.
-
Images 17 of How to Set up an FTP Server in Ubuntu Linux Add usernames to the list. Type in your own username, press ↵ Enter, and repeat with any other usernames of people whom you want to have access their Home directories from within your server. -
Images 18 of How to Set up an FTP Server in Ubuntu Linux Save your list. Press Ctrl+X, type in y, and press ↵ Enter. Your list will be saved. -
Images 19 of How to Set up an FTP Server in Ubuntu Linux Restart VSFTPD. Type in sudo systemctl restart vsftpd and press ↵ Enter. This will stop and restart VSFTPD, ensuring that your changes have been saved. You can now access your FTP server.[3]
Part 4 of 4:
Accessing Your Server
-
Images 20 of How to Set up an FTP Server in Ubuntu Linux Determine your server's address. If you're paying for an FTP server through a hosting service (e.g., Bluehost), you'll need to know the service's IP address or regular address in order to connect to it.[4]- If you're hosting your own server from your computer, you'll use your computer's IP address, which you can figure out by entering ifconfig in Terminal and then reviewing the "inet addr" number.
- If "ifconfig" isn't installed, you can install it by entering sudo apt-get install net-tools in Terminal.
- If you're hosting your own server from your computer, you'll use your computer's IP address, which you can figure out by entering ifconfig in Terminal and then reviewing the "inet addr" number.
-
Images 21 of How to Set up an FTP Server in Ubuntu Linux Forward a port on your router. Once you know your server's IP address, you'll need to forward your router's port 21 slot to that address; make sure that the port uses TCP (not UDP or a mixture of the two).- Port forwarding varies from router to router, so be sure to check the linked article or your router's documentation for instructions.
-
Images 22 of How to Set up an FTP Server in Ubuntu Linux Open Filezilla. Type filezilla into Terminal and press ↵ Enter. After a moment, FileZilla will open.- If you want to connect via Terminal, you can try typing in ftp [address]. As long as your server is running and you have Internet access, this will attempt to connect to your FTP server; however, you may not be able to transfer files.
-
Images 23 of How to Set up an FTP Server in Ubuntu Linux Click File. It's in the top-left corner of the FileZilla window. Doing so prompts a drop-down menu. -
Images 24 of How to Set up an FTP Server in Ubuntu Linux Click Site Manager…. You'll find this option in the drop-down menu. The Site Manager window will open. -
Images 25 of How to Set up an FTP Server in Ubuntu Linux Click New Site. It's a white button in the lower-left side of the window. Doing so opens the New Site section of the Site Manager. -
Images 26 of How to Set up an FTP Server in Ubuntu Linux Enter your server's address. In the "Host:" text field, type in the address (or IP address) of the FTP server to which you want to connect.[5] -
Images 27 of How to Set up an FTP Server in Ubuntu Linux Add the forwarded port number. Type 21 into the "Port:" text field. -
Images 28 of How to Set up an FTP Server in Ubuntu Linux Click Connect. It's a red button at the bottom of the page. Doing so will prompt FileZilla to connect your computer to your FTP server. -
Images 29 of How to Set up an FTP Server in Ubuntu Linux Move files onto the server. You can click and drag folders from the left-hand window into the right-hand window to upload them to your FTP server page.
4.3 ★ | 3 Vote