Proftpd is an open source, highly configurable and secure FTP server. It was designed to be light-weight even cannot hack on any other server.

Features are,

Proftpd Easy configuration
Configure Multiple virtual FTP
anonymous FTP services.
Available secure code for administrator and developers
Allows SQL databases, LDAP servers, SSL/TLS encryption,


First, we need to download proftpd packages with latest version using wget command and extract that file from the archive you downloaded.

# cd /root/download/

# wget

# tar -xf proftpd-1.3.5.tar.gz

Configure and install proftpd by below executable commands,
# ./configure --prefix=/usr --with-includes=/usr/local/ssl/include --with-libraries=/usr/local/ssl/lib --enable-openssl --with-modules=mod_sftp --enable-dso

# make &&  make install

Find out the installed location of Whereis command,
# whereis proftpd
proftpd: /usr/sbin/proftpd /etc/proftpd /usr/etc/proftpd.conf /usr/lib/proftpd /usr/include/proftpd /usr/share/man/man8/proftpd.8

Good to know the version being used, configuration details, which modules have been installed, configuration file location everything can get by a single command,

proftpd -V
Compile-time Settings:
  Version: 1.3.5 (stable)
  Platform: LINUX [Linux 2.6.32-71.29.1.el6.x86_64 x86_64]
  Built: Fri Jun 27 2014 18:19:47 IST
  Built With:
    configure  '--prefix=/usr' '--with-includes=/usr/local/ssl/include' '--with-libraries=/usr/local/ssl/lib' '--enable-openssl' '--with-modules=mod_sftp' '--enable-dso'

  CFLAGS: -O2 -Wall
  LDFLAGS: -L$(top_srcdir)/lib  -L/usr/local/ssl/lib
  LIBS:  -lssl -lcrypto -lssl -lcrypto -L$(top_srcdir)/lib/libcap -lcap  -lpam  -lcrypto -lz -lsupp -lcrypt -ldl

    Configuration File:
    Pid File:
    Scoreboard File:
    Header Directory:
    Shared Module Directory:

Configure Secure FTP :

We have to modify a few configuration for connecting secure FTP so, update below changes in proftpd. conf file.

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                   on
SFTPEngine on
SFTPLog /etc/proftpd/sftp.log
AuthPAM off

# Port 21 is the standard FTP port.
Port                            1591

# Don't use IPv6 support by default.
UseIPv6                         off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPAuthorizedUserKeys file:/root/.ssh/authorized_keys
SFTPCompression delayed
MaxLoginAttempts 4

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30

# Set the user and group under which the server will run.
User                            root
Group                           nobody

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~
AuthUserFile                    /etc/proftpd/passwd.vhosts

# Normally, we want files to be overwriteable.
AllowOverwrite          on

# Bar use of SITE CHMOD by default


# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire section.

  User                          ftp
  Group                         ftp

  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp

  # Limit the maximum number of anonymous logins
  MaxClients                    20

  # We want 'welcome.msg' displayed at login, and '.message' displayed
  # in each newly chdired directory.
  DisplayLogin                  welcome.msg
  DisplayChdir                  .message

  # Limit WRITE everywhere in the anonymous chroot

How to start, stop, restart proftpd,

Run below commands can start Proftpd every time the computer boots Linux.3
# cp /root/download/proftpd-1.3.5/contrib/dist/rpm/proftpd.init.d /etc/init.d/proftpd

# cd /etc/init.d

# chmod 0755 proftpd

Once you have done the configuration start proftpd
# /etc/init.d/proftpd start
Starting proftpd:                                          [  OK  ]

#/etc/init.d/proftpd stop
Shutting down proftpd:                                 [  OK  ]

# /etc/init.d/proftpd status
proftpd (pid 15377) is running...

Be ensure whether the proftpd is connecting to the port  : 1591

#netstat -anp | grep proftpd
tcp        0      0     *                   LISTEN      15377/proftpd      
unix  2      [ ]         DGRAM                    78418226 15377/proftpd    

Now, you can connecting secure FTP using Filezilla  or any other file transfer tool.