Das Perfekte Setup - CentOS 4.4 (32-bit) - Seite 6

11 Apache2 mit PHP

Nun installieren wir Apache mit PHP (dies istPHP 4.3.9; CentOS bietet keine PHP5 Pakete):

yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel

Bearbeite dann /etc/httpd/conf/httpd.conf:

vi /etc/httpd/conf/httpd.conf

und ändere DirectoryIndex zu
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl
Konfiguriere nun Dein System so, dass Apache beim Hochfahren gestartet wird:

chkconfig --levels 235 httpd on

Starte Apache:

/etc/init.d/httpd start


11.1 PHP global deaktivieren

(Wenn Du nicht vorhast, ISPConfig auf diesem Server zu installieren, überspringe bitte diesen Abschnitt!)

In ISPConfig wirst Du PHP pro Web Site konfigurieren, d.h. Du kannst festlegen, welche Web Site PHP Skripte ausführen kann und welche nicht. Das funktioniert nur, wenn PHP global deaktiviert ist, da sonst alle Web Sites in der Lage wären, PHP Skripte auszuführen, egal was Du in ISPConfig festlegst.

Um PHP global zu deaktivieren, bearbeiten wir /etc/httpd/conf.d/php.conf und kommentieren die AddType Zeile aus:

vi /etc/httpd/conf.d/php.conf


#
# PHP is an HTML-embedded scripting language which attempts to make it # easy for developers to write dynamically generated webpages. # LoadModule php4_module modules/libphp4.so # # Cause the PHP interpreter to handle files with a .php extension. # #AddType application/x-httpd-php .php # AddType application/x-httpd-php-source .phps # # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php
Danach starten wir Apache neu:

/etc/init.d/httpd restart


12 ProFTPd

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

yum remove vsftpd

Da CentOS kein proftpd Paket hat, müssen wir eine yum Paketdatenbank von Drittanbietern verwenden um es zu installieren:

cd /etc/yum.repos.d/
wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
rpm --import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt

Nun können wir proftpd installieren:

yum install proftpd

Wir erstellen die System Startup Links für proftpd und starten es:

chkconfig --levels 235 proftpd on
/etc/init.d/proftpd start

Erstelle dann die Datei /etc/pam.d/ftp mit folgendem Inhalt (sonst kannst Du Dich nicht mit Systembenutzern unter Verwendung von FTP anmelden):

vi /etc/pam.d/ftp


#%PAM-1.0
auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so
und starte proftpd neu:

/etc/init.d/proftpd restart


13 Webalizer

Um Webalizer zu installieren, führe einfach dies aus

yum install webalizer


14 Synchronisation der System-Uhr

Wenn Du die System-Uhr mit einem NTP Server synchronisieren möchtest, führe Folgendes aus:

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

15 Installation einiger Perl Module

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-DBI perl-Net-DNS perl-Digest-SHA1

Wir benötigen außerdem das Modul HTML::Parser. Wir könnten das CentOS Paket perl-HTML-Parser installieren, jedoch ist diese Version für unsere SpamAssassin Version zu alt. Während der Installation von ISPConfig würde folgende Fehlermeldung auftauchen:

REQUIRED module out of date: HTML::Parser

Daher müssen wir das neuste HTML::Parser Modul mit Hilfe der Perl Kommandozeile installieren.

Führe folgenden Befehl aus um die Perl Kommandozeile zu starten:

perl -MCPAN -e shell

Wenn Du die Perl Kommandozeile zum ersten Mal ausführst, werden Dir ein paar Fragen gestellt. In den meisten Fällen sind die Standardantworten in Ordnung. Da es für CentOS kein ncftp Paket gibt, kann die Perl Kommandozeile keine ncftpget und ncftp Programme finden und Du siehst etwas in der Art:

Warning: ncftpget not found in PATH
Where is your ncftpget program? []
Warning: ncftp not found in PATH
Where is your ncftp program? []

Es ist in Ordnung in beiden Fällen ENTER zu drücken.

Bitte merke: Falls Du auf Deinem System eine Firewall ausführst, kann es sein, dass Du sie ausschalten musst während Du in der Perl Kommandozeile bist, damit die benötigten Module ohne große Verzögerung bezogen werden können. Danch kannst Du sie wieder anschalten.

Gib nun folgenden Befehl ein um das Perl Modul HTML::Parser zu installieren:

install HTML::Parser

Wenn die Installation erfolgreich verlaufen ist, siehst Du am Ende eine Zeile wie diese:

/usr/bin/make install -- OK

Gib danach Folgendes ein

q

um die Perl Kommandozeile zu verlassen.

16 zlib aktualisieren

CentOS hat eine veraltete Version von zlib (1.2.1), die ein Sicherheitsloch hat. Daher kompilieren und installieren wir die neuste Version zlib (1.2.3) aus den Quellen:

cd /tmp
wget http://www.zlib.net/zlib-1.2.3.tar.gz
tar xvfz zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --shared
make
make install

17 Das Ende

Die Konfiguration des Servers ist nun abgeschlossen. Wenn Du magst, kannst Du nun ISPConfig installieren.

17.1 Eine Notiz über SuExec

Wenn Du CGI Skripte unter suExec ausführen möchtest, solltest Du /var/www als den Web Root für Web Sites festlegen, die von ISPConfig erstellt werden, da CentOS' suExec mit /var/www als Doc_Root erstellt wird. Führe Folgendes aus

/usr/sbin/suexec -V

und die Ausgabe sollte wie folgt aussehen:


Sofern Du ISPConfig nicht im Expertenmodus installierst und den Standard-Web-Root änderst (/var/www), kannst Du CGI Skripte unter suExec mit ISPConfig ausführen.

18 Links

1 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Der_Paul

Auch wenn das Howto nicht mehr aktuell ist vermisse ich denoch einen Teil zu Procmail. Oder bin ich einfach nur blind?