When transferring files to or from your ftp server you will need to have passive ports defined in pure-ftpd and allowed in the firewall.
These are often not defined correctly by pure-ftpd or your firewall, even though you may be using CWP.
First define the Passive Port Range in the pure-ftpd config file
nano /etc/pure-ftpd/pure-ftpd.conf
Uncomment (remove # at beginning of the line) PassivePortRange and specify the passive port range:
PassivePortRange 30000 50000
* If this line is missing then simply add it at the end of the file.
Restart pure-ftpd to load the new configuration
service pure-ftpd restart
Then define the port range in the CSF firewall configuration (if you're using CWP)
In the file /etc/csf/csf.conf add the same port range under TCP_IN and TCP_OUT
nano /etc/csf/csf.conf
In lines TCP_IN and TCP_OUT add 30000:50000, example
# Allow incoming TCP ports TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2030,2031,30000:50000,6666" # Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,2030,2031,30000:50000,993,995"
Finally reload csf firewall configuration
csf -r