// Tutorial //

How To Set Up ProFTPD on Ubuntu 12.04

Published on June 19, 2012
Default avatar
By Etel Sverdlov
Developer and author at DigitalOcean.
How To Set Up ProFTPD on Ubuntu 12.04

Status: Deprecated

This article covers a version of Ubuntu that is no longer supported. If you are currently operate a server running Ubuntu 12.04, we highly recommend upgrading or migrating to a supported version of Ubuntu:

Reason: Ubuntu 12.04 reached end of life (EOL) on April 28, 2017 and no longer receives security patches or updates. This guide is no longer maintained.

See Instead:
This guide might still be useful as a reference, but may not work on other Ubuntu releases. If available, we strongly recommend using a guide written for the version of Ubuntu you are using. You can use the search functionality at the top of the page to find a more recent version.

About ProFTP

ProFTPD is a popular ftp server. Because it was written as a powerful and configurable program, it is not necessarily the lightest ftp server available for virtual servers.

Warning: FTP is inherently insecure! Consider configuring ProFTPd to use SFTP, a secure alternative to FTP implemented under SSH.

Step One—Install ProFTP

You can quickly install ProFTP on your VPS in the command line:

sudo apt-get install proftpd

While the file is installing, you will be given the choice to run your VPS as an inetd or standalone server. Choose the standalone option.

Once the file finishes downloading, the ProFTPD server will be on your droplet. However, we still have to make a few changes to the configuration.

Step Two—Configure ProFTP

Once ProFTPD is installed, you can make the needed adjustments in the configuration. Unlike some other FTP configurations, ProFTPD disables anonymous login from the outset and we only need to make a couple of alterations in the config file.

Open up the file:

sudo nano /etc/proftpd/proftpd.conf

Go ahead and make a few changes:

  • Change the Server Name to your host name
  • ServerName                      "example.com"
  • Uncomment the line that says Default Root. Doing so will limit users to their home directory.
  • # Use this to jail all users in their homes
     DefaultRoot                    ~

Once you have finished those adjustments, you can save and exit.

Restart after you have made all of your changes:

sudo service proftpd restart

Step Three—Access the FTP server

Once you have installed the FTP server and configured it to your liking, you can now access it.

You can reach an FTP server in the browser by typing the domain name into the address bar and logging in with the appropriate ID. Keep in mind, you will only be able to access the user's home directory when connecting to the virtual server.

ftp://example.com

Alternatively, you can reach the FTP server through the command line by typing:

 ftp example.com

Then you can use the word, "exit," to get out of the FTP shell.

By Etel Sverdlov

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in our Questions & Answers section, find tutorials and tools that will help you grow as a developer and scale your project or business, and subscribe to topics of interest.

Sign up
About the authors
Default avatar
Developer and author at DigitalOcean.

Still looking for an answer?

Was this helpful?
10 Comments

I do not have login and ftp access, how can I access it?

Hello. You forget few moments. By default port 21 is blocked via firewall and better way is create different ftp user. So, step 4: (add shell) add to /etc/shells /bin/false

step 5: (need add ftp user) useradd ftpusername -p passwordforftpuser -d /var/www/html -s /bin/false

step 6: (change password for this user) passwd ftpusername

step 7: (open default ftp port, 21)

for check opened ports type: ufw status verbose and press enter if don’t see 21 in column “To” type ufw allow 21 (for ipv6) and press enter. Then type ufw allow 21/tcp (for ipv4) and press enter. Done.

Now you can connect to your ftp with ftpusername and password was added earlier.

So I’m using ProFTPd but only connect once every few weeks to transfer file and update a web application.

My problem is this: when I try to connect, ProFTPd is usually down (given that it’s been a while since my last login) and I’m forced to login to the console/terminal and restart it. Then I can connect without a problem (I use Filezilla).

Does anyone know why ProFTPd will shut down regularly - is it a configuration issue? :|

Hi

Do you have any information on how to update proftpd 1.5.3rc3 to 1.3.6? The is an vulnerability in 1.5.3 apparently for mod_copy which is resolved in 1.36

Thanks

Matt

Ok so everytime I login it gives me the error:

530 Login incorrect. Login failed. Remote system type is UNIX Using binary mode to transfer files. ftp>

So I need to login with the same credentials of the vps?

When I access via browser it asks for login, then I try my default root and I’m unable to login…

When I start on a fresh clean server with nothing else done to it and run these directions to the T…when I get to the step to Resttart the server after saving the config file…it will not restart…it simply says this “ProFTPD warning: cannot start neither in standalone nor in inetd/xinetd mode. Check your configuration.” I have tried everything with no luck =( I just need FTP on this server so that another server can FTP backup files to this server…the other server is a shared hosting website and cannot run other programs it has a script that will FTP files though so I need FTP working! Any ideas on what could be wrong? MY server is brand new with Ubuntu 14.xx

True beginner here. I opened up the Console for my droplet and got the terminal, then entered: sudo apt-get install proftpd

and nothing happens.

Am I supposed to do it in the Console access this way or do I have to access it through PuTTY then enter the command line above? It shouldn’t matter right?

I have followed this tutorial but I can not connect.

After doing in the terminal “ftp servername” and being prompted for the username and password, I get the answer:

421 Service not available, remote server has closed connection Login failed. No control connection for command: No such file or directory

I did this command: sudo netstat -plutn | grep :21

and I get:

tcp6 0 0 :::21 :::* LISTEN 22380/proftpd: (acc

I can ssh with the credentials I have used (a user of the system)…I have defined a new user on the database ftpd on phpmyadmin and I can’t also connect with that user…

Can anyone help me to sort this out?

Thank you.

@scott.xdarkaurax: Is ProFTPd running and listening on port 21? What’s the output of the following command?

sudo netstat -plutn | grep :21

Try starting ProFTPd:

sudo service proftpd start