How to Install and Configure ProFTPD FTP Server on Ubuntu 14.04

ProFTPD (short for Pro FTP daemon) is a popular open-source FTP server. It’s an alternative to vsftpd. For those who run virtual private server (VPS) or dedicated server to host your blog or website, I would recommend you to install FTP service, it will be easy for you to upload and retrieved any files to the server. This post describes the steps to install and configure ProFTPD FTP Server on Ubuntu 14.04.

1. Install ProFTPD :

ehowstuff@ubuntu14:~$ sudo apt-get install proftpd -y

2. Open proftpd configuration file and make a few changes :

ehowstuff@ubuntu14:~$ sudo vi /etc/proftpd/proftpd.conf

a. Turn off if not needed

UseIPv6                         off

b. Change the hostname

ServerName                      "Ubuntu14.ehowstuff.local"

c. Specify root directory for chroot by uncomment this line. This will limit users to their home directory only :

DefaultRoot                     ~

Full example :

#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes, reload proftpd after modifications, if
# it runs in daemon mode. It is not required in inetd/xinetd mode.
#

# Includes DSO modules
Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6                         off
# If set on you can experience a longer connection delay in many cases.
IdentLookups                    off

ServerName                      "Ubuntu14.ehowstuff.local"
ServerType                      standalone
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayChdir                    .message true
ListOptions                     "-l"

DenyFilter                      \*.*/

# Use this to jail all users in their homes
DefaultRoot                     ~

..

3. Add any users that you disallowed to use FTP connection. Remove root if you want to allow root :

ehowstuff@ubuntu14:~$ sudo vi /etc/ftpusers

By default below users are disallowed FTP access :

# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).

daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody

4. Restart ProFTPD :

ehowstuff@ubuntu14:~$ sudo /etc/init.d/proftpd restart
 * Stopping ftp server proftpd                                                               [ OK ]
 * Starting ftp server proftpd                                                               [ OK ]

5. Test FTP connection using FTP client.

or you can access FTP server via command line :
D:\>ftp 192.168.0.114 Connected to 192.168.0.114. 220 ProFTPD 1.3.5rc3 Server (Ubuntu14.ehowstuff.local) [192.168.0.114] User (192.168.0.114:(none)): ehowstuff 331 Password required for ehowstuff Password: 230 User ehowstuff logged in ftp> ls 200 PORT command successful 150 Opening ASCII mode data connection for file list v3.1.12.zip ehowstuff.local.conf common.conf default-edited jcameron-key.asc index.html wordpress.conf public_html default 226 Transfer complete ftp: 132 bytes received in 0.02Seconds 8.25Kbytes/sec. ftp>
Thats all.