When proftpd is configured to run on a different port (other than 21) then interworx thinks that it isn’t running. In reality proftpd is running fine on the new port. This is confirmed by connection from a remote host and running ‘ps ax | grep proftpd’ from a shell terminal session. Also interworx is inaccurately reporting the ftp port to be 21 when it has been configured in the proftpd.conf file to be something different.
The interface doesn’t currently support changing the port for proftpd, and therefore, if you do change the port, it will not reflect the status properly, as you have seen ;).
Ok. I had to shutoff automatic restart because it was thinking that the server wasn’t running. Is this something that is going to be changed in the future?
EDIT: OK. I’ve worked around it for now. It thinks it is running on port 21 when that isn’t even accessable from the outside world.
Changes are as follows.
Add SocketBindTight directive and set it to on. This makes it so ports are only assigned to the ip for that virtual host. The global port 21 will automatically only bind to localhost.
Setup 1 (or more) virtual hosts configured as follows. Make enough so that it covers the ips that you want serving ftp services.
This makes port 21 only bind to localhost and nothing else so even if port 21 was open on the firewall no one will be able to connect to it. However the stuff that interworx uses to check to see if the server is active will work since it only needs to check localhost. This also restricts which ip people connect to in order to upload stuff so add additional Virtual Hosts as needed.
EDIT (again): I’ve changed it above a little but I have found that using Virtual Hosts at all causes a 5 second lag. I don’t know why and it really depends on your connection speed it seems. None the less the lag was bad enough that I reverted back to my old setup and decided to just put up with the lame hack attempts at port 21.