Der perfekte Server - CentOS 5.2 x86_64 - Seite 7

13 ProFTPd

ISPConfig unterstützt besser proftpd als vsftpd, daher entfernen wir vsftpd:

yum remove vsftpd

Da CentOS kein proftpd pPaket mitbringt, müssen wir Proftpd manuell kompilieren:

cd /tmp/
wget --passive-ftp ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.1.tar.gz
tar xvfz proftpd-1.3.1.tar.gz
cd proftpd-1.3.1/
./configure --sysconfdir=/etc
make
make install
cd ..
rm -fr proftpd-1.3.1*

Das proftpd Binary wird in /usr/local/sbininstalliert, aber wir brauchen es in /usr/sbin, so dass wir einen Symlink erstellen:

ln -s /usr/local/sbin/proftpd /usr/sbin/proftpd

Nun erstellen wir den init Skript /etc/init.d/proftpd:

vi /etc/init.d/proftpd

#!/bin/sh
# $Id: proftpd.init,v 1.1 2004/02/26 17:54:30 thias Exp $ # # proftpd This shell script takes care of starting and stopping # proftpd. # # chkconfig: - 80 30 # description: ProFTPD is an enhanced FTP server with a focus towards # simplicity, security, and ease of configuration. # It features a very Apache-like configuration syntax, # and a highly customizable server infrastructure, # including support for multiple 'virtual' FTP servers, # anonymous FTP, and permission-based directory visibility. # processname: proftpd # config: /etc/proftp.conf # pidfile: /var/run/proftpd.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x /usr/sbin/proftpd ] || exit 0 RETVAL=0 prog="proftpd" start() { echo -n $"Starting $prog: " daemon proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/proftpd } stop() { echo -n $"Shutting down $prog: " killproc proftpd RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/proftpd } # See how we were called. case "$1" in start) start ;; stop) stop ;; status) status proftpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f /var/lock/subsys/proftpd ]; then stop start fi ;; reload) echo -n $"Re-reading $prog configuration: " killproc proftpd -HUP RETVAL=$? echo ;; *) echo "Usage: $prog {start|stop|restart|reload|condrestart|status}" exit 1 esac exit $RETVAL

Dann machen wir den init Skript ausführbar:

chmod 755 /etc/init.d/proftpd

Als Nächstes öffnen wir /etc/proftpd.conf und ändern Group zu nobody:

vi /etc/proftpd.conf

[...]
Group nobody [...]

Aus Sicherheitsgründen kann man noch folgende Zeile zu /etc/proftpd.confhinzufügen (Danke an Reinaldo Carvalho; mehr Informationen gibt es hier: http://proftpd.org/localsite/Userguide/linked/userguide.html):

vi /etc/proftpd.conf

[...]
DefaultRoot ~ IdentLookups off ServerIdent on "FTP Server ready." [...]

Um sicher zu stellen, dass FTP Benutzer den chmod Befehl nutzen können, kommentiere den Bereich aus:

[...]
# Bar use of SITE CHMOD by default # # DenyAll # [...]

Nun können wir die System Startup_links für Proftpd erstellen:

chkconfig --levels 235 proftpd on

Und endlich starten wir Proftpd:

/etc/init.d/proftpd start

 

14 Webalizer

Um webalizer zu installieren, einfach folgenden Befehl ausführen:

yum install webalizer

 

15 Die Systemuhrzeit synchronisieren

Wenn die Systemuhrzeit mit einem NTP Server synchronisiert werden soll, bitte Folgendes ausführen:

yum install ntp

 

chkconfig --levels 235 ntpd on
ntpdate 0.pool.ntp.org
/etc/init.d/ntpd start

16 Einige Perl Module installieren

In ISPConfig ist SpamAssassin integriert, das einige Perl Module benötigt um zu funktionieren. Wir installieren diese Perl Module mit einem einzigen Befehl:

yum install perl-HTML-Parser perl-DBI perl-Net-DNS perl-Digest-SHA1

 

17 Das Ende

Die Konfiguration des Servers ist nun beendet, wenn Du magst kannst Du nun ISPConfig darauf installieren.

17.1 Ein Hinweis zu SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www as als Home Verzeichnis für Webseiten spezifizieren, die mit ISPConfig erstellt wurden, da CentOS suExec mit /var/www als Doc_Root kompiliert ist. Führe aus

/usr/sbin/suexec -V

Das Ergebnis sollte folgendermassen aussehen:

[root@server1 ~]# /usr/sbin/suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="apache"
-D AP_LOG_EXEC="/var/log/httpd/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=500
-D AP_USERDIR_SUFFIX="public_html"
[root@server1 ~]#

Wenn Du suExec mit ISPConfig benutzen möchtest, ändere bitte nicht den Standard Web-Root, der /var/www ist, falls Du den Expertenmodus während der ISPConfig Installation benutzt. Im Standardmodus kann man den Web-Root allerdings ohnehin nicht ändern, daher wird suExec auf alle Fälle funktionieren.

18 Links

7 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Till

Du hast da vermutlich einen Tippfehler in der /etc/fstab. Die Option heißt "grpquota" und nicht "grq". Vergleich sie nochmal hiermit:

/dev/VolGroup00/LogVol00 / ext3 defaults,usrquota,grpquota


Von: ronald

Danke Falko! für die super Anleitung.
Leider stehe ich gerade an der Stelle: "mount -o remount /"
Felermeldung: " EXT3-fs: Unrecognized mount option 'grq' or missing value " --> hat jemand eine idee?
Danke!


Von: salud

Mensch immer das gleiche HowTo nur mit unterschiedlichen Arch und CentOs Versioen.Wann kommt mal wieder was sinnvolles?


Von: salud

zu punkt 1. sage ich mal naja es ändert sich minimal was.
zu punkt 2. schreibe in fedorawiki (centos).


Von: Till

1. Die Howtos unterscheiden sich, da sich die Linux Distributionen weiterentwickeln und sie Konfigurationsoptionen ändern.
2. Warum schreibst Du dann nicht ein Howto und publizierst es? Howtoforge ist eine freie Plattform zum veröffentlichen von Tutorials.


Von: vzcrsa

was immer wieder vergessen wird ist ganz einfach, wenn ein user " make " ausführen soll, solltet ihr im auch sagen das er make installieren muss !!!!

also User " make " wird mit yum install make installiert


Von: vzcrsa

zu einem vernünftigen webserver gehört auch phpmyadmin, wäre gut wenn dies hier auch erwähnt werden würde, damit user die sich nicht auskennen auch einen vernünftigen webserver haben !!!!!!!!!!!!