ProFTPD sending email error messages
Q My Linux server is running ProFTPD, and every day I get these error messages in my mail:
'fred.co.uk - notice: 'Freds FTP Server' (x.x.x.x:21) already bound to 'ProFTPD'
fred.co.uk - bindings.c:774: notice: unable to create ipbind 'x.x.x.x': Address already in use fred.co.uk
(x.x.x.x[x.x.x.x]) - FTP session opened'.
Where can I look to get rid of this? FTP is working fine so I don't think it's a 'real' problem.
A This is quite a common message and can have several causes - here's the most likely one. ProFTPD can be run in two ways, called standalone and inetd respectively. In standalone mode ProFTPD runs as a daemon and answers incoming FTP requests. When run with the inetd option ProFTPD is run by the super server inetd, which invokes ProFTPD when it receives traffic on port 21. It is possible to have ProFTPD running as a daemon and still have inetd/xinetd configured to listen on port 25. You can check the PID of the process listening to this port with the command
fuser -n tcp 21
and what process is running under that PID with
ps -ef | grep xxxxx
where xxxxx is the PID. If you have virtual FTP hosts configured in proftpd.conf you also need to be aware that if ProFTPD is configured to run under inetd then port-based virtual hosts are not supported (it may be possible to play with your inetd configuration and /etc/services to get this to work but this is not something I have tried). The only types of virtual host that you can configure are IP-based. If you are running under inetd and you have a virtual host whose name or IP resolves back to the IP being used by your global ProFTPD configuration (that is actually being used by inetd), you will get this 'unable to bind' error message that you quoted. Each virtual host needs a separate IP. When run as a daemon ProFTPD also supports port-based virtual hosts. So you will need to check what service is listening to port 21, how the ProFTPD service is configured to run and that it does not conflict with your inetd configuration. If you are running under inetd your virtual host should be running on different IPs.
Follow us on Identi.ca or Twitter