Installation von Cherokee mit PHP5 und MySQL Unterstützung auf Ubuntu 11.04
Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>, Christian Schmalfeld <c [dot] schmalfeld [at] projektfarm [dot] de>
Cherokee ist ein sehr schneller, flexibler und einfach zu konfigurierender Web Server. Er unterstützt die heutzutage verbreiteten Technologien: FastCGI, SCGI, PHP, CGI, TLS- und SSL-kodierte Verbindungen, virtual hosts, Authentifikation, on the fly Kodierung, load balancing, mit Apache kompatible Logdateien, und viele mehr. Dieses Tutorial zeigt Ihnen wie Sie Cherokee mit PHP5 (durch FastCGI) und MySQL Unterstützung auf einem Ubuntu 11.04 Server installieren.
Für die Inhalte des Tutorials gebe ich keinerlei Garantie!
1 Vorbemerkung
In diesem Tutorial benutze ich den Hostnamen server1.example.com mit der IP Adresse 192.168.0.100. Diese Einstellungen werden sich von Ihren unterscheiden, ersetzen Sie sie also an den ensprechenden Stellen.
Ich bin das ganze Tutorial über als root eingeloggt, loggen Sie sich deshalb auch als root ein:
sudo su
2 Installation von MySQL 5
Als erstes installieren Sie MySQL 5 wie folgt:
apt-get install mysql-server mysql-client
Sie werden aufgefordert, ein Passwort für den MySQL root Benutzer anzugeben. Dieses Passwort ist sowohl für [email protected] als auch für [email protected] gültig,so müssen Sie später kein MySQL Rootpasswort mehr manuell konfigurieren:
New password for the MySQL „root“ user: <– IhrrootsqlPasswort
Repeat password for the MySQL „root“ user: <– IhrrootsqlPasswort
3 Installation von Cherokee
Cherokee ist als Ubuntupaket verfügbar, deshalb können Sie es wie folgt installieren:
apt-get install cherokee
Gehen Sie nun mit Ihrem Browser auf http://192.168.0.100 und Sie sollten die Cherokee Platzhalterseite vorfinden:
Cherokee kann mit einer Web-basierten Kontrolloberfläche konfiguriert werden, welche Sie wie folgt starten können:
cherokee-admin -b
(Standartmäßig bindet sich cherokee-admin nur an 127.0.0.1 (localhost), was bedeutet, dass Sie nur vom selben System darauf zugreifen können. Mit dem -b Parameter können Sie die Netzwerkadresse spezifizieren, welche es abhören soll. Ist keine IP angegeben, wird es sich an alle Schnittstellen binden.)
Die Ausgabe sollte dieser hier ähneln:
[email protected]:~# cherokee-admin -b
Login:
User: admin
One-time Password: 0nILNh3TdaNZyMN1
Web Interface:
URL: http://localhost:9090/
[18/05/2011 14:57:19.713] (error) rrd_tools.c:120 – Could not find the rrdtool binary.
Cherokee Web Server 1.0.8 (Nov 24 2010): Listening on port ALL:9090, TLS
disabled, IPv6 enabled, using epoll, 4096 fds system limit, max. 2041
connections, caching I/O, single thread
Sie brauchen den Benutzernamen und das Passwort um sich in das Webinterface einzuloggen, welches Sie unter http://192.168.0.100:9090/ finden:
So sieht das Webinterface aus:
Um cherokee-admin zu beenden, geben Sie in der Shell CTRL+C ein.
4 Installation von PHP5
Wir können PHP5 in Cherokee durch FastCGI benutzen. Glücklicherweise stellt Ubuntu ein FastCGI-enabled PHP5 Paket zur Verfügung, welches Sie folgendermaßen installieren können:
apt-get install php5-cgi
5 Konfiguration von PHP5
Sie müssen die Datei /etc/php5/cgi/php.ini modifizieren und die Zeile cgi.fix_pathinfo=1 entkommentieren:
vi /etc/php5/cgi/php.ini
[...] ; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's ; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok ; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting ; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting ; of zero causes PHP to behave as before. Default is 1. You should fix your scripts ; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...]
Starten Sie Cherokee dann neu:
/etc/init.d/cherokee restart
6 PHP5 in Cherokee aktivieren
PHP ist in Cherokee nicht standartmäßig aktiviert. Um es zu aktivieren, starten Sie Cherokees webbasierte Kontrolloberfläche…
cherokee-admin -b
… und loggen sich ein (http://192.168.0.100:9090/).
Gehen Sie dort auf vServers, wählen Sie den default vhost und öffnen den Behavior Reiter; klicken Sie dort auf den Rule Management Button:
In der linken Spalte sollten Sie nun alle derzeit existierenden Regeln sehen: