How to change ftp port – cpanel

The ftp – service is for file transfer. The default port for ftp services are 20 and 21.

Port 20: Data transfer port
Port 21: Connection port

How to change ftp port – cPanel ?
We can change the default value of ftp port from its configuration file. The first and importent step is to find which ftp service is currently running on the server.

Step 1: SSH to server:

[root@spr ]# ssh root@IpAddress

Step 2: Find the ftp service:

[root@server ]# netstat -ntlp|grep :21
tcp        0      0        *                   LISTEN      3582/pure-ftpd (SER
tcp        0      0 :::21                       :::*                        LISTEN      3582/pure-ftpd (SER

In this case the ftp server is pure-ftpd.

Step 3: Change the port number:
3.1 : Pure-FTP
The configuration file for Pure-FTP service is ‘/etc/pure-ftpd.conf’
Edit the conf file:

[root@server ]# vim  /etc/pure-ftpd.conf
# IP address/port to listen to (default=all IP and port 21).
# Bind            ,21

Edit /etc/chkserv.d/ftpd and change the port, which is the first comma-separated entry to the right of ‘=’ on the line in the file, to match the port you put the service on. Then restart the service.

[root@server ]# /etc/init.d/pure-ftpd restart 
[root@server ]# /etc/init.d/cpanel restart (restarts tailwatchd/chkservd) 

3.2 : ProFTP
The configuration file is ‘/etc/proftpd.conf’. Edit /etc/proftpd.conf and change the port value.

[root@server ]# vim /etc/proftpd.conf
Port                   21

Then restart the service:

[root@server ]# /etc/init.d/proftpd start
[root@server ]# /etc/init.d/cpanel restart (restarts tailwatchd/chkservd) 

Step 4: If necessary, add the new FTP port to your server’s firewall.

[root@server ]# iptables -A INTUP -p tcp --dport "new" -j ACCEPT
[root@server ]# iptables -A OUTTUP -p tcp --dport "new" -j ACCEPT

Thank you.

Related links:
How to reset SSH port from WHM
How to change cpanel port through command line
How to change the apache port via command line in cpanel

Arunlal Ashok

DevOps (Server & Cloud infrastructure) Engineer. I'm dealing Linux servers since 2012. I started this blog to share and discuss my ideas. Always happy for an open discussion! Write to arun (@) crybit (dot) com

You may also like...

1 Response

  1. Chad says:

    Hi, so this is done mainly for security reasons?

Leave a Reply

Your email address will not be published. Required fields are marked *