Installation von Lighttpd mit PHP5 und MySQL Support auf OpenSUSE 10.3

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 OpenSUSE 10.3 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 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:

yast2 -i mysql mysql-client

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 --add mysql
/etc/init.d/mysql start

Überprüfe nun ob die Vernetzung aktiviert ist. Lass Folgendes laufen

netstat -tap | grep mysql

In der Ausgabe solltest Du in etwa Folgendes vorfinden:

server1:~ # netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8566/mysqld
server1:~ #

Wenn Du so eine Zeile nicht siehst, bearbeite /etc/my.cnf, kommentiere die Option skip-networking aus:

vi /etc/my.cnf

[...]
#skip-networking [...]
und starte Deinen MySQL Server neu:

/etc/init.d/mysql restart

Lass dies laufen

mysqladmin -u root password yourrootsqlpassword

um ein Passwort für den Benutzer anzulegen root@localhost.

Wie Du in der netstat Ausgabe gesehen hast, hört MySQL nicht nur auf lokalen Hosts sondern auch auf allen anderen Schnittstellen, was bedeutet, dass von Außen darauf zugegriffen werden kann. Daher müssen wir auch ein Passwort für den Nutzer root@server1.example.com anlegen. Es gibt nur ein kleines Problem: Mit hoher Wahrscheinlichkeit enthält die Host Spalte in der mysql.user Tabelle nicht server1.example.com sondern server1. Wir werden das jetzt ändern. Danach werden wir ein MySQL Passwort für den Benutzer anlegen root@server1.example.com.

Wir verknüpfen uns jetzt mit MySQL:

mysql -u root -p

Gib das Passwort für den MySQL root Benutzer ein. Führe dann in der MySQL Kommandozeile Folgendes aus:

mysql> USE mysql;

mysql> SELECT * FROM user;

Die Ausgabe könnte so aussehen:
+-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Show_db_priv | Super_priv | Create_tmp_table_priv | Lock_tables_priv | Execute_priv | Repl_slave_priv | Repl_client_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Create_user_priv | ssl_type | ssl_cipher | x509_issuer | x509_subject | max_questions | max_updates | max_connections | max_user_connections | +-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ | localhost | root | *5172022923C5A97E5A842DA249B93473314416D5 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | server1 | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | | 127.0.0.1 | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | | | | | 0 | 0 | 0 | 0 | +-----------+------+-------------------------------------------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+--------------+------------+-----------------------+------------------+--------------+-----------------+------------------+------------------+----------------+---------------------+--------------------+------------------+----------+------------+-------------+--------------+---------------+-------------+-----------------+----------------------+ 3 rows in set (0.00 sec)
Wie Du siehst, heißt es in der zweiten Zeile server1 an Stelle von server1.example.com in der Host Spalte. Wir ersetzen das mit server1.example.com:

mysql> UPDATE user SET Host = 'server1.example.com' WHERE Host = 'server1';

mysql> FLUSH PRIVILEGES;

Wir können die MySQL Kommandozeile jetzt verlassen:

mysql> quit;

Zurück in der normalen Kommandozeile. Nun können wir das MySQL Passwort für den Nutzer root@server1.example.com anlegen:

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


3 Installation von Lighttpd

Lighttpd ist als OpenSUSE Paket verfügbar. Daher können wir es wie folgt installieren:

yast2 -i lighttpd

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

chkconfig --add lighttpd
/etc/init.d/lighttpd start

Richte Deinen Browser auf http://192.168.0.100 aus und Lighttpd gibt eine Seite an (nun ja, es ist eine 404 Seite, da es keine Index-Datei für Lighttpd's Document Root gibt, aber zumindest heißt das, dass Lighttpd gut funktioniert):


Lighttpd's Standard Document Root ist /srv/www/htdocs auf OpenSUSE, die Konfigurationsdatei ist /etc/lighttpd/lighttpd.conf.

0 Kommentar(e)

Zum Posten von Kommentaren bitte