Archiv der Kategorie: software

Windows – Linux

Neues KDE 4.3 Theme unter KDE 4.2 installieren

KDE 4 Air Theme ScreenshotDas neue Theme für KDE4 das mit der Version 4.3 Einzug finden wird und den schönen Namen "Air" trägt, kann jetzt über das KDE SVN bezogen werden. Dann machen wir das doch direkt mal, sieht nämlich ziemich gut aus 😉

Also:

Wer es nicht schon hat muss vorher subversion installieren:

  1. sudo apt-get install subversion
  2.  
  3. cd ~/.kde/share/apps/desktoptheme/
  4.  
  5. svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase/runtime/desktoptheme/air

Dann sollte das Theme in den Arbeitsflächen Einstellungen (Rechtsklick auf den Desktop->Einstellungen zum Erscheinungsbild) zu finden sein. Aber Vorsicht wer KDE4 auf Deutsch einsetzt: Hier heißt das Theme nicht "Air" im Auswahldialog, sondern "Luft". Entschuldigung, aber, Schwachsinn?!? Egal, funktioniert und sieht gut aus, viel Spaß damit!

via [Czessi::Blog]

CouchDB – Die total relaxte Datenbank

CouchDBWer sich, aus welchen Gründen auch immer, mit Datenbanken beschäftigen muss, der wird mit Sicherheit schon an SQL-basierten Datenbanken vorbeigekommen sein. Der ein oder andere mag sich dabei auch gefragt haben, ob das wirklich so kompliziert sein muss, denn das sind relationale Datenbankmodelle, zumindest für meinen Kopf.

Eine mögliche Antwort auf diese Frage, könnte "Nein" lauten. Belegen werde ich diese knappe Aussage auch, und zwar mit CouchDB. CouchDB ist zum einen eine dokumentbasierte Datenbank. Das kann man sich so vorstellen, wie eine Ansammlung von Word/OpenOffice-Dokumenten, von denen jedes Dokument einen Datensatz, im Vergleich (kein allzu Guter) also eine Zeile aus einer SQL-Tabelle darstellt. Ob das jetzt zur Vereinfachung beiträgt, sei mal dahingestellt. Viel wichtiger ist, und das ist Punkt 2, dass CouchDB nicht Schema-basiert ist. Man muss also sein Datenbankmodell nicht bis ins kleinste Detail austüfteln bevor man mit der Programmierarbeit startet, sondern man entspannt sich erstmal und haut dann einfach in die Tasten.

Viel besser erklären als ich, können das Konzept hinter CouchDB allerdings Jan Lehnardt und Alexander Lang, die im Chaosradio Express Nummer 125 einen zwar langen, aber sehr interessanten Einblick in die Welt des unglaublich entspannten Datenbankens gewähren.

Und damit die Zeit während des Downloads nicht so lang wird, hier noch ein paar Links zum Thema mit auf dem Weg:

CouchDB - Offizielle Seite

CouchDB - en.wikipedia.org

CouchDB - A use case - kore-nordmann.de

Falls Interesse besteht würde ich auch ein kleines Tutorial zur Kompilierung der aktuellen Version unter Ubuntu bereitstellen. Bedarf kann in den Kommentaren angemeldet werden 😉

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!

W-LAN der Uni-Marburg mit Wicd nutzen

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

Launchpad PPA Key Import Skript v0.3

Key TermAuch auf die Gefahr hin euch auf die Nerven zu gehen...hier kommt die nächste, natürlich wieder enorm verbesserte Version des Launchpad PPA Key Importers.

Warum so schnell? Nun, daran ist Fredo schuld, der mich hier darauf hingewiesen hat, das das angehangene "/ppa" an den PPA-URLs eine Art Vorsorgemaßnahme ist um in Launchpad mehrere PPAs pro Person anzulegen.

Während die Version des Skriptes von heute morgen nur darauf bedacht war den String "/ppa" herauszufiltern, kann die neue verbesserte Version alles erkennen was nach dem eigentlichen Namen des PPA-Bereitstellers folgt, und dieses beseitigen. Dank an Fredo!

Ausserdem hat Matthäus, ebenfalls in den Kommentaren, zwei Verbesserungen vorgeschlagen, die da wären:

  • Check ob das Skript mit den erforderlichen Rechten gestartet wird
  • benutzen der Standard "/etc/apt/sources.list" falls keine alternative als Parameter angegeben wird

Beides wurde ins Skript übernommen. Auch hier: Danke an den Tipp-Geber! Außerdem wurde das Fehler-Handling etwas verbessert und eine Option "--help" hinzugefügt.

Fein, fein...dann mal noch einen schönen Abend und, äh, tschuldigung für die Störung. Ich halte mich nur an das alte Grundgesetz: "Release early, release often" 😉

Download von Version 0.3

Oder direkt aus Launchpad:

bzr branch lp:lki