Ecco come ho installato mod_tls (ftpes) e mod_sftp in proftpd. I miei tentativi di farli convivere in due demoni separati sono tutti falliti, giacchè ho registrato errori nel trasferimento che sono spariti solo quando ho provato a caricare mod_tls o mod_sftp a turno.
Questi i miei test sulla velocità (per la verità un po' frettolosi). ftpes sembra un pochino più veloce in modalità upload:
 
 ftpes
 upload: circa 22.4 K/s
 download: più di 800 K/s
 
 sftp
 upload circa 18.2 K/s
 download: più di 800 K/s
Le mie opzioni di configurazione:
./configure \
        --prefix=/usr/local \
        --without-pam --disable-auth-pam \
        --enable-openssl \
        --with-modules=mod_ratio:mod_readme:mod_sftp:mod_tls
file ftpes.conf
# common stuff goes here
Include /usr/local/etc/proftpd/proftpd.conf
<IfModule mod_tls.c>
TLSEngine on
PassivePorts 49152 65535
#MasqueradeAddress 012.345.678.901 # se il server e' dietro un firewall
TLSLog /var/log/proftpd/tls.log
TLSProtocol SSLv23
# Require protection on the control channel, but reject protection of the data channel
TLSRequired ctrl+!data
TLSRSACertificateFile /usr/local/etc/ssl/certs/proftpd.pem
TLSRSACertificateKeyFile /usr/local/etc/ssl/certs/proftpd.pem
TLSVerifyClient off
TLSRenegotiate none
</IfModule>
file sftp.conf
# common stuff
Include /usr/local/etc/proftpd/proftpd.conf
<IfModule mod_sftp.c>
SFTPEngine on
SFTPLog /var/log/proftpd/sftp.log
Port 22
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPCompression delayed
MaxLoginAttempts 6
</IfModule>
Infine avviare il demone richiamando il file di configurazione desiderato:
/usr/local/sbin/proftpd -c /usr/local/etc/proftpd/ftpes.conf # se si vuole ftpes /usr/local/sbin/proftpd -c /usr/local/etc/proftpd/sftp.conf # se si preferisce sftp
Non avviarli mai insieme.
file proftpd.conf
ServerType standalone
UseReverseDNS off
DeferWelcome off
Port 21
Umask 022
MaxInstances 30
User ftp
Group ftp
SystemLog /var/log/proftpd/proftpd.log
TransferLog /var/log/proftpd/xferlog
<Global>
<Directory /*>
AllowOverwrite on
</Directory>
</Global>
<VirtualHost 123.456.789.123>
ServerName "ProFTPD"
DefaultRoot ~/www
DefaultServer on
</VirtualHost>
Startup script
#!/bin/sh
#
# /etc/rc.d/rc.proftpd
#
start() {
        /usr/local/sbin/proftpd -c /usr/local/etc/proftpd/ftpes.conf
#-n -d 20 for backup
#        /usr/local/sbin/proftpd -c /usr/local/etc/proftpd/sftp.conf
        echo "Server started."
}
stop() {
        /bin/killall proftpd
        echo "Server stopped."
}
restart() {
        stop
sleep 3
        start
#/bin/killall -HUP proftpd
        echo "Server restarted."
}
case "$1" in
'start')
  start
  ;;
'stop')
  stop
  ;;
'restart')
  restart
  ;;
*)
  echo "usage $0 start|stop|restart"
esac


 
 