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.
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!
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 [~]#
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!