Proftpd
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 SUSE 9.2 (on other distributions this is different). Since there are no SUSE
packages for Proftpd I
have to compile it manually:
cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz
tar xvfz proftpd-1.2.10.tar.gz
cd proftpd-1.2.10/
./configure --sysconfdir=/etc
make
make install
cd ../
rm -fr proftpd-1.2.10*
Now create the
file /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
|
chmod 755 /etc/init.d/proftpd
chkconfig --add proftpd
/etc/init.d/proftpd start
For security reasons
you can also add the following lines to /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
Webalizer
To install webalizer,
just run
apt-get install webalizer
Synchronize
the System Clock
If you want to
have the system clock synchronized with an NTP server do the following:
apt-get install netdate
netdate tcp time.nist.gov
Create /var/spool/cron/tabs/root:
# update time with ntp server 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov
|
Then run
chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart
Install some
Perl Modules needed by SpamAssassin (comes with ISPConfig)
Installation
using the Perl Shell
Login to your command
line as root and run the following command to start the Perl shell:
perl -MCPAN -e shell
If you run the
Perl shell for the first time you will be asked some questions. In most cases
the default answers are ok.
Please note: If
you run a firewall on your system you might have to turn it off while working
on the Perl shell in order for the Perl shell to be able to fetch the needed
modules without a big delay. You can switch it on afterwards.
The big advantage
of the Perl shell compared to the two other methods described here is that it
cares about dependencies when installing new modules. I.e., if it turns out
that a prerequisite Perl module is missing when you install another module the
Perl shell asks you if it should install the prerequisite module for you. You
should answer that question with "Yes".
Run the following
commands to install the modules needed by SpamAssassin:
install HTML::Parser
install Net::DNS
(when prompted to enable tests, choose no)
install Digest::SHA1
install DB_File
q (to leave the Perl shell)
If a module is
already installed on your system you will get a message similar to this one:
HTML::Parser
is up to date.
Successful installation
of a module looks like this:
/usr/bin/make
install -- OK
The End
The configuration
of the server is now finished, and if you wish you can now install ISPConfig
on it.
A Note On SuExec
If you want to
run CGI scripts under suExec, you should specify /srv/www/htdocs
as the home directory for websites created by ISPConfig as SUSE's suExec is
compiled with /srv/www/htdocs
as Doc_Root.
Run /usr/sbin/suexec2 -V,
and the output should look like this:

To select /srv/www/htdocs
as the home directory for websites during the installation of ISPConfig do the
following: When you are asked for the installation mode, select the expert
mode.

Later during the
installation you are asked if the default directory /home/www
should be the directory where ISPConfig will create websites in. Answer n
and enter /srv/www/htdocs
as the home directory for websites.

Links
The Perfect Setup - SUSE 9.2 - Page 5
Recent comments
15 hours 47 min ago
1 day 1 hour ago
1 day 2 hours ago
1 day 5 hours ago
1 day 10 hours ago
1 day 10 hours ago
1 day 12 hours ago
1 day 22 hours ago
2 days 3 hours ago
2 days 5 hours ago