Installation · 5 min read · Nov 26, 2025
Installation von Cherokee mit PHP5- und MySQL-Unterstützung auf OpenSUSE 11.3
Installation von Cherokee mit PHP5- und MySQL-Unterstützung auf OpenSUSE 11.3
Version 1.0
Autor: Falko Timme
Folge mir auf Twitter
Cherokee ist ein sehr schneller, flexibler und einfach zu konfigurierender Webserver. Er unterstützt die heutzutage weit verbreiteten Technologien: FastCGI, SCGI, PHP, CGI, TLS und SSL-verschlüsselte Verbindungen, virtuelle Hosts, Authentifizierung, On-the-fly-Codierung, Lastverteilung, Apache-kompatible Protokolldateien und vieles mehr. Dieses Tutorial zeigt, wie Sie Cherokee auf einem OpenSUSE 11.3-Server mit PHP5-Unterstützung (über FastCGI) und MySQL-Unterstützung installieren können.
Ich gebe keine Garantie, dass dies bei Ihnen funktioniert!
1 Vorbemerkung
In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.0.100. Diese Einstellungen können bei Ihnen abweichen, daher müssen Sie sie gegebenenfalls anpassen.
2 Installation von MySQL 5
Zuerst installieren wir MySQL 5 wie folgt:
yast2 -i mysql mysql-client mysql-community-server libmysqlclient-develDann erstellen wir die Systemstartlinks für MySQL (damit MySQL automatisch startet, wenn das System bootet) und starten den MySQL-Server:
chkconfig --add mysql
/etc/init.d/mysql startFühren Sie aus
mysql_secure_installationum ein Passwort für den Benutzer root festzulegen (ansonsten kann jeder auf Ihre MySQL-Datenbank zugreifen!):
server1:~ # mysql_secure_installation
HINWEIS: DAS AUSFÜHREN ALLER TEILE DIESER SCRIPTES WIRD FÜR ALLE MySQL
SERVER IM PRODUKTIONSEINSATZ EMPFOHLEN! BITTE LESEN SIE JEDEN SCHRITT SORGFÄLTIG!
Um sich bei MySQL anzumelden, um es zu sichern, benötigen wir das aktuelle
Passwort für den Benutzer root. Wenn Sie MySQL gerade installiert haben und
noch kein Passwort für root festgelegt haben, ist das Passwort leer,
Sie sollten also einfach hier die Eingabetaste drücken.
Geben Sie das aktuelle Passwort für root ein (drücken Sie die Eingabetaste für keines): <– ENTER
OK, Passwort erfolgreich verwendet, weiter…
Das Festlegen des root-Passworts stellt sicher, dass niemand ohne die
richtige Autorisierung auf den MySQL-Root-Benutzer zugreifen kann.
Root-Passwort festlegen? [Y/n] <– Y
Neues Passwort: <– geben Sie Ihr gewünschtes MySQL-Root-Passwort ein
Neues Passwort erneut eingeben: <– bestätigen Sie dieses Passwort
Passwort erfolgreich aktualisiert!
Aktualisiere Berechtigungstabellen..
… Erfolg!
Standardmäßig hat eine MySQL-Installation einen anonymen Benutzer,
der es jedem ermöglicht, sich bei MySQL anzumelden, ohne ein
Benutzerkonto zu haben. Dies ist nur für Tests gedacht und
um die Installation etwas reibungsloser zu gestalten.
Sie sollten sie entfernen, bevor Sie in eine
Produktionsumgebung wechseln.
Anonyme Benutzer entfernen? [Y/n] <– Y
… Erfolg!
Normalerweise sollte root nur von ‘localhost’ aus verbunden werden.
Dies stellt sicher, dass jemand das root-Passwort nicht
über das Netzwerk erraten kann.
Root-Login aus der Ferne verbieten? [Y/n] <– Y
… Erfolg!
Standardmäßig kommt MySQL mit einer Datenbank namens ‘test’, auf die jeder
zugreifen kann. Dies ist ebenfalls nur für Tests gedacht und
sollte entfernt werden, bevor Sie in eine
Produktionsumgebung wechseln.
Testdatenbank und Zugriff darauf entfernen? [Y/n] <– Y
- Testdatenbank wird gelöscht…
… Erfolg! - Berechtigungen für die Testdatenbank werden entfernt…
… Erfolg!
Das Neuladen der Berechtigungstabellen stellt sicher, dass
alle bisher vorgenommenen Änderungen sofort wirksam werden.
Berechtigungstabellen jetzt neu laden? [Y/n] <– Y
… Erfolg!
Aufräumen…
Alles erledigt! Wenn Sie alle oben genannten Schritte abgeschlossen haben,
sollte Ihre MySQL-Installation jetzt sicher sein.
Danke, dass Sie MySQL verwenden!
server1:~ #
3 Installation von PHP5
Wir können PHP5 in Cherokee über FastCGI zum Laufen bringen. Daher installieren wir das Paket php5-fastcgi (plus die Pakete rrdtool und rrdtool-devel, die von Cherokee benötigt werden):
yast2 -i php5-fastcgi rrdtool rrdtool-develWir müssen /etc/php5/fastcgi/php.ini ändern und die Zeile cgi.fix_pathinfo=1 auskommentieren:
vi /etc/php5/fastcgi/php.ini| [...] ; cgi.fix_pathinfo bietet *echte* PATH_INFO/PATH_TRANSLATED-Unterstützung für CGI. PHP's ; vorheriges Verhalten war, PATH_TRANSLATED auf SCRIPT_FILENAME zu setzen und nicht zu verstehen, ; was PATH_INFO ist. Für weitere Informationen zu PATH_INFO siehe die CGI-Spezifikationen. Das Setzen ; dies auf 1 bewirkt, dass PHP CGI seine Pfade an die Spezifikation anpasst. Eine Einstellung ; von null bewirkt, dass PHP sich wie zuvor verhält. Standard ist 1. Sie sollten Ihre Skripte ; so anpassen, dass sie SCRIPT_FILENAME anstelle von PATH_TRANSLATED verwenden. ; http://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
4 Installation von Cherokee
Leider gibt es kein Cherokee-Paket für OpenSUSE 11.3 (es gibt eines für OpenSUSE 11.1, aber das funktioniert nicht auf 11.3), daher müssen wir Cherokee aus den Quellen erstellen:
cd /usr/src
wget http://www.cherokee-project.com/download/1.0/1.0.15/cherokee-1.0.15.tar.gz
tar xvfz cherokee-1.0.15.tar.gz
cd cherokee-1.0.15/
./configure --localstatedir=/var --prefix=/usr --sysconfdir=/etc --with-wwwroot=/srv/www/htdocs --with-wwwuser=wwwrun --with-wwwgroup=www --with-mysql --with-php=/usr/bin/php-cgimake
make installWenn Sie ein 64-Bit-System verwenden, tun Sie auch dies (Cherokee erwartet, dass es seine Bibliotheken in /usr/lib64/ anstelle von /usr/lib/ auf 64-Bit-Systemen findet):
cp /usr/lib/libcherokee-* /usr/lib64/Jetzt benötigen wir ein Init-Skript für Cherokee. Anstatt eines selbst zu schreiben, können wir die src.rpm-Datei für Cherokee für OpenSUSE 11.1 herunterladen und das Init-Skript aus dem src.rpm-Paket verwenden:
cd /usr/src
wget http://download.opensuse.org/repositories/server:/http/openSUSE_11.1/src/cherokee-0.98.1-4.1.src.rpm
rpm -ivh cherokee-0.98.1-4.1.src.rpmcd packages/SOURCES/
cp cherokee.init /etc/init.d/cherokeeAnschließend machen wir das Init-Skript ausführbar und fügen Systemstartlinks dafür hinzu:
chmod 755 /etc/init.d/cherokee
chkconfig --add cherokeeAls nächstes starten wir Cherokee:
/etc/init.d/cherokee start(Der Output sieht wie folgt aus - Cherokee wird nicht zur Eingabeaufforderung zurückkehren, bis Sie CTRL+C drücken; wenn Sie dies tun, wird Cherokee im Hintergrund weiterlaufen, was wir wollen:
server1:~ # Cherokee Web Server 1.0.15 (10. Jan 2011): Hört auf Port ALL:80, TLS
deaktiviert, IPv6 aktiviert, verwendet epoll, 4096 fds Systemgrenze, max. 2041
Verbindungen, 5 Threads, 408 Verbindungen pro Thread, Standard-Scheduling-
Politik)
Richten Sie jetzt Ihren Browser auf http://192.168.0.100, und Sie sollten die Platzhalterseite von Cherokee sehen:

Cherokee kann über ein webbasiertes Steuerfeld konfiguriert werden, das wir wie folgt starten können:
cherokee-admin -b(Standardmäßig bindet cherokee-admin nur an 127.0.0.1 (localhost), was bedeutet, dass Sie nur von demselben System aus darauf zugreifen können. Mit dem Parameter -b können Sie die Netzwerkadresse angeben, an die gebunden werden soll. Wenn keine IP angegeben wird, wird an alle Schnittstellen gebunden.)
Die Ausgabe sollte ähnlich wie folgt aussehen:
server1:~ # cherokee-admin -b
Cherokee Web Server 1.0.15 (10. Jan 2011): Hört auf Port ALL:9090, TLS
deaktiviert, IPv6 aktiviert, verwendet epoll, 4096 fds Systemgrenze, max. 2041
Verbindungen, caching I/O, 5 Threads, 408 Verbindungen pro Thread, Standard-
Scheduling-Politik
Anmeldung:
Benutzer: admin
Einmal-Passwort: Vk2yR8alQft73zzn
Web-Schnittstelle:
URL: http://localhost:9090/Sie benötigen den Benutzernamen und das Passwort, um sich bei der Webschnittstelle anzumelden, die Sie unter http://192.168.0.100:9090/ finden können:

So sieht die Webschnittstelle aus:

Um cherokee-admin zu stoppen, drücken Sie CTRL+C in der Shell.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.