diff --git a/lib/configfiles/freebsd.inc.php b/lib/configfiles/freebsd.inc.php index b82bd43c..433ae021 100644 --- a/lib/configfiles/freebsd.inc.php +++ b/lib/configfiles/freebsd.inc.php @@ -331,6 +331,31 @@ return array( 'restart' => array( '/usr/local/etc/rc.d/proftpd restart' ) + ), + 'pure-ftpd' => array ( + 'label' => 'Pure-FTPd', + 'commands_1' => array ( + 'cd /usr/ports/ftp/pure-ftpd', + 'make config', + '# select LARGEFILE,MYSQL,PAM,PRIVSEP,SENDFILE,THROTTLING,TLS,UTF8,VIRTUALCHROOT', + 'make install clean' + ), + 'commands_2' => array( + 'touch /usr/local/etc/pure-ftpd.conf', + 'touch /usr/local/etc/pureftpd-mysql.conf', + 'chown root:0 /usr/local/etc/pure-ftpd.conf', + 'chown root:0 /usr/local/etc/pureftpd-mysql.conf', + 'chmod 0600 /usr/local/etc/pure-ftpd.conf', + 'chmod 0600 /usr/local/etc/pureftpd-mysql.conf', + 'echo "pure-ftpd_enable="YES" >> /etc/rc.conf' + ), + 'files' => array( + 'usr_local_etc_pure-ftpd.conf' => '/usr/local/etc/pure-ftpd.conf', + 'usr_local_etc_pureftpd-mysql.conf' => '/usr/local/etc/pureftpd-mysql.conf' + ), + 'restart' => array( + 'service pure-ftpd restart' + ) ) ) ), diff --git a/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pure-ftpd.conf b/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pure-ftpd.conf new file mode 100644 index 00000000..0f5d2c1d --- /dev/null +++ b/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pure-ftpd.conf @@ -0,0 +1,63 @@ +############################################################ +# Configuration file for pure-ftpd wrappers # +############################################################ +BrokenClientsCompatibility no +MaxClientsNumber 30 +Daemonize yes +MaxClientsPerIP 8 +VerboseLog no +DisplayDotFiles yes +AnonymousOnly no +NoAnonymous yes +SyslogFacility ftp +DontResolve yes +MaxIdleTime 10 +MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf +UnixAuthentication yes +LimitRecursion 10000 8 +AnonymousCanCreateDirs no +MaxLoad 4 +# Port range for passive connections replies. - for firewalling. +# PassivePortRange 30000 50000 +# Force an IP address in PASV/EPSV/SPSV replies. - for NAT. +# Symbolic host names are also accepted for gateways with dynamic IP addresses. +# ForcePassiveIP 192.168.0.1 +AntiWarez yes +# IP address/port to listen to (default=all IP and port 21). +# Bind 127.0.0.1,21 +# Maximum bandwidth for *all* users (including anonymous) in KB/s +# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense. +UserBandwidth 512 +# File creation mask. : - 177:077 if you feel paranoid. +Umask 133:022 +# Minimum UID for an authenticated user to log in. +MinUID 100 +# Allow FXP transfers for authenticated users. +AllowUserFXP no +# Allow anonymous FXP for anonymous and non-anonymous users. +AllowAnonymousFXP no +ProhibitDotFilesWrite no +ProhibitDotFilesRead no +AutoRename no +AnonymousCantUpload yes +# Disallow the CHMOD command. Users can't change perms of their files. +#NoChmod yes +# Allow users to resume and upload files, but *NOT* to delete them. +#KeepAllFiles yes +MaxDiskUsage 90 +CustomerProof yes +# This option can accept three values : +# 0 : disable SSL/TLS encryption layer (default). +# 1 : accept both traditional and encrypted sessions. +# 2 : refuse connections that don't use SSL/TLS security mechanisms, +# including anonymous sessions. +# Do _not_ uncomment this blindly. Be sure that : +# 1) Your server has been compiled with SSL/TLS support (--with-tls), +# 2) A valid certificate is in place, +# 3) Only compatible clients will log in. +# TLS 1 +# List of ciphers that will be accepted for SSL/TLS connections +# Prefix with -S: in order to totally disable SSL but not TLS. +# TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3 +# IPV4Only yes +# IPV6Only yes diff --git a/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pureftpd-mysql.conf b/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pureftpd-mysql.conf new file mode 100644 index 00000000..cca7aa9b --- /dev/null +++ b/templates/misc/configfiles/freebsd/pure-ftpd/usr_local_etc_pureftpd-mysql.conf @@ -0,0 +1,30 @@ +############################################## +# Pure-FTPd Mysql configuration file. # +# for use with Froxlor Panel # +############################################## +# Optional : MySQL server name or IP. Don't define this for unix sockets. +# MYSQLServer +# Optional : MySQL port. Don't define this if a local unix socket is used. +# MYSQLPort 3306 +# Optional : define the location of mysql.sock if the server runs on this host. +MYSQLSocket /tmp/mysql.sock +MYSQLUser +MYSQLPassword +MYSQLDatabase +MYSQLCrypt crypt +# \L is replaced by the login of the user trying to authenticate. +# \I IP address connect to # \P port number the user connected to. +# \R is replaced by the IP address the user connected from. # \D is replaced by the remote IP address, as a long decimal number. +MYSQLGetPW SELECT password FROM ftp_users WHERE username='\L' AND login_enabled="y" +MYSQLGetUID SELECT uid FROM ftp_users WHERE username='\L' AND login_enabled="y" +MYSQLGetGID SELECT gid FROM ftp_users WHERE username='\L' AND login_enabled="y" +MYSQLGetDir SELECT homedir FROM ftp_users WHERE username='\L' AND login_enabled="y" +#MySQLGetQTAFS SELECT QuotaFiles FROM ftp_users WHERE User='\L' +MySQLGetQTASZ SELECT panel_customers.diskspace/1024 AS QuotaSize FROM panel_customers, ftp_users WHERE username='\L' AND panel_customers.loginname = SUBSTRING_INDEX('\L','ftp', 1) +# Optional : ratios. The server has to be compiled with ratio support. +# MySQLGetRatioUL SELECT ULRatio FROM users WHERE User='\L' +# MySQLGetRatioDL SELECT DLRatio FROM users WHERE User='\L' +# Optional : bandwidth throttling. The server has to be compiled with throttling support. Values are in KB/s . +# MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='\L' +# MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='\L' +