Schlagwort-Archive: ubuntu

Blog Umzug auf vServer

Nachdem das Blog auf dem Webspace hier, irgendwie tagtäglich langsamer zu werden scheint, wird Ende der Woche umgezogen.

In einer Testinstallation auf dem künftigen Heim des Blogs, einem (natürlich) unter Ubuntu laufenden vServer, wirkt das ganze schon ein wenig flüssiger. Größere Schwierigkeiten erwarte ich eigentlich keine, auch wenn die Umstellung von gehostetem Apachen auf Lighttpd auf dem vServer doch ein wenig "Arbeit" erforderte. Am Ende aber tatsächlich weniger als erwartet.

Das Blog liegt im Prinzip schon an seinem neuen Platz bereit und wartet nur noch auf seine Domain, sozusagen.

Falls wider Erwarten doch etwas negativ auffallen sollte (außer meinen Blogbeiträgen) wäre ich für eine kurze Meldung über einen der vielen Kommunikationskanäle (Kommentar, Kontaktformular, Mail, Jabber) sehr dankbar.

Und wo wir gerade so schön dabei sind, wünsche ich allen Lesern und Leserinnen (sofern vorhanden) ein erfolgreiches neues Jahr! Ich für meinen Teil werde auf jeden Fall versuchen, in nächster Zeit wieder vermehrt Artikel hier zu veröffentlichen, und vor allem den Server Guide fit für das nächste LTS-Release im April zu machen und eventuell ein wenig zu erweitern.

Karmic Koala Extrem Torrenting

Karmic Koala release

Ich halte es da mal wie Dirk, weil das der Koala heute aufschlägt dürfte den meisten hinlänglich bekannt sein. Darum hier die Links zu den Torrents, die man tunlichst auch nutzen sollte, da die FTP- und HTTP-Server wohl erstmal aus den letzten Löchern pfeifen dürften...

Zusätzlich habe ich sämtliche Torrents auch mal auf allem was ich so an Servern und Rechnern mit freien Resourcen gefunden habe zum Seeden freigegeben. Also, happy leeching 🙂

Ubuntu 9.04 auf der Linksys NSLU2

Ubuntu LogoDa in den Kommentaren zu dem Beitrag über Transmission auf der NSLU2 häufig (ja, 2 Kommentare sind in diesem Blog als häufig definiert 😉 ) danach gefragt wurde, wie ich Ubuntu auf die kleine Kiste drauf bekommen habe, hier die Antwort:

Nachdem ich bisher immer gut mit Debian auf der Slug gefahren bin, stieß ich neulich erst auf ein Installationsimage für Ubuntu gestoßen.  Also mal "schnell" ausprobiert, so schnell wie es mit dem Schneckchen nun mal geht.

Das Image ist hier zu finden:

http://ports.ubuntu.com/ubuntu-ports/dists/jaunty/main/installer-armel/current/images/ixp4xx/netboot/

Von dort lädt man einfach die Datei 'di-nslu2.bin' herunter und bespielt die NSLU2 damit. Die genaue Vorgehensweise gleicht der Installation von Debian.

Leider wird das Image das erste und auch letzte sein, das für die Slug produziert wurde, da sich die zukünftigen ARM-Ports von Ubuntu auf neuere Versionen der ARM-Architektur beschränken werden, wie hier zu lesen ist.

Die Performance entspricht subjektiv der von Debian auf der Slug, großartige Messungen hab ich allerdings keine angestellt.

Neueste Transmission Version auf der NSLU2 unter Ubuntu 9.04

Transmission LogoLanger Titel, aber sonst weiß ja wieder keiner worums geht 😉

Ich, stolzer Besitzer einer NSLU2 von Linksys, habe auf jener Ubuntu in der aktuellen stabilen Version installiert. Wenn man gerne aktuellere Software, als die in den offiziellen Repos vorhandene, benutzen will, findet man ja mittlerweile recht häufig ein feines PPA, das einem alles relativ einfach auf die Platte schaufelt.

Da aber in meisten PPAs keine Pakete für die ARM-Architektur, die die NSLU2 verwendet, vorhanden sind, fällt diese Möglichkeit weitestgehend flach.

Also, Handarbeit a la configure, make, make install...

Da ich die NSLU2 und den angeschlossenen Speicher dafür nutze meine ISO-Sammlung aktuell zu halten, darf natürlich ein BitTorrent-Client nicht fehlen. Da Web-Interfaces für rTorrent mich irgendwie nicht sonderlich ansprechen (besonders deren Installation), verwende ich Transmission. Die Vorteile liegen auf der Hand:

  • kann ohne X-Abhängigkeiten kompiliert werden
  • hat einen recht schmalen Footprint
  • hat ein nettes WebInterface
  • wird ständig weiterentwickelt

Problem ist, das die aktuelle Version 1.74 der in Ubuntu vorhandenen 1.51 doch deutlich vorraus ist.

Also mal los (alle folgenden Schritte geschehen auf der NSLU2-Konsole über SSH):

Zuerst die benötigten Abhängigkeiten installieren:

  1. sudo apt-get install transmission-daemon build-essential libtool pkg-config libcurl4-openssl-dev intltool

Das wird ein paar Minuten dauern, denn den Spitznamen Slug (Schnecke) hat die kleine Kiste nicht zu unrecht. Warum ich Transmission zuerst über die Paketverwaltung einspiele hat den folgenden Grund: Dadurch werden zum Beispiel das relativ praktische Startskript unter /etc/init.d angelegt mit dem sich der Transmission-Daemon leicht starten und stoppen läßt. Vielleicht nicht die sauberste Methode, aber es spart einiges an Handarbeit.
Stoppen sollte man den Prozeß auch vor den folgenden Schritten:

  1. sudo /etc/init.d/transmission-daemon stop

Anschließend besorge man sich die aktuelle stabile Version von Transmission von der Homepage und entpacke diese in ein geeignetes Verzeichnis:

  1. mkdir build
  2. cd build
  3. tar -cvjf /pfad/zu/transmission-1.74.tar.bz2 # Der Pfad und die Versionsnummer sind entsprechend anzupasse

Wechsle in dieses und führe die altbekannte Kompilationstriade aus:

  1. cd transmission-1.74
  2. ./configure
  3. make
  4. sudo make install

Das führt dazu, dass Transmission ohne X-Abhängigkeiten kompiliert wird, da schlicht kein GTK oder QT auf der NSLU2 installiert sind. Das 'make install' überschreibt anschließend die von der Paketverwaltung installierten alten Binaries und der Daemon kann mit

  1. sudo /etc/init.d/transmission-daemon start

gestartet werden.
Die Konfiguration von Transmission dürft ihr allerdings selbst übernehmen. Dokumente dazu findet ihr in der folgenden Quelle:
Transmission Konfigurationsdatei editieren

Rein subjektiv finde ich die aktuellere Version, gerade auf dem WebInterface, ein wenig flotter, und, wenn ich mich nicht allzusehr täusche, ist die CPU-Auslastung während den Downloads ist auch ein wenig geringer.

Und nun viel Spaß und im Vorraus schonmal ein schönes Wochenende!

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!