Installing Proftp on OpenSuse 11 Rumi, April 30, 2009 I want to use Proftpd instead of vsftpd which is SUSE’s default FTP server because the control panel software I am going to install on this server (ISPConfig) requires Proftpd on OpenSUSE 11 (on other distributions this is different). Since there are no OpenSUSE packages for Proftpd I have to compile it manually: yast2 -i libcap libcap-devel cd /tmp/ wget –passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.2rc1.tar.gz tar xvfz proftpd-1.3.2rc1.tar.gz cd proftpd-1.3.2rc1/ ./configure –sysconfdir=/etc make make install cd .. rm -fr proftpd-1.3.2rc1* Now create the file /etc/init.d/proftpd: vi /etc/init.d/proftpd #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Germany. # All rights reserved. # # Original author: Marius Tomaschewski <mt@suse.de> # # Slightly modified in 2003 for use with SuSE Linux 8.1, # by http://www.learnlinux.co.uk/ # # Slightly modified in 2005 for use with SuSE Linux 9.2, # by Falko Timme # # /etc/init.d/proftpd # ### BEGIN INIT INFO # Provides: proftpd # Required-Start: $network $remote_fs $syslog $named # Required-Stop: # Default-Start: 3 5 # Default-Stop: 0 1 2 6 # Description: Starts ProFTPD server ### END INIT INFO # Determine the base and follow a runlevel link name. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Force execution if not called by a runlevel directory. test $link = $base && START_PROFTPD=yes # Modified by learnlinux.co.uk test “$START_PROFTPD” = yes || exit 0 # Modified by learnlinux.co.uk # Return values acc. to LSB for all commands but # status (see below): # # 0 – success # 1 – generic or unspecified error # 2 – invalid or excess argument(s) # 3 – unimplemented feature (e.g. “reload”) # 4 – insufficient privilege # 5 – program is not installed # 6 – program is not configured # 7 – program is not running proftpd_cfg=”/etc/proftpd.conf” proftpd_bin=”/usr/local/sbin/proftpd” proftpd_pid=”/usr/local/var/proftpd.pid” [ -r $proftpd_cfg ] || exit 6 [ -x $proftpd_bin ] || exit 5 # Source status functions . /etc/rc.status # First reset status of this service rc_reset case “$1” in start) echo -n “Starting ProFTPD Server: ” test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n “Shutting down ProFTPD Server: ” test -x /usr/local/sbin/ftpshut && /usr/local/sbin/ftpshut now && sleep 1 /sbin/killproc -TERM $proftpd_bin test -f /etc/shutmsg && rm -f /etc/shutmsg rc_status -v ;; restart) ## If first returns OK call the second, if first or ## second command fails, set echo return value. $0 stop $0 start rc_status ;; try-restart) ## Stop the service and if this succeeds (i.e. the ## service was running before), start it again. ## Note: not (yet) part of LSB (as of 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Exclusive possibility: Some services must be stopped ## and started to force a new load of the configuration. echo -n “Reload ProFTPD Server: ” /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Status has a slightly different for the status command: # 0 – service running # 1 – service dead, but /var/run/ pid file exists # 2 – service dead, but /var/lock/ lock file exists # 3 – service not running echo -n “Checking for ProFTPD Server: ” checkproc $proftpd_bin rc_status -v ;; probe) ## Optional: Probe for the necessity of a reload, ## give out the argument which is required for a reload. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo “Usage: $0 {start|stop|status|restart|reload|try-restart|probe}” exit 1 ;; esac # Set an exit status. rc_exit Then run chmod 755 /etc/init.d/proftpd chkconfig –add proftpd Start Proftpd: /etc/init.d/proftpd start If you get the following error… Starting ProFTPD Server: – Fatal: UseIPv6: Use of the UseIPv6 directive requires IPv6 support (–enable-ipv6) on line 14 of ‘/etc/proftpd.conf’ startproc: exit status of parent of /usr/local/sbin/proftpd: 1 … open /etc/proftpd.conf and comment out or remove the UseIPv6 line: vi /etc/proftpd.conf […] # Don’t use IPv6 support by default. #UseIPv6 off […] For security reasons you can add the following lines to /etc/proftpd.conf: vi /etc/proftpd.conf […] DefaultRoot ~ IdentLookups off ServerIdent on “FTP Server ready.” […] Be sure to comment out the following lines in order to allow ftp users to CHMOD: […] # Bar use of SITE CHMOD by default #<Limit SITE_CHMOD> # DenyAll #</Limit> […] and restart Proftpd: /etc/init.d/proftpd restart Administrations Configurations (Linux)