How To Set Up ProFTPD on Ubuntu 12.04

Published on June 19, 2012
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.


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

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about our products

About the authors

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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? :|


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



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.

Kamal Nasser
DigitalOcean Employee
DigitalOcean Employee badge
August 7, 2014

@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

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel