Server Setup · 5 min read · Feb 12, 2026
Die perfekte Einrichtung - SUSE 9.2 - Seite 6
Proftpd
Ich möchte Proftpd anstelle von vsftpd verwenden, dem Standard-FTP-Server von SUSE, da die Software für das Kontrollpanel, die ich auf diesem Server installieren möchte (ISPConfig), Proftpd auf SUSE 9.2 benötigt (auf anderen Distributionen ist das anders). Da es keine SUSE-Pakete für Proftpd gibt, muss ich es manuell kompilieren:
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*
Jetzt erstellen Sie die Datei /etc/init.d/proftpd:
| #! /bin/sh # Copyright (c) 2000-2001 SuSE GmbH Nuernberg, Deutschland. # Alle Rechte vorbehalten. # # Originalautor: Marius Tomaschewski <[email protected]> # # Leicht modifiziert im Jahr 2003 für die Verwendung mit SuSE Linux 8.1, # von http://www.learnlinux.co.uk/ # # Leicht modifiziert im Jahr 2005 für die Verwendung mit SuSE Linux 9.2, # von 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 # Beschreibung: Startet den ProFTPD-Server ### END INIT INFO # Bestimmen Sie die Basis und folgen Sie einem Runlevel-Linknamen. base=${0##*/} link=${base#*[SK][0-9][0-9]} # Zwingen Sie die Ausführung, wenn nicht von einem Runlevel-Verzeichnis aufgerufen. test $link = $base && START_PROFTPD=yes # Modifiziert von learnlinux.co.uk test "$START_PROFTPD" = yes || exit 0 # Modifiziert von learnlinux.co.uk # Rückgabewerte gemäß LSB für alle Befehle außer # status (siehe unten): # # 0 - Erfolg # 1 - allgemeiner oder nicht spezifizierter Fehler # 2 - ungültiges oder überschüssiges Argument(e) # 3 - nicht implementierte Funktion (z.B. "reload") # 4 - unzureichende Berechtigung # 5 - Programm ist nicht installiert # 6 - Programm ist nicht konfiguriert # 7 - Programm läuft nicht 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 # Quellstatusfunktionen . /etc/rc.status # Zuerst den Status dieses Dienstes zurücksetzen rc_reset case "$1" in start) echo -n "Starte ProFTPD-Server: " test -f /etc/shutmsg && rm -f /etc/shutmsg /sbin/startproc $proftpd_bin rc_status -v ;; stop) echo -n "Fahre ProFTPD-Server herunter: " 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) ## Wenn der erste Befehl OK zurückgibt, rufen Sie den zweiten auf, wenn der erste oder ## zweite Befehl fehlschlägt, setzen Sie den Rückgabewert. $0 stop $0 start rc_status ;; try-restart) ## Stoppen Sie den Dienst und wenn dies erfolgreich ist (d.h. der ## Dienst zuvor lief), starten Sie ihn erneut. ## Hinweis: nicht (noch) Teil von LSB (ab 0.7.5) $0 status >/dev/null && $0 restart rc_status ;; reload|force-reload) ## Exklusive Möglichkeit: Einige Dienste müssen gestoppt ## und gestartet werden, um eine neue Konfiguration zu erzwingen. echo -n "Lade ProFTPD-Server neu: " /sbin/killproc -HUP $proftpd_bin rc_status -v ;; status) # Der Status hat einen leicht anderen für den Statusbefehl: # 0 - Dienst läuft # 1 - Dienst tot, aber /var/run/ pid Datei existiert # 2 - Dienst tot, aber /var/lock/ Sperrdatei existiert # 3 - Dienst läuft nicht echo -n "Überprüfe ProFTPD-Server: " checkproc $proftpd_bin rc_status -v ;; probe) ## Optional: Überprüfen Sie die Notwendigkeit eines Reloads, ## geben Sie das Argument aus, das für einen Reload erforderlich ist. [ $proftpd_cfg -nt $proftpd_pid ] && echo reload ;; *) echo "Verwendung: $0 {start|stop|status|restart|reload|try-restart|probe}" exit 1 ;; esac # Setzen Sie einen Exit-Status. rc_exit |
chmod 755 /etc/init.d/proftpd
chkconfig –add proftpd
/etc/init.d/proftpd start
Aus Sicherheitsgründen können Sie auch die folgenden Zeilen in /etc/proftpd.conf hinzufügen:
| DefaultRoot ~ IdentLookups aus ServerIdent an "FTP-Server bereit." |
Stellen Sie sicher, dass Sie die folgenden Zeilen auskommentieren, um FTP-Benutzern zu erlauben, CHMOD zu verwenden:
| # Bar Verwendung von SITE CHMOD standardmäßig # |
und starten Sie Proftpd neu:
/etc/init.d/proftpd restart
Webalizer
Um Webalizer zu installieren, führen Sie einfach aus
apt-get install webalizer
Synchronisieren Sie die Systemuhr
Wenn Sie die Systemuhr mit einem NTP-Server synchronisieren möchten, tun Sie Folgendes:
apt-get install netdate
netdate tcp time.nist.gov
Erstellen Sie /var/spool/cron/tabs/root:
| # Uhrzeit mit NTP-Server aktualisieren 0 3,9,15,21 * * * /usr/sbin/netdate time.nist.gov |
Führen Sie dann aus
chmod 600 /var/spool/cron/tabs/root
/etc/init.d/cron restart
Installieren Sie einige Perl-Module, die von SpamAssassin benötigt werden (kommt mit ISPConfig)
Installation über die Perl-Shell
Melden Sie sich in Ihrer Befehlszeile als root an und führen Sie den folgenden Befehl aus, um die Perl-Shell zu starten:
perl -MCPAN -e shell
Wenn Sie die Perl-Shell zum ersten Mal ausführen, werden Ihnen einige Fragen gestellt. In den meisten Fällen sind die Standardantworten in Ordnung.
Bitte beachten Sie: Wenn Sie eine Firewall auf Ihrem System haben, müssen Sie diese möglicherweise ausschalten, während Sie an der Perl-Shell arbeiten, damit die Perl-Shell die benötigten Module ohne große Verzögerung abrufen kann. Sie können sie danach wieder einschalten.
Der große Vorteil der Perl-Shell im Vergleich zu den beiden anderen hier beschriebenen Methoden besteht darin, dass sie sich um Abhängigkeiten kümmert, wenn neue Module installiert werden. Das heißt, wenn sich herausstellt, dass ein erforderliches Perl-Modul fehlt, wenn Sie ein anderes Modul installieren, fragt die Perl-Shell, ob sie das erforderliche Modul für Sie installieren soll. Sie sollten diese Frage mit “Ja” beantworten.
Führen Sie die folgenden Befehle aus, um die von SpamAssassin benötigten Module zu installieren:
install HTML::Parser
install Net::DNS (wenn Sie aufgefordert werden, Tests zu aktivieren, wählen Sie nein)
install Digest::SHA1
install DB_File
q (um die Perl-Shell zu verlassen)
Wenn ein Modul bereits auf Ihrem System installiert ist, erhalten Sie eine Nachricht wie diese:
HTML::Parser ist auf dem neuesten Stand.
Eine erfolgreiche Installation eines Moduls sieht so aus:
/usr/bin/make install – OK
Das Ende
Die Konfiguration des Servers ist nun abgeschlossen, und wenn Sie möchten, können Sie jetzt ISPConfig darauf installieren.
Eine Anmerkung zu SuExec
Wenn Sie CGI-Skripte unter suExec ausführen möchten, sollten Sie /srv/www/htdocs als das Home-Verzeichnis für von ISPConfig erstellte Websites angeben, da SUSEs suExec mit /srv/www/htdocs als Doc_Root kompiliert ist. Führen Sie /usr/sbin/suexec2 -V aus, und die Ausgabe sollte so aussehen:
Um /srv/www/htdocs als das Home-Verzeichnis für Websites während der Installation von ISPConfig auszuwählen, tun Sie Folgendes: Wenn Sie nach dem Installationsmodus gefragt werden, wählen Sie den Expertenmodus.
Später während der Installation werden Sie gefragt, ob das Standardverzeichnis /home/www das Verzeichnis sein soll, in dem ISPConfig Websites erstellen wird. Antworten Sie mit n und geben Sie /srv/www/htdocs als das Home-Verzeichnis für Websites ein.
Links
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.