Installation von Lighttpd mit PHP5 und MySQL Unterstützung auf CentOS 5.0

Version 1.0
Author: Falko Timme


Lighttpd ist ein sicherer, schneller und standardisierter Web Server, der für geschwindigkeitskritische Umgebungen entwickelt wurde. Diese Anleitung veranschaulicht, wie man Lighttpd auf einem CentOS 5.0 Server mit PHP5 Unterstützung (über FastCGI) und MySQL Unterstützung installieren kann.

Ich übernehme keine Garantie, dass dies auch bei Dir funktioniert!

1 Vorbemerkung

In dieser Anleitung verwende ich den Host Namen server1.example.com mit der IP Adresse 192.168.0.100. Diese Einstellung kann bei Dir anders sein, ersetze sie an den gegebenen Stellen.

2 Installation von MySQL 5.0

Zuerst installieren wir MySQL 5.0 wie folgt:

yum install mysql mysql-server

Dann erstellen wir die System Startup Links für MySQL (sodass MySQL automatisch startet wenn das System hochfährt) und starten den MySQL Server:

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

Erstelle ein Passwort für den MySQL Nutzer root (ersetze yourrootsqlpassword mit dem Passwort, das Du benutzen möchtest):

mysqladmin -u root password yourrootsqlpassword

Überprüfe mit

netstat -tap | grep mysql

auf welchen Adressen MySQL hört. Wenn die Ausgabe wie folgt aussieht:

tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld

was bedeutet, dass MySQL nur auf localhost.localdomain hört, dann bist Du mit dem Passwort, welches Du vorher eingerichtet hast, geschützt. Sieht die Ausgabe allerdings so aus:

tcp 0 0 *:mysql *:* LISTEN 2713/mysqld

solltest Du auch ein MySQL Passwort für Deinen Host Namen einrichten, denn sonst kann von Außen auf Deine Daten zugegriffen und sie bearbeitet werden:

mysqladmin -h server1.example.com -u root password yourrootsqlpassword


3 Installation von Lighttpd

Lighttpd ist nicht in der offiziellen CentOS 5.0 Paketdatenbank erhältlich, aber in der RPMforge Paketdatenbank (siehe http://dag.wieers.com/rpm/FAQ.php#B2 für Instruktionen). Wir installieren das RPMforge Paket für RHEL 5, wleches auch auf CentOS 5.0 funktioniert:

rpm -Uhv http://apt.sw.be/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

Danach können wir Lighttpd wie folgt installieren:

yum install lighttpd

Dann erstellen wir die System Startup Links für Lighttpd (sodass Lighttpd automatisch startet, wenn das System hochfährt) und starten sie:

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

Richte Deinen Browser auf http://192.168.0.100 aus, Du müsstest nun die Lighttpd Platzhalter-Seite sehen:


Lighttpd's Standard Document Root ist /srv/www/lighttpd on CentOS 5.0 und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf.

4 Installation von PHP5

Wir könnnen PHP5 in Lighttpd durch FastCGI wirksam werden lassen. Dazu installieren wir die Pakete lighttpd-fastcgi und php-cli:

yum install lighttpd-fastcgi php-cli


5 Konfiguration von Lighttpd und PHP5

Um PHP5 in Lighttpd zu aktivieren, müssen wir zwei Dateien bearbeiten /etc/php.ini und /etc/lighttpd/lighttpd.conf. Zunächst öffnen wir /etc/php.ini und fügen die Zeile cgi.fix_pathinfo = 1 ganz am Ende der Datei hinzu:

vi /etc/php.ini

[...]
cgi.fix_pathinfo = 1
Dann öffnen wir /etc/lighttpd/lighttpd.conf und aktivieren "mod_fastcgi", in der server.modules Zeile:

vi /etc/lighttpd/lighttpd.conf

[...]
server.modules = ( # "mod_rewrite", # "mod_redirect", # "mod_alias", "mod_access", # "mod_cml", # "mod_trigger_b4_dl", # "mod_auth", # "mod_status", # "mod_setenv", "mod_fastcgi", # "mod_proxy", # "mod_simple_vhost", # "mod_evhost", # "mod_userdir", # "mod_cgi", # "mod_compress", # "mod_ssi", # "mod_usertrack", # "mod_expire", # "mod_secdownload", # "mod_rrdtool", "mod_accesslog" ) [...]
Weiter unten in der Datei ist eine fastcgi.server Zeile, die wir auch aktivieren - vergewissere Dich, dass Du /usr/bin/php-cgi an Stelle von /usr/local/bin/php in der "bin-path" Zeile verwendest:
[...]
#### fastcgi module ## read fastcgi.txt for more info fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/tmp/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" ) ) ) [...]
Dann starten wir Lighttpd neu:

/etc/init.d/lighttpd restart


6 Testen von PHP5 / Einzelheiten über Deine PHP5 Installation in Erfahrung bringen

Der Document Root der Standard Website ist /srv/www/lighttpd. Wir werden jetzt eine kleine PHP Dateifile (info.php) in diesem Verzeichnis erstellen und es in einem Browser abrufen. Die Datei wird viele nützliche Informationen über die PHP Installation anzeigen wie zum Beispiel die installierte PHP Version.

vi /srv/www/lighttpd/info.php

<?php
phpinfo(); ?>
Nun rufen wir die Datei in einem Browser (z.B. http://192.168.0.100/info.php) ab:


Wie Du siehst, funktioniert PHP5. Es läuft über FastCGI, wie man in der Server API Zeile sehen kann. Wenn Du weiter nach unten scrollst, siehst Du alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgelistet, was bedeutet, dass wir noch keine PHP5 Unterstützung haben.

7 MySQL Unterstützung in PHP5 beziehen

Um eine MySQL Unterstützung in PHP zu beziehen, können wir das Paket php5-mysql installieren. Es ist ganz gut noch andere PHP5 Module zu installieren, da Du diese für Deine Programme gebrauchen könntest. So kannst Du nach verfügbaren PHP5 Modulen suchen:

yum search php

Wähe diejenigen aus, die Du brauchst und installiere sie wie folgt:

yum install php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc

Starte Lighttpd jetzt neu:

/etc/init.d/lighttpd restart

Lade http://192.168.0.100/info.php in Deinem Browser neu und scrolle runter zu der Modulsektion. Du solltest dort viele neue Module finden, das MySQL Modul eingeschlossen:

8 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte