How to Set up an FTP Server in Ubuntu Linux
Part 1 of 4:
Installing the FTP Framework
-
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.
-
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.
-
Enter the VSFTPD install command. Type sudo apt-get install vsftpd into Terminal, then press ↵ Enter. -
Enter your password. Type in the password that you use to log into your computer, then press ↵ Enter. -
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. -
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
-
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. -
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.
-
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
-
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
-
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.
-
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.
-
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. -
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
-
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.
-
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.
-
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. -
Save your list. Press Ctrl+X, type in y, and press ↵ Enter. Your list will be saved. -
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
-
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.
-
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.
-
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.
-
Click File. It's in the top-left corner of the FileZilla window. Doing so prompts a drop-down menu. -
Click Site Manager…. You'll find this option in the drop-down menu. The Site Manager window will open. -
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. -
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] -
Add the forwarded port number. Type 21 into the "Port:" text field. -
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. -
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




























