Install An FTP Server With VSFTPD

FTP stands for File Transfer Protocol and is still a useful, if less secure, and quick way to transfer files from one computer to another. If you’ve enabled SSH, then SFTP (SSH File Transfer Protocol) is likely available and it’s truly a better option than FTP. If SFTP is an option, you should probably use it.

There are still people who prefer FTP and situations where FTP makes sense. I actually use it to transfer files around my home network with some regularity. Not only does it let me transfer files, I can also use the FTP application to do things like rename files, copy and move files, and even change file permissions. It’s more about the application at that point, I suppose. Of course, most FTP clients handle SFTP just fine these days.

FTP isn’t all that secure and, again, SFTP is likely a better option in every way, but VSFTPD is “VS” – meaning “Very Secure.” I mean, that’s what they claim – and they do have some security configuration options. So, it has that going for it.

Either way, this article is gonna tell you how to install it. What you do with that information is entirely up to you! If you do eventually want to use this information, there are a couple of previous articles that might suit your needs.

You might need to know about hostnames. Click here.
You may wish to know your IP address. Click here.

With that information read and at hand, let’s jump into installing VSFTPD!

Enable FTP with VSFTPD:

The reason I picked VSFTPD for this is because it’s pretty much universally available. It’s there for all the major distros, readily available in your default repositories. We’re not going to get deep into any configuration options, nor are we even going to discuss securing it. We’re simply going to install it and let you loose on the world!

To that end, why don’t we crack open our terminal? To do that, you can just use your keyboard – press CTRL + ALT + T and your default terminal should open. 

With that step done, let’s go ahead and install it:

Debian/Ubuntu:

Fedora/RHEL:

SEL/OpenSUSE:

Arch/Manjaro:

One of those should do the trick for the major distros. As much as I’d like to just leave it there, that’s not quite enough. I’ll also let you know that your configuration is largely done in  /etc/vsftpd.conf and you can use man vsftpd.conf to learn about configuring your new FTP server.

For the configuration basics, you’ll want to enable writing to the server (so that you can change files, including uploading them) and you’ll likely want to enable local access. Like other configuration files, you may need to remove the # from the start of the lines in order for them to be read and take effect. To comment out lines, you just add a # to the start of the line and the line will be ignored.

You can use nano, vim, or any plain text editor you want to edit the files. However, changes won’t take effect until after you restart the FTP server’s daemon. To do that, you use this command: