FTP Server Selection

cPanel offers three ftp server options that you can choose from. You can either log into the WHM and choose between these options or do it from the CLI. Both methods are explained below.

Your FTP server options

cPanel offers three different nameservers options. If you want to see the advantages and disadvantages of each you should log into the WHM and view the 'FTP Server Selection' where these are outlined. As of August 5th, 2014 the three options to choose from are Pure-FTPD, ProFTPD, or Disabled. Pure-FTPD is currently the default FTP server option and is deployed by default on new cPanel installs. If you do not need a FTP server we highly recommend that you select the disabled option!

Selecting a FTP server through the CLI

cPanel has provided a script that can be run via the command line that will allow you to choose your FTP server. You need to be logged into the server as root via the console or through SSH.

To get a list of available FTP servers you can simply run the script with no options like so.

root@server1 [~]# /usr/local/cpanel/scripts/setupftpserver
Usage: setupftpserver [options] <ftpserver>
 
Options:
  --force                    Run setup despite warnings that this may fail.
  --current                  Display the currently configured FTP server
  --enable-anonymous         Anonymous now defaults to off when moving from disabled. This option forces it on
 
FTP Servers:
  pure-ftpd  Recommended FTP server on cPanel systems
  proftpd    Alternate FTP server
  disabled   Disable local FTP functionality
 
root@server1 [~]#

Once you have made a decision you should run the script with any options and then the FTP Server type. The example below shows how to choose Pure-FTPD as your FTP server.

root@server1 [~]# /usr/local/cpanel/scripts/setupftpserver pure-ftpd
 
Chksrvd monitoring is disabled
 
Switching FTP server to pure-ftpd
 
Updating FTP related RPMs
[20140805.173832]
[20140805.173832]   Problems were detected with cPanel-provided files which are RPM controlled.
[20140805.173832]   If you did not make these changes intentionally, you can correct them by running:
[20140805.173832]
[20140805.173832]   > /usr/local/cpanel/scripts/check_cpanel_rpms --fix
[20140805.173832]   The following RPMs are missing from your system:
[20140805.173832]   pure-ftpd-1.0.36-10.cp1136
[20140805.173833]   Removing 0 broken rpms:
[20140805.173833]   rpm: no packages given for erase
[20140805.173833]   Downloading http://httpupdate.cpanel.net/RPM/11.36/centos/6/x86_64/rpm.md5
[20140805.173833]   Downloading http://httpupdate.cpanel.net/RPM/11.36/centos/6/x86_64/pure-ftpd-1.0.36-10.cp1136.x86_64.rpm
[20140805.173834]   Hooks system enabled
[20140805.173834]   Checking for and running RPM::Versions 'pre' hooks for any RPMs about to be installed
warn [check_cpanel_rpms] program "/scripts/preftpup" is not executable
[20140805.173834]   All required 'pre' hooks have been run
[20140805.173834]   No RPMS need to be uninstalled
[20140805.173834]   Installing new rpms: pure-ftpd-1.0.36-10.cp1136.x86_64.rpm
[20140805.173834]   Preparing packages for installation...
[20140805.173834]   pure-ftpd-1.0.36-10.cp1136
[20140805.173840]   Waiting for ftpserver to restart.........finished.
[20140805.173840]
[20140805.173840]   pure-ftpd (pure-ftpd (SERVER)) running as root with PID 13545 (process table check method)
[20140805.173840]   pure-authd (/usr/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/local/cpanel/bin/pureauth) running as root with PID 13547 (pidfile check method)
[20140805.173840]
[20140805.173840]   ftpserver started ok
[20140805.173840]   Prelinking is disabled.
[20140805.173840]   Checking for and running RPM::Versions 'post' hooks for any RPMs just installed
warn [check_cpanel_rpms] program "/scripts/postftpinstall" is not executable
warn [check_cpanel_rpms] program "/scripts/postftpup" is not executable
[20140805.173840]   All required 'post' hooks have been run
Waiting for ftpserver to restart.........finished.
 
pure-ftpd (pure-ftpd (SERVER)) running as root with PID 13651 (process table check method)
pure-authd (/usr/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/local/cpanel/bin/pureauth) running as root with PID 13653 (pidfile check method)
 
ftpserver started ok
Enabling pure-ftpd in init system
 
Enabling chksrvd monitoring
 
FTP server conversion complete
root@server1 [~]#

Selecting a FTP server through the WHM

In order to do this you must have root access into the WHM. Start by logging into the WHM, on the left hand side scroll down to the 'Service Configuration' section. Next find the 'FTP Server Selection' link and click it. From there you will see a list of available FTP servers. Your current FTP server will be selected by default. Select your new FTP server and click save. It's as simple as that!