# This is a basic ProFTPD configuration file
ServerName "ProFTPD"
Servertype inetd
DefaultServer on
Port 21
UseReverseDNS off
MaxInstances 30
User nobody
Group nobody
LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)"
LogFormat write "%t : %u : %F (%a)"
LogFormat read "%t : %u : %F (%a)"
LogFormat auth "%t : %u (%a [%h])"
<Global>
Umask 022
AuthPAMAuthoritative On
AuthPAMConfig ftp
TimesGMT off
IdentLookups off
</Global>
# First virtual server
<VirtualHost 192.168.1.100>
ServerName "example.zive.net FTP Server"
MasqueradeAddress exampleftp.zive.net
PassivePorts 5000 5029
DefaultRoot ~/public_html users,!wheel
ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read
ExtendedLog /var/log/proftpd/auth.log AUTH auth
<Directory />
AllowOverwrite on
</Directory>
<Limit LOGIN>
DenyGroup !users
</Limit>
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/tls.log
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
TLSRequired off
TLSRSACertificateFile /usr/local/certs/server0.crt
TLSRSACertificateKeyFile /usr/local/certs/server0.key
TLSVerifyClient off
</IfModule>
# A basic anonymous configuration, no upload directories.
<Anonymous ~ftp>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 20
DisplayLogin welcome.msg
DisplayFirstChdir .message
<Limit LOGIN>
AllowAll
</Limit>
<Directory *>
<Limit WRITE>
Order allow, deny
Allow from 127.0.0.1, 192.168.0.0/23
Deny from all
</Limit>
</Directory>
</Anonymous>
</VirtualHost># Another virtual server
<VirtualHost 192.168.1.101>
ServerName "ftp.example.com FTP server"
MasqueradeAddress 111.222.111.222
PassivePorts 5000 5029
DefaultRoot /var/www
<Directory /var/www>
AllowOverwrite on
</Directory>
<Limit LOGIN>
DenyGroup !example
</Limit>
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd/example-tls.log
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
TLSRequired off
TLSRSACertificateFile /usr/local/certs/server1.crt
TLSRSACertificateKeyFile /usr/local/certs/server1.key
TLSVerifyClient off
</IfModule>
ExtendedLog /var/log/proftpd/example-all.log ALL allinfo
ExtendedLog /var/log/proftpd/example-write.log WRITE write
ExtendedLog /var/log/proftpd/example-read.log READ read
ExtendedLog /var/log/proftpd/example-auth.log AUTH auth
</VirtualHost>