Das Perfekte Setup - CentOS 4.3 (64-bit) - Seite 6

10 Apache2 mit PHP

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

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
Konfigurieren nun Dein System um Apache beim Hochfahren zu starten:

chkconfig --levels 235 httpd on

Starte Apache:

/etc/init.d/httpd start


10.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
Starte danach Apache neu:

/etc/init.d/httpd restart


11 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

Lass uns nun proftpds System Startup Links erstellen und es dann starten:

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


12 Webalizer

Um Webalizer zu installieren, führe einfach Folgendes aus

yum install webalizer


13 Synchronisation der System-Uhr

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

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

14 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 die folgende:

/usr/bin/make install -- OK

Tippe danach

q

um die Perl Kommandozeile zu verlassen.

15 zlib aktualisieren

CentOS hat eine veraltete Version von zlib (1.2.1), das ein Sicherheitsloch hat. Daher kompilieren und installieren wir das neuste 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

16 Das Ende

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

16.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:


Um /var/www als das Home Verzeichnis für Webseiten während der Installation von ISPConfig auszuwählen, führe Folgendes aus: Wenn Du nach dem Installationsmodus gefragt wirst, wähle den Expertenmodus.


Während der Installation wirst Du gefragt, ob das Standard-Verzeichnis /home/www das Verzeichnis sein soll, in dem ISPConfig Webseiten erstellen wird. Antworte n und gib /var/www als das Home Verzeichnis für Webseiten ein.

17 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte