There are numerous ports that should be open on your cPanel server, this document will try to maintain and up to date record of all of these ports:
port service protocol direction 20 ftp tcp inbound/outbound 21 ftp tcp,udp inbound/outbound 22 ssh tcp inbound 25 smtp tcp inbound/outbound 26 smtp tcp inbound/outbound  37 rdate tcp outbound 43 whois tcp outbound 53 DNS tcp/udp inbound/outbound  80 http tcp inbound/outbound 110 pop3 tcp inbound 113 ident tcp outbound 143 imap4 tcp inbound 443 https tcp inbound 465 smtp tls/ssl tcp/udp inbound/outbound 873 rsync tcp/udp outbound 953 bind9 tcp outbound  993 imap4 ssl tcp inbound 995 pop3 ssl tcp inbound 2082 cpanel tcp inbound 2083 cpanel ssl tcp inbound 2086 whm tcp inbound 2087 whm ssl tcp inbound 2089 cp licence tcp outbound 2095 Webmail tcp inbound 2096 Webmail SSL tcp inbound 3306 mysql tcp inbound 6666 chat tcp inbound 50000 ftp tcp inbound  through 50400 ftp tcp inbound
 Only in use if Exim-26 is enabled in WHM, in order to allow those customers who's ISP block port 25 outgoing to use your SMTP servers.
 Inbound is only needed if you run a public nameserver.
 Only needed if you connect to MySQL remotely.
 Only needed if you use a trust relationship for your nameservers
 For Passive mode FTP you should open up twice as many FTP ports as you plan on having clients, assuming you will have 200 clients, 400 ports should be open. You will also need to specify which ports the FTP daemon should use.