Schlagwort-Archive: hardy

2 Tage bis zum Release – Zeit zum Upgraden auf Karmic Koala

Karmic Koala Countdown

Da ich bisher immer spätestens in der RC-Phase auf die nächste Version geupdatet habe, will ich dies auch dieses mal wieder "riskieren". 2 Rechner stehen bereit, einmal ein Kubuntu 9.04, da erwarte ich eigentlich keine Probleme. Der zweite Rechner allerdings, da erwarte ich durchaus Schwierigkeiten. Das hat zwei Gründe:

  • das Notebook hat keinen Zugang zu einem kabelgebundenen Netzwerk (die interne Netzwerkkarte ist schrott)
  • Auf dem System läuft noch Xubuntu 8.04.1 und wurde länger nicht mehr angefaßt

Der aktuellere Rechner wird einfach per "update-notifier-kde -d" geupgradet. Beim älteren Modell bin ich mir noch nicht ganz sicher...zumal ich auch die Desktopumgebung auf LXDE wechseln will. (Neuinstallation fällt im Übrigen auch aus, da ich das CD-Laufwerk gerade nicht zur Hand habe 😉 )

Mal schauen, wies läuft, ich werde berichten

Lighttpd mit vHosts unter Ubuntu Hardy

Seit einiger Zeit tendiere ich dazu Lighttpd dem guten alten Apachen vorzuziehen. Hauptgrund dafür ist aber weniger die immer wieder hervorgehobene bessere Performance (nicht umsonst setzen z.B. YouTube und MySpace auf den Ultraleichtflieger), sondern das mir die Konfiguration einfach etwas unkomplizierter erscheint als beim, vielleicht etwas mächtigeren, aber dafür auch unübersichtlicheren Apachen. Eigentlich auch egal, denn jeder sollte ja selbst entscheiden wem er den Vorzug gibt.

Eingerichtet wird Lighty hier mit PHP 5 und dem Modul 'simple_vhost', mit dem sehr einfach mehrere virtuelle Hosts angelegt werden können.

Wenn wir fertig sind, werden die Seiten unter folgender Ordner-/Dateistruktur organisiert sein:

/var/www/servers - quasi das Hauptverzeichnis des Webservers, hierin werden die virtuellen Hosts angelegt

/var/www/servers/example.com - Ein Beispiel für einen virtuellen Host

/var/www/servers/example.com/htdocs - Hier landen die Dateien, die beim Aufruf von "http://example.com" angezeigt werden sollen

/var/www/servers/example.com/logs - Hier werden die Logdateien gesammelt

/var/www/servers/example.com/server.conf - In dieser Datei wird die Konfiguration für den Host vorgenommen

So, aber nun direkt rein ins Getümmel und die Installation starten:

Installieren

  1. sudo apt-get install lighttpd php5-cgi

Module aktivieren

Danach werden die oben angesprochenen Module aktiviert ('fastcgi' wird für die Anbindung an PHP benötigt):

  1. sudo lighty-enable-mod fastcgi
  2. sudo lighty-enable-mod simple-vhost

Nach einem 'sudo /etc/init.d/lighttpd force-reload' sollte der der Webserver bereits unter http://localhost erreichbar sein.

Lighttpd Testseite

Konfiguration von mod_simple_vhost

Ausgegangen von der oben erklärten Ordnerstruktur müssen die drei Optionen des 'mod_simple_vost' in der Datei '/etc/lighttpd/conf-available/10-simple-vhost.conf' folgendermaßen konfiguriert werden:

  1. simple-vhost.server-root = "/var/www/servers/"
  2. simple-vhost.document-root = "/htdocs/"
  3. simple-vhost.default-host = "example.com"

Anstatt 'example.com' muss dort natürlich eure Standarddomain stehen!

Danach sollten die angelegten vHosts unter der jeweiligen Domain erreichbar sein.  Dazu ein kleines Beispiel:

Wenn im Browser die Adresse 'http://zeroathome.de/dingsbums.html' aufgerufen werden würde, würde das zur Anzeige der Datei '/var/www/servers/zeroathome.de/htdocs/dingsbums.html' führen.

Nach einem '/etc/init.d/lighttpd force-reload' können neue vHosts unterhalb von '/var/www/servers/' angelegt werden.

Konfiguration der einzelnen vHosts

Problem bei dieser Variante der vHost-Konfiguration ist, dass die Konfiguration der einzelnen Hosts nicht so einfach ist. Doch Opensource wäre nicht was es ist, wenn es nicht auch dafür eine relativ einfache Lösung gäbe. (Die Grundversion stammt übrigens von hier, wurde von mir nur leicht angepasst: http://redmine.lighttpd.net/projects/lighttpd/wiki/HowToSupportConfigurationPerVirtualHost)

Dazu wird die folgende Zeile in die Datei '/etc/lighttpd/conf-available/10-simple-vhost.conf' eingefügt, die dazu führt das ein kleines Skript ausgeführt wird:

  1. include_shell "/var/www/servers/config_servers"

Anschließend wird die Datei '/var/www/servers/config_servers' angelegt und mit diesem Inhalt befüllt:

  1. #!/bin/bash
  2.  
  3. for VHOST in `find /var/www/servers/ -mindepth 1 -maxdepth 1 \( -type d -or -type l \) -exec test -e "{}/server.conf" \; -exec basename "{}" \; 2>/dev/null` ; do {
  4. echo "\$HTTP[\"host\"] == \"$VHOST\" {"
  5. echo "var.vhost_name = \"$VHOST\""
  6. echo "var.vhost_path = \"/var/www/servers/$VHOST\""
  7. cat "/var/www/servers/$VHOST/server.conf"
  8. echo "server.errorlog = \"/var/www/servers/$VHOST/logs/error.log\"",
  9. echo "accesslog.filename = \"/var/www/servers/$VHOST/logs/access.log\""
  10. echo "}"
  11. } ; done

Zu guter Letzt wird die Datei noch ausführbar gemacht:

  1. sudo chown www-data:www-data /var/www/servers/config_servers
  2. sudo chmod u+x /var/www/servers/config_servers

Dann natürlich noch ein '/etc/init.d/lighttpd force-reload' und die neue Konfiguration ist übernommen.

Die Konfigurationsdatei muss dann, wie oben bereits erwähnt unter '/var/www/servers/example.com/server.conf' liegen um berücksichtigt zu werden. Nachdem eine neue Konfigurationsdatei hinzugefügt wurde oder eine vorhandene geändert wurde, muss immer ein '/etc/init.d/lighttpd force-reload' erfolgen, sonst ist die Konfiguration nicht wirksam!

Fertig!

So, das wars bereits. Ein Grundkonfigurierter Lighty fertig für die Arbeit als lokaler oder Internet-Webserver. Wenn gewünscht gibts demnächst noch einige Erweiterungen, wie zum Beispiel SSL oder WebDAV.

Alle Angaben natürlich wie immer ohne Gewähr und alles auf eigene Gefahr und so!