Posts Tagged ‘ubuntu’

Ubuntu 9.04 auf der Linksys NSLU2

29.08.2009

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

28.08.2009

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:

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:

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:

mkdir build
cd build
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:

cd transmission-1.74
./configure
make
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

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

25.05.2009

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

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):

sudo lighty-enable-mod fastcgi
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:

simple-vhost.server-root         = "/var/www/servers/"
simple-vhost.document-root       = "/htdocs/"
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:

include_shell "/var/www/servers/config_servers"

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

#!/bin/bash
 
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 {
  echo "\$HTTP[\"host\"] == \"$VHOST\" {"
  echo "var.vhost_name = \"$VHOST\""
  echo "var.vhost_path = \"/var/www/servers/$VHOST\""
  cat "/var/www/servers/$VHOST/server.conf"
  echo "server.errorlog = \"/var/www/servers/$VHOST/logs/error.log\"",
  echo "accesslog.filename = \"/var/www/servers/$VHOST/logs/access.log\""
  echo "}"
} ; done

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

sudo chown www-data:www-data /var/www/servers/config_servers
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!

W-LAN der Uni-Marburg mit Wicd nutzen

05.05.2009

Da meine schöne (noch) Uni in Marburg zwar (löblicherweise) Informationen bereit stellt wie man unter Linux mit Hilfe des Network-Managers oder wpa_supplicant in das per EAP-TTLS gesicherte W-Lan-Netzwerk kommt, aber meinem Lieblingsnetzwerkverwalter Wicd keine Anleitung gewidmet wurde, holen wir das schnell mal nach. Zum Glück bietet Wicd die großartige Möglichkeit eigene Templates anzulegen, um neue Verschlüsselungsarten hinzuzufügen (nicht falsch verstehen, die gängigen sind schon mit dabei). Diese Templates basieren auf den Konfigurationsdateien für wpa_supplicant und eine Anleitung zur Umsetzung eurer Lieblingsverschlüsselung findet ihr hier: http://wicd.sourceforge.net/templates.php

Doch nun ans Werk.

Zunächst muss das Root-Zertifikat von der Uni-Seite heruntergeladen werden, dieses befindet sich hier: http://www.uni-marburg.de/hrz/internet/wlan/deutsche-telekom-root-ca-2.pem. Gespeichert werden sollte es an dem dafür vorgesehenen Ort: '/etc/ssl/certs/'. Dies muss mittels sudo gemacht werden:


cd /etc/ssl/certs
sudo wget http://www.uni-marburg.de/hrz/internet/wlan/deutsche-telekom-root-ca-2.pem

Bin mir gerade nicht sicher ob das Tool 'wget' zur Standardinstallation gehört, zur Not halt einfach installieren ;)

Anschließend wird aus folgender wpa_supplicant Konfiguration:

network={
ssid="UMRnet_students"
identity="Username@students.uni-marburg.de"
password="MeinPasswort"
proto=WPA
group=TKIP
pairwise=TKIP
eap=TTLS
key_mgmt=WPA-EAP
ca_cert="/etc/ssl/certs/deutsche-telekom-root-ca-2.pem"
anonymous_identity="anonymous"
phase2="auth=PAP"
priority=2
}

wie durch Zauberhand dieses Template für Wicd:


name = EAP-TTLS
author = Benjamin Zimmer
version = 1
require identity *Identity password *Password ca_cert *Path_to_CA_Cert anonymous *Anonymous
-----
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="$_ESSID"
scan_ssid="$_SCAN"
identity="$_IDENTITY"
password="$_PASSWORD"
proto=WPA
group=TKIP
pairwise=TKIP
eap=TTLS
key_mgmt=WPA-EAP
ca_cert="$_CA_CERT"
anonymous_identity="$_ANONYMOUS"
phase2="auth=PAP"
priority=2
}

Erklären werd ich den Spaß mal nicht, da das auf der Wicd Seite reichen sollte, falls doch Fragen sind, Finger heben und bitte nicht Schnipsen ;)

Diese Datei wird als '/etc/wicd/encryption/templates/eap-ttls' gespeichert und anschließend in die Datei '/etc/wicd/encryption/templates/active' folgende Zeile ganz unten eingetragen:

eap-ttls

Dann die Wicd Gui öffnen, oben auf Aktualisieren (Refresh) klicken und die erweiterten Einstellungen des UMR-Netzwerkes aufrufen:WLAN Uni Marburg mit Wicd

In diesen Dialog müsst ihr euren Benutzernamen, das Passwort, den Pfad zum heruntergeladenen Root-Zertifikat eintragen und in das letzte Feld 'anonymous' eintragen, fertig. Anschließend genügt ein Klick auf Verbinden (Connect) und die Geschichte läuft :) (hoffentlich)

Getestet wurde das ganze von mir unter (K)Ubuntu Jaunty mit Wicd Version 1.5.9

DVD-Ripper Handbrake jetzt mit Linux GUI

25.11.2008

Der beliebte und für Linux, Mac und Windows erhältliche DVD2MPEG-4 Konverter Handbrake gibt es in der neuesten Version auch mit einer GUI für Linux. Bisher war dort nur die Bedienung auf der Kommandozeile möglich.

Ausserdem neu in Version 0.9.3:

  • nahezu alle Arten von Videoquellen werden akzeptiert, man ist nicht mehr nur auf DVDs beschränkt
  • Verbesserung der Qualität von x264 kodierten Videos
  • Audio-Video-Synchronisation
  • Unterstützung für den Ogg Theora Codec

Handbrake bietet viele Presets zur Aufbereitung von Videodaten für das Abspielen auf vielen verschiedenen Geräten, darunter:

  • Apple iPod/iPhone, AppleTV
  • Sony PSP/PS3
  • Xbox360

Zum Download zur Verfügung stehen 32- und 64-bit Versionen für Ubuntu Intrepid, sowie ein Source-Package für das Selbstkompilieren auf anderen Linux-Distributionen.

Achtung: Unter Intrepid musste ich das Paket libgtkhtml3.14-19 installieren, sonst startete Handbrake nicht!