Installation von Lighttpd mit PHP5 und MySQL Unterstützung auf Fedora 8

Version 1.0
Author: Falko Timme


Lighttpd ist ein sicherer und schneller Web Server, der für geschwindigkeits-kritische Umgebungen entwickelt worden ist. Diese Anleitung veranschaulicht, wie man Lighttpd auf einem Fedora 8 Server mit PHP5 Unterstützung (durch 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 Hostnamen server1.example.com mit der IP Adresse 192.168.0.100. Diese Einstellungen werden bei Dir etwas anders sein, Du musst sie an entsprechender Stelle ersetzen.

2 Installation von MySQL 5.0

Zunächst installieren wir MySQL 5.0 wie folgt:

yum install mysql mysql-server

Dann erstellen wir die System Startup Links für MySQL (sodass MySQL beim Hochfahren automatisch startet) und starten den MySQL Server:

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

Richte ein Passwort für den MySQL Benutzer root (ersetze yourrootsqlpassword mit dem Passwort, welches Du verwenden möchtest) ein:

mysqladmin -u root password yourrootsqlpassword

Überprüfe dann mit

netstat -tap | grep mysql

auf welcher Adresse 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 ist das Passwort, das Du zuvor eingerichtet hast, sicher. Sieht die Ausgabe allerdings so aus:

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

solltest Du auch ein MySQL Passwort für Deinen Hostnamen anlegen, da sonst jeder auf Deine Datenbank zugreifen und Daten verändern kann:

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


3 Installation von Lighttpd

Lighttpd ist als ein Fedora Paket verfügbar, daher können wir es wie folgt installieren:

yum install lighttpd

Dann erstellen wir die System Startup Links für Lighttpd (sodass Lighttpd beim Hochfahren automatisch startet) und starten es:

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

Richte Deinen Browser auf http://192.168.0.100 aus und Du müsstest die Lighttpd Placeholder Seite sehen:


Lighttpds Standard Dokumenten-Root ist /srv/www/lighttpd auf Fedora und die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf.

4 Installation von PHP5

Wir können veranlassen, dass PHP5 Lighttpd durch FastCGI ausgeführt wird. Daher 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 ändern: /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 an:

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" ) [...]
und dann, weiter unten in der Datei, gibt es eine fastcgi.server Zeile, die wir auch aktivieren:
[...]
#### fastcgi module ## read fastcgi.txt for more info ## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini fastcgi.server = ( ".php" => ( "localhost" => ( "socket" => "/var/run/lighttpd/php-fastcgi.socket", "bin-path" => "/usr/bin/php-cgi" ) ) ) [...]
Dann starten wir Lighttpd neu:

/etc/init.d/lighttpd restart


6 PHP5 testen / Angaben über Deine PHP5 Installation beziehen

Der Dokumenten-Root der Standard-Webseite ist /srv/www/lighttpd. Wir werden nun eine kleine PHP Datei (info.php) in diesem Verzeichnis erstellen und in einem Browser abrufen. Die Datei wird eine Menge nützlicher Angaben über unsere PHP Installation anzeigen, wie zum Beispiel über die installierte PHP Version.

vi /srv/www/lighttpd/info.php


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


Wie Du siehst, funktioniert PHP5 und zwar durch FastCGI, wie es in der Server API Zeile zu sehen ist. Wenn Du weiter runter scrollst, siehst Du alle Module, die bereits in PHP5 aktiviert sind. MySQL ist dort nicht aufgelistet, was bedeutet, dass wir noch keine MySQL Unterstützung in PHP5 haben.

7 MySQL Unterstützung in PHP5 beziehen

Um MySQL Unterstützung in PHP zu beziehen, können wir das php-mysql Paket installieren. Es kann nicht schaden noch ein paar andere PHP5 Module zu installieren, da es sein kann, dass Du sie für Deine Programme brauchst. So kannst Du nach verfügbaren PHP5 Modulen suchen:

yum search php

Wähle die Module aus, die Du benötigst 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 nun neu:

/etc/init.d/lighttpd restart

Lade erneut http://192.168.0.100/info.php in Deinen Browser und scrolle wieder zum Abschnitt mit den Modulen. Nun solltest Du eine Menge neuer Module finden können, inklusive das MySQL Modul:

8 Links

0 Kommentar(e)

Zum Posten von Kommentaren bitte