Pure-ftpd and firewalls
From CPanelDirect
If you place a firewall on your server you need to enable the passive section in /etc/pure-ftpd.conf.
Error
The error may look similar to this
Connecting FTP data socket... The connection failed due to an error or timeout.
In the end it seems to try to connect but timeout before that happens or timeout during an LS.
Enabling PassivePortRange
Edit /etc/pure-ftpd.conf and look for the line PassivePortRange
Make sure the comment # is removed and change it to
PassivePortRange 50000 51000
Restart ftp with /scripts/restartsrv_pureftpd
If you run the APF firewall, in /etc/apf/conf.apf change add 50000_51000 to IG_TCP_CPORTS= and restart apf with apf -r
Your firewall may vary.

