Der Perfekte Server - CentOS 4.5 (32-bit) - Seite 6

11 Apache2 mit PHP

Nun installieren wir Apache mit PHP (dies ist PHP 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 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

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

In ISPConfig wirst Du PHP pro Webseite konfigurieren, d.h. Du kannst festlegen, welche Webseite PHP Skripte ausführen kann und welche nicht. Das funktioniert nur, wenn PHP global deaktiviert ist, da sonst alle Webseiten in der Lage wären, PHP Skripte auszuführen, ganz gleich 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

Lass uns nun die System Startup Links von proftpd erstellen und es starten:

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

Erstelle dann die Datei /etc/pam.d/ftp mit folgendem Inhalt (sonst wirst Du Dich nicht mit Systembenutzern mittels FTP anmelden können):

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 Folgendes aus

yum install webalizer


14 Die System Uhr synchronisieren

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 Installiere einige Perl Module

In ISPConfig ist SpamAssassin integriert, was einige Perl Module zum Funktionieren benötigt. Wir installieren die benötigten 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, allerdings ist diese Version für die SpamAssassin Version, die in ISPConfig integriert ist, zu alt. Folgende Fehlermeldung würde während der Installation von ISPConfig auftauchen:

REQUIRED module out of date: HTML::Parser

Daher müssen wir das neuste HTML::Parser mittels Per Shell installieren.

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

perl -MCPAN -e shell

Wenn Du die Perl Shell erstmalig ausführst, werden Dir ein paar Fragen gestellt. In den meisten Fällen sind die Standard-Antworten in Ordnung. Da kein ncftp Paket für CentOS gibt, kann die Perl Shell die Programme ncftpget und ncftp nicht finden und Du siehst etwas ähnliches wie das:

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

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

Bitte beachte: Falls Du auf Deinem System eine Firewall ausführst, kann es sein, dass Du sie abschalten musst während Du mit der Perl Shell arbeitest, damit die Perl Shell in der Lage ist, die benötigten Module ohne große Verzögerung zu beziehen. Danach 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 ist, siehst Du eine Zeile wie diese am Ende:

/usr/bin/make install -- OK

Gib danach Folgendes ein

q

um die Perl Shell zu verlassen.

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 as Doc_Root erstellt wird. Führe Folgendes aus

/usr/sbin/suexec -V

und die Ausgabe sollte wie folgt sein:

[root@server1 yum.repos.d]# /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 yum.repos.d]#

Wenn Du also suExec mit ISPconfig verwenden möchtest, ändere nicht den Standard Web Root (/var/www) wenn Du den Expertenmodus während der ISPConfig Installation verwendest (im Standardmodus kannst Du den Web Root sowieso nicht ändern, also kannst Du suExec in jedem Fall verwenden).

17 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte