Journal

Installation von Redmine und Git unter Ubuntu

Auf der Suche nach einer Alternative zur Software-Projektverwaltungssoftware Trac landete ich bei Redmine, einer in Ruby bzw. mit Hilfe von Rails geschriebenen Software. Die Features lassen sich sehen – vor allem die Multiprojekt-Unterstützung, Kalender und Gantt-Diagramm, Zeiterfassung und gute Unterstützung für Git sind im Vergleich zur Trac herausragend. Wie sich während der Installation herausstellte, ist auch das Authentifizierungs-Feature für SVN und Git via WebDAV absolut praktisch – über die Rechte der Projektteilnehmer in Redmine wird automatisch auch der Lese- und Schreibzugriff im Versionskontrollsystem gesteuert, die Benutzer müssen also nur an einer Stelle gepflegt werden.

Für alle, die Redmine auch installieren möchten, hier ein paar meiner Erfahrungen. Die Installation erfolgte auf einem System mit Ubuntu 9.10 Server, es wird ein Apache-HTTP-Server und MySQL vorausgesetzt. Es gibt viele Möglichkeiten, eine Ruby/Rails-Anwendung zu installieren – ich habe mich für die Variante mit Apache und Passenger (mod_rails) entschieden.

Installation von Redmine

Zuerst werden die für Redmine benötigten Pakete installiert.

sudo aptitude install ruby rails rubygems ruby1.8-dev libgemplugin-ruby libgemplugin-ruby1.8 libruby-extras libruby1.8-extras rubygems1.8 rake apache2-threaded-dev libapache-dbi-perl libapache2-mod-perl2 libdigest-sha1-perl libopenssl-ruby build-essential

Hinweis: bei mir wurde die über die Paketverwaltung installierte Version von Rails später nicht erkannt – und generell sollte man Rails möglichst nur auf eine Art und Weise installieren, entweder via Paketverwaltung oder gem. Deshalb sollte “rails” eventuell lieber gleich weggelassen werden.

Dann wird ein virtueller Apache-Host angelegt, dazu wird z.B. das Verzeichnis /var/www/redmine.example.lit/redmine angelegt.

Damit Ruby/Rails-Anwendungen via Apache ausgeführt werden können, wird nun Passenger (“mod_rails”) installiert. Passenger ist auch in den Paketquellen von Ubuntu zu finden, jedoch will apt für die Installation den bei mir installierten apache2-mpm-prefork sowie php5 deinstallieren. Deshalb habe ich mich für die Installation via gem entschieden:

sudo gem install passenger

Nach der Installation muss das Apache-Modul kompiliert werden, die benötigten Pakete sollten alle bereits installiert sein. Um das Modul zu erstellen, wird folgendes ausgeführt:

/var/lib/gems/1.8/bin/passenger-install-apache2-module

Nun wird man durch den Kompiliervorgang des Moduls geführt, eventuell fehlende Abhängigkeiten werden beschrieben und notwendige Schritte erläutert. Danach ist das apache2-Modul kompiliert und muss noch aktiviert werden. Dazu wird die Datei /etc/apache2/mods-available/passenger.load mit folgendem Inhalt angelegt:

LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so

Nun wird noch die Modul-Konfigurationsdatei (/etc/apache2/mods-available/passenger.conf) mit folgendem Inhalt angelegt:

PassengerRoot /var/lib/gems/1.8/gems/passenger-2.2.9
PassengerRuby /usr/bin/ruby1.8

(Die Pfade können bei neueren Versionen oder anderen Distributionen abweichen.)

Nun muss das Modul noch aktiviert und Apache neu gestartet werden:

sudo a2enmod passenger
/etc/init.d/apache2 restart

Jetzt kann Redmine heruntergeladen werden. Für einfache spätere Updates wird das Auschecken des stable-Branchs via SVN oder git empfohlen. Dann reicht später ein Update über das Versionskontrollsystem zur Aktualisierung.

svn co http://redmine.rubyforge.org/svn/branches/0.9-stable/ /var/www/redmine.example.lit/redmine/

Nach dem Checkout sollte der Besitzer dieses Verzeichnisses und aller Unterordner/Dateien geändert werden. Entweder wird ein eigener Benutzer für Redmine angelegt oder es wird der Benutzer des Webservers (“www-data”) verwendet. Hintergrund: Passenger führt die Anwendung später mit diesem Benutzer aus! Deshalb sollte dies keinesfalls root sein.

sudo chown -R www-data:www-data /var/www/redmine.example.lit/redmine/

Ich habe mich für MySQL als Datenbank entschieden, es steht aber unter anderem auch SQLite zur Verfügung. Vorbereitend wird nun eine Datenbank (z.B. via phpMyAdmin) erstellt, ggf. mit eigenem DB-Benutzer:

CREATE DATABASE `redmine` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Dann muss eine DB-Konfigurationsdatei aus der Beispieldatei erstellt und im Bereich “production” die richtigen DB-Verbindungsdaten angegeben werden:

cd /var/www/redmine.example.lit/redmine/config/
cp database.yml.example database.yml
nano database.yml

Anschließend wird der Mailversand konfiguriert:

cd /var/www/redmine.example.lit/redmine/config/
cp email.yml.example email.yml
nano email.yml

Dort muss bei Verwendung von sendmail nur folgendes eingetragen werden:

production:
  delivery_method: :sendmail

Bei der verwendeten SVN-Version muss noch ein Session-secret erzeugt werden, dies ist wohl bei den “richtigen Releases” nicht notwendig:

rake generate_session_store

Nun wird die Datenbankstruktur erzeugt und die Standard-Konfiguration in die Datenbank geschrieben. Dazu wird folgendes (im Wurzelverzeichnis der Installation) aufgerufen:

cd /var/www/redmine.example.lit/redmine/
sudo rake db:migrate RAILS_ENV="production"
sudo rake redmine:load_default_data RAILS_ENV="production"

Sollte die folgende folgende Fehlermeldung erscheinen:

Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

oder die folgende:

The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted!

muss Rails (wie oben erwähnt) oder der MySQL-Treiber für Rails noch wie beschrieben installiert werden. Außerdem muss ruby-openid installiert sein, damit das OpenID-Feature genutzt werden kann.

sudo gem install -v=2.3.5 rails
sudo gem install mysql
sudo gem install ruby-openid

Nun kann der virtuelle Apache-Host nach folgendem Muster konfiguriert werden (z.B. /etc/apache2/sites-available/redmine.example.lit):

   <virtualhost *:80>
      ServerName redmine.example.lit
      DocumentRoot /var/www/redmine.example.lit/redmine/public
      <directory /var/www/redmine.example.lit/redmine/public>
         AllowOverride all
         Options -MultiViews
      </directory>
   </virtualhost>

Nach dem Aktivieren des virtuellen Hosts und dem Neuladen der Apache-Konfiguration mittels

sudo a2ensite redmine.example.lit
/etc/init.d/apache2 reload

ist Redmine über die entsprechende (Sub-)Domain erreichbar. Nun kann Redmine über die Oberfläche konfiguriert werden. Die Administrator-Zugangsdaten sind admin/admin (und sollten gleich geändert werden).

Einrichten eines öffentlich lesbaren GIT-Repositorys via HTTP/WebDAV mit Redmine als Zugriffskontrolle

Nach dem Anlegen einiger Projekte habe ich für diese ein Git-Repository angelegt. Git wird der Einfachheit halber für die Nutzung via HTTP/WebDAV konfiguriert, auch wenn dies deutlich weniger performant als die anderen zur Verfügung stehenden Varianten ist. Ein weiterer Vorteil ist die Erreichbarkeit auch aus Umgebungen mit restriktiven Firewalls. Außerdem kann so die anfangs erwähnte Authentifizierung via Redmine genutzt werden.

Falls noch nicht vorhanden, muss git installiert werden.

sudo aptitude install git-core

Von einem installierten Apache2 mit mod_dav wird ausgegangen. Zuerst wird – am Besten außerhalb der DocumentRoot – ein Verzeichnis für das Repository angelegt. Danach wird ein git-Repository in diesem Ordner erstellt, das durch die Option –bare nicht mit einer Arbeitskopie in Verbindung steht. Anschließend wird der Benutzer und die Gruppe des Webservers als Eigentümer des Verzeichnisses gesetzt, bei Debian und Ubuntu ist dies “www-data”.

Wichtig ist, dass der Name des Repository-Ordners mit dem existierenden GIT-Projekt-Identifier übereinstimmt, damit Redmine später die Zuordnung gelingt.

cd /var/www/redmine.example.lit/
mkdir git
cd git
mkdir example-project
cd example-project
git --bare init
cd ..
sudo chown -R www-data:www-data example-project

Nun wird die Zugriffskontrolle via Redmine eingerichtet. Dazu wird erst einmal mod_perl, mod_dav und weitere Abhängigkeiten installiert und die erforderlichen Module aktiviert. Redmine stellt zur Authentifizierung ein Perl-Modul bereit.

sudo aptitude install libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha1-perl
 
sudo a2enmod dav
sudo a2enmod dav_fs
sudo a2enmod perl

Dann wird das Redmine-Perl-Modul an die richtige Stelle verlinkt:

ln -s /var/www/redmine.example.lit/redmine/extra/svn/Redmine.pm /usr/lib/perl5/Apache/Redmine.pm

Nun muss ein virtueller Apache-Host für den Zugriff konfiguriert werden. Dazu wird z.B. ein neuer virtueller Apache-Host nach folgendem Muster konfiguriert (im unteren Teil den Namen sowie die Zugangsdaten für die Datenbank einsetzen). Das Verzeichnis, das als DocumentRoot angegeben ist, sollte existieren.

   <virtualhost *:80>
      ServerName code.example.lit
      DocumentRoot /var/www/redmine.example.lit/code
 
      PerlLoadModule Apache::Redmine
 
      Alias /git /var/www/redmine.example.lit/git
 
      <location /git>
          DAV on
 
          AuthType Basic
          Require valid-user
          AuthName "Git"
 
          Options +Indexes -ExecCGI -Includes
 
          PerlAccessHandler Apache::Authn::Redmine::access_handler
          PerlAuthenHandler Apache::Authn::Redmine::authen_handler
 
          RedmineDSN "DBI:mysql:database=redmine;host=localhost"
          RedmineDbUser "username"
          RedmineDbPass "password"
      </location>
   </virtualhost>

Anschließend ist das Git-Repository des Projekts “example-project” – jedenfalls laut Beispielkonfiguration – unter code.example.lit/git/example-project erreichbar. Falls das Projekt in Redmine auf “öffentlich” geschaltet ist, kann jeder auf dieses Repository lesend zugreifen. Schreibzugriffe haben alle Redmine-Benutzer, die dem Projekt als Mitglied zugeordnet sind.

Damit der Repository-Browser von Redmine das Repository findet, kann es eventuell nötig sein, in der Projektkonfiguration für das Repository “Git” auszuwählen und den (lokalen!) Pfad anzugeben, z.B. /var/www/redmine.example.lit/git/example-project

Sollte beim Anzeigen des Repositories in Redmine ein Fehler auftreten, kann dies daran liegen, dass es noch keinen Commit gab.

Weiterführende Hinweise finden sich auf folgenden Seiten:

XMPP und OneSocialWeb – Ausgabe 26 des OpenWebPodcasts

Eine neue Episode des OpenWebPodcasts ist online: in dieser Folge geht es um XMPP und OneSocialWeb, ein Forschungsprojekt von Vodafone, das ein freies, dezentrales Social Network auf Basis von XMPP und anderen Web-Standards entwerfen will.

Zu Gast: ich! Da dies mein erster Podcast ist, bitte ich, eventuell auftretende Nervosität zu entschuldigen…

Hier der Link zur Episode:
Blog-Beitrag mit Zusammenfassung und Links

FOSDEM 2010 schedule application for WebOS

If you’re going to this years’ FOSDEM (Free and Open source Software Developers’ European Meeting) in Brussels, and own a Palm Pre or Palm Pixi, this application may help you keeping track of the schedule. It downloads the schedule from FOSDEM server, saves it to your device and shows a list of events. So you can use the schedule offline – this might save you data roaming fees.

This is my first WebOS application and it was created in very short time, anyhow I hope it’s a little bit useful.

A small feature list:

  • Stores schedule. Use the “Refresh”-button in the left corner to download the latest schedule and automatically save it for offline use. This also happens if you hit “Yes” after first launch.
  • Event details. Tap on an event to view detailed information.
  • Quick search. Simply start typing to search in all titles, locations and attendees.
  • Hide expired events. Tap on the right button to hide all events which are already expired.
  • Campus map. Use the campus map for orientation. You can find it in the application menu in the schedule scene. It’s the one I found on the FOSDEM website.
  • Supports every orientation. Turn the device as you like to.

This application is free software and licensed under the GPL v3.

Download: You can download this application via Palm web distribution. Simply tap the link from your WebOS phone, you can easily install the application on your device. You can also download it to your desktop pc as .ipk package file and install it via WebOS Quick Install. I also provide a .zip file which includes the source code and a few resources, so you can play around with the source code (although you also could unzip the .ipk file).

If you find bugs or need support, please write a comment (preferred) or an E-Mail, I’ll respond as soon as possible.

Palm Pre: WebOS 1.3.5.2 in Europa verfügbar

Seit der vergangenen Nacht ist WebOS 1.3.5.2 auch für europäische Palm Pre-Geräte verfügbar. Nachdem das Update bereits Ende Dezember in den USA als Version 1.3.5 erschien, kommen nun auch die o2-Kunden in den Genuss der kleinen, aber insgesamt spürbaren Verbesserungen – hier ein kleiner Auszug:

  • Der App Catalog wurde deutlich verbessert, Updates und Neuinstallationen von Anwendungen können parallel heruntergeladen werden, Downloads können angehalten und wieder aufgenommen werden
  • Das Speicherplatz-Limit für Anwendungen wurde aufgehoben, alle Applikationen liegen jetzt verschlüsselt auf der USB-Partition
  • Im Kalender kann man spürbar schneller durch einzelne Tage blättern
  • Die Akkulaufzeit soll in Gebieten mit schlechter Netzabdeckung verbessert worden sein
  • Mit dem neu unterstützten Bluetooth-Profil PAN kann das Handy als UMTS-Modem für PCs genutzt werden (dies ist bei der US-Firmware nicht möglich)
  • Die Uhr im Sleep-Modus hat jetzt eine schönere Schrift

Zu diesen offiziellen Verbesserungen gab es auch im Verborgenen einige Schritte nach vorn: die Oberfläche reagiert subjektiv schneller und flüssiger auf Eingaben, die Kamera reagiert schneller und der Browser wirkt performanter. Unangekündigterweise hat auch die Unterstützung des Grafik-Chips, der bisher ungenutzt blieb, Einzug gehalten. Damit können jetzt aufwändigere Spiele auf dem Gerät laufen, einige wurden bereits auf der CES in Las Vegas vorgestellt (sind hierzulande aber leider erst ab März erhältlich). Die Entwicklung von C/C++-”Plugins” ist nun möglich, ein SDK wird im März veröffentlicht.

Für das Update gibt es ein paar wichtige Regeln:

  1. Falls Patches und/oder Themes installiert sind, müssen diese unbedingt deinstalliert werden. Dabei hilft auch das Tool “Emergency Patch Recovery”, das via Preware installiert werden kann
  2. Preware (falls installiert, ansonsten weiter mit 3.) sollte unbedingt vor dem Update in der aktuellen Version 0.9.12 sowie der Package Manager Service in Version 0.9.29 installiert sein. Beides sollte mit der aktuellen Version von WebOS Quick Install, 2.96, durchgeführt werden. Sind die Versionen (insbesondere des Package Manager Service) zu alt, treten nach dem Update Probleme mit dem App Catalog sowie mit Preware auf.
  3. Das Update über die “Update”-Anwendung durchführen – Achtung: der Akku muss ausreichend Restladung haben. Das Update dauert etwa eine halbe Stunde inklusive Download, “Entpacken” und Installation.
  4. Nach der Installation und dem Neustart des Systems sollte – sofern “Homebrew”-Anwendungen installiert sind, das Tool “Emergency Migration Helper” ausgeführt werden. Dieses kann ebenfalls mit Preware installiert werden. Nach der Installation wird die Oberfläche neu gestartet und das Tool entfernt sich automatisch selbst. Wie bereits das Update selbst stößt das Tool das Verschieben der auf der Hauptpartition installierten Anwendungen auf die USB-Partition an, behebt aber zusätzlich einige Probleme.

Nach dem Update “vergessen” leider einige Anwendungen – bei mir z.B. der identi.ca-/Twitter-Client Spaz, ihre Einstellungen. Diese müssen dann erneut vorgenommen werden. Bei der Migration werden einige Anwendungsdaten nicht korrekt übernommen.

Ist alles erledigt, kann man mit SuperTux, Doom, Quake und Classic Invaders, die alle kostenlos über Preware installiert werden, einen kleinen Vorgeschmack auf die neuen nativen Spiele bekommen.

Das nächste Update wird die auf der CES angekündigte Version 1.4 sein, das einen Video-Recorder, Videobearbeitung und voraussichtlich auch Flash mitbringt. Es soll im Februar erscheinen, in Europa wohl wieder etwas später. Ab März soll es dann auch in Europa möglich sein, kostenpflichtige Anwendungen über den App Catalog zu erwerben.

Installation des Palm Mojo SDK 1.3.5 für WebOS unter Ubuntu 9.10

Zur Entwicklung von Anwendungen für WebOS benötigt man das Mojo-SDK von Palm. Im Folgenden eine kurze Beschreibung der Installation für die aktuelle Ubuntu-Version 9.10 (Karmic Koala). Obwohl zum aktuellen Zeitpunkt für europäische Palm Pre-Geräte noch die Firmware 1.3.1 aktuell ist, installiere ich bereits das SDK 1.3.5, da es sich bis zur Veröffentlichung der neuen Firmware in Europa (hoffentlich) nur um Tage handeln kann…

Für den Emulator des SDK wird die Virtualisierungssoftware VirtualBox von Sun benötigt. Eine aktuelle Version von VirtualBox erhält man am Besten, indem man das offizielle VirtualBox-Repository zu den Paketquellen hinzufügt. Dies kann man sowohl in der /etc/apt/sources.list direkt als auch in der Gnome-Anwendung “Software-Paketquellen” (System > Systemverwaltung > Software-Paketquellen) vornehmen. In ersterem Fall wird die folgende Zeile einfach an eine geeignete Stelle der Datei eingefügt, im zweiten Fall wechselt man in den Reiter “Andere Software” und fügt dieselbe Zeile über “Hinzufügen” der Liste hinzu:

deb http://download.virtualbox.org/virtualbox/debian karmic non-free

Um den Key der neuen Paketquelle zu importieren, muss in der Konsole folgendes ausgeführt werden:

wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -

Nun kann nach einem Update der verfügbaren Pakete das Java Runtime Environment von Sun sowie VirtualBox installiert werden (Die freie Standard-Java-Runtime von Ubuntu, GCJ ist wohl mit dem SDK nicht kompatibel):

sudo apt-get update
sudo apt-get install sun-java6-jre
sudo apt-get install virtualbox-3.0

Auf 64bit-Systemen muss wohl noch folgendes Paket installiert werden:

sudo apt-get install ia32-libs

Dann kann es bereits an die Installation des Novacom-Service (wird benötigt) und des SDK gehen, das bequem als .deb-Paket von Palm heruntergeladen werden kann:

palm-novacom_1.0.46_i386.deb
palm-sdk_1.3.5-svn234138-sdk117-pho368_i386.deb

Die beiden Pakete können in Ubuntu einfach durch Doppelklick oder auf der Konsole via dpkg -i [Dateiname] installiert werden. Achtung: die Novacom-Version scheint seit dem SDK 1.3.5 erneuert worden zu sein – eine eventuell bestehende Novacom-Installation (z.B. für WebOS Quick Install) sollte also aktualisiert werden.

Fertig! Nun kann zum Test der Emulator mittels

palm-emulator

gestartet werden. Update: Leider erhalte ich die Fehlermeldung, dass Novacom nicht läuft.

Novacom Not Running
In order to install or debug applications in the Palm Emulator, the novacom service must be running on your desktop. Please verify that you have the latest Palm SDK installed correctly.

Dieser Fehler, der mit Upstart von Ubuntu Karmic zusammenhängt, sollte laut Palm-Developer-Forum eigentlich in der aktuellen Novacom-Version behoben sein. Offensichtlich ist dennoch Handarbeit nötig, das Anlegen der Datei /etc/init/novacomd.conf – mit dem der Start von novacomd funktionieren soll – ist hier beschrieben. Vorübergehend lässt sich Novacom aber auch manuell wie folgt starten:

sudo /opt/Palm/novacom/novacomd start

Update 2: Nachdem ich im Emulator-Fenster zur Auswahl der Systeme (Pre/Pixi) nach dem Start von palm-emulator auf “Start Emulator” klicke, passiert nichts – mttels Doppelklick auf das entsprechende System startet der Emulator allerdings problemlos.

Die Installationsschritte können auch direkt bei Palm noch einmal nachgelesen werden.

Ein guter und einfacher Einstieg in die ersten Schritte mit dem SDK ist Palms Hello World-Tutorial. Viel Erfolg mit dem SDK!

Palm Pre: Akku-Probleme seit WebOS 1.3.1 beheben

Pre Strom-IconNach dem Update auf WebOS 1.3.1 entleerte sich mein Akku plötzlich dramatisch schnell. Vom Palm Pre ist man ja grundsätzlich keine allzu hohe Akkulaufzeit gewohnt, aber seit 1.3.1 musste ich plötzlich bereits um die Mittagszeit erneut laden, ohne das Gerät besonders oft benutzt zu haben. Das ist für ein mobiles Gerät nicht akzeptabel.

Dieses Problem scheint vereinzelt nach dem Update aufzutreten – und neben einigen Tipps, die nur bei der CDMA-Version in den USA funktioniert, fand ich eine recht abenteuerliche Lösung, mit der ich zumindest die alte Laufzeit wieder erreiche.

Der Tipp, offensichtlich sogar von einem Palm-Support-Mitarbeiter, findet sich im Forum von everythingpre.com. Hier eine Zusammenfassung – Verwendung auf eigene Gefahr:

  1. Das Gerät zum Laden anschließen. Ich verwendete dazu den Touchstone.
  2. Während des Ladevorgangs die interaktiven Tests ausführen. Dazu im Launcher “Geräteinformationen” aufrufen und über das Menü “Interaktive Tests” wählen. Ich habe hier mangels näherer Informationen aus der Quelle einfach verschiedene Tests ausgeführt, der Test “Stromversorgung” klingt aber am Relevantesten.
  3. Außerdem habe ich noch die “Schnelltests” ausgeführt (ebenfalls während des Ladevorgangs), die ebenfalls über die “Geräteinformationen” gestartet werden können.
  4. Danach wird das Gerät neu gestartet. Und zwar mit folgender Methode: den “Power”-Knopf oben rechts am Gerät gedrückt halten und den “Lautlos”-Schalter dreimal hin- und her schalten (was beim Abstand der Tasten und der Tatsache, dass das Gerät noch auf dem Touchstone liegt, etwas Finger-Akrobatik erfordert). Daraufhin startet das Gerät neu.
  5. Nach dem Neustart soll der Pre noch zwei Stunden laden.

Klingt alles sehr abenteuerlich – aber offensichtlich wird durch diese Methode ein fehlerhaftes Verhalten behoben, das in Verbindung mit dem erhöhten Akkuverbrauch steht. In meinem Fall brachte es jedenfalls den gewünschten Effekt.

Bild: CC-BY-SA WebOS Wiki

Palm Pre: Installation von Preware

PrewareAuf dem Palm Pre können neben den offiziellen Anwendungen über den App Catalog auch inoffizielle Anwendungen (sogenannte “Homebrew Apps”), Patches und Themes installiert werden. Für diesen Zweck ist Preware gut geeignet. Ist diese Anwendung einmal installiert, lassen sich über sie weitere Anwendungen aus inoffiziellen Anwendungskatalogen unkompliziert direkt über den Palm Pre installieren. Die Installation erfolgt jedoch auf eigene Gefahr! Schlimmstenfalls kann das Gerät unbrauchbar werden oder der Garantieanspruch erlöschen.

Hier eine Kurzanleitung zur Installation – weitere, deutlich detailliertere Anweisungen und viele weiterführende Links finden sich bei PreCentral: Anleitung zu Preware und WebOS QuickInstall. Die Anleitung bezieht sich auf einen deutschen Palm Pre von O2 mit WebOS 1.3.1.

Installationsschritte:

  1. Zunächst muss WebOS QuickInstall heruntergeladen werden. Diese Anwendung benötigt Java. QuickInstall ermöglicht die Installation von Anwendungen auf dem Pre.
  2. WebOS QuickInstall benötigt den WebOS Doctor von Palm. Für die europäische o2-Version, Firmware 1.3.1, kann er hier heruntergeladen werden. Er besteht – wie QuickInstall – aus einer JAR-Datei. Die heruntergeladene Datei muss in dasselbe Verzeichnis wie QuickInstall gelegt werden und zu “webOSDoctor.jar” umbenannt werden.
  3. Als weitere Voraussetzung wird Novacom benötigt, eine Bibliothek von Palm. Novacom für Linux kann hier als DEB-Package heruntergeladen werden, die Datei wird aber von QuickInstall auch automatisch zum Download angeboten.
  4. Nun kann QuickInstall gestartet werden: z.B. mit “java -jar WebOSQuickInstall.jar &” auf der Linux-Konsole. Es sollte keine Frage nach WebOS Doctor kommen, sofern er korrekt benannt im selben Verzeichnis liegt. Gegebenenfalls erscheint eine Aufforderung zum Download von Novacom. Als Anschlussart sollte “USB” ausgewählt werden. Danach ist QuickInstall einsatzbereit.
  5. Nun muss der Developer-Modus des Pre aktiviert werden. Dazu wird einfach im Launcher über die Universal Search folgendes eingegeben: “upupdowndownleftrightleftrightbastart”. Ist alles eingegeben, erscheint ein Programm-Icon “DeveloperMode” als Suchergebnis. Nach Klick auf das Icon kann der Developer Mode über einen Schieberegler aktiviert werden. Nach Aufforderung sollte das Gerät neu gestartet werden.
  6. Ist das Gerät neu gestartet (im Developer-Modus), wird das Gerät per USB an den PC angeschlossen, die Frage nach dem USB-Modus beantwortet man mit “Nur aufladen”.
  7. Nun wird zunächst der “Package Manager Service” mit Hilfe von QuickInstall installiert. Dazu klickt man rechts auf das dritte Icon von oben, wählt oben “WebOS Internals Feed (all)” aus, setzt den Haken bei “Package Manager Service” und klickt auf “Download”. Nach dem Herunterladen kann das Fenster geschlossen werden, in der Liste des Hauptfensters befindet sich jetzt das entsprechende Paket. Über den “Install”-Button wird das Paket auf dem Pre installiert. Wichtig: nicht zuerst Preware installieren – und nicht den eventuellen Vorschlag von WebOS QuickInstall annehmen, den Package Manager Service automatisch zu installieren, da QuickInstall eine falsche Version verwendet.
  8. Der Package Manager Service ist nun installiert – auf demselben Wege wird nun auch Preware installiert. Klick auf das unterste rechte Icon, Feed “WebOS Internals Feed (all)” auswählen, Haken bei “Preware” setzen, Klick auf “Download”, “Close”, “Install”. Fertig!
  9. Preware benötigt den Developer-Modus nicht mehr, deshalb sollte man aus Sicherheitsgründen diesen Modus nun wieder verlassen. Also in der Universal Search “upupdowndownleftrightleftrightbastart” eingeben, Klick auf das erscheinende Programm-Icon, Developer-Modus ausschalten, Neustart.
  10. Nun kann die neue Anwendung “Preware” gestartet und alle verfügbaren Anwendungen installiert werden! Dies sollte allerdings wohl überlegt geschehen, da sich alle der Anwendungen – inklusive Preware selbst – im Beta-Stadium befinden. Außerdem sollte man in den Preware-Einstellungen festlegen, in welchen Abständen die Anwendungslisten aktualisiert und von welchen Listen überhaupt Anwendungen angezeigt werden sollen. Weiterer Hinweis: vor einem WebOS-Update sollten alle eventuell installierten Patches deaktiviert werden!

Viel Erfolg beim Ausprobieren der Vielzahl an “Homebrew Apps”, Patches und Themes!

Palm Pre und Self-signed-Zertifikate für IMAP

Seit ein paar Tagen bin ich stolzer Besitzer des Palm Pre. Dazu folgt in Kürze ein ausführlicheres Review.

Hier ein Tipp für alle, die ihr IMAP(S)-Postfach mit dem Pre benutzen wollen, aber ein selbst signiertes Zertifikat verwenden und die Fehlermeldung “Das Sicherheitszertifikat des Servers ist ungültig oder Datum und Uhrzeit sind nicht korrekt eingestellt.” erhalten:

Da es leider keine Möglichkeit gibt, dem selbst signierten Zertifikat im Mail-Client zu vertrauen, muss das Zertifikat im Zertifikats-Manager des Pre installiert werden.

Zunächst muss das Zertifikat in ein geeignetes Format gebracht werden. Da ich am PC Thunderbird mit diesem Konto verwende, hier die Anleitung für Thunderbird (diese Anleitung setzt das Thunderbird-Addon Cert Viewer Plus voraus): “Extras” > “Zertifikat-Manager”, Reiter “Websites” das richtige Zertifikat des entsprechenden Servers auswählen, dann Klick auf den Button “Ansicht”. Im sich öffnenden Fenster Klick auf den Button “Export”, Format “X.509 Certificate (DER)”, Speichern.

Das exportierte Mailserver-Zertifikat im X.509 DER-Format kann nun auf den Palm in einen beliebigen Ordner kopiert werden. Nun muss das Zertifikat nur noch im Zertifikats-Manager des Pre importiertt werden. Dieser Manager ist etwas versteckt: im Anwendungsmenü links oben auf “Startbildschirm” > “Anwendungsliste”, dort wiederum links oben auf “Einstellungen” > “Zertifikatmanager”.

Dort muss über das Icon links unten das Zertifikat hinzugefügt werden. Nach dem Klick auf das Icon werden alle auf dem Gerät befindlichen Zertifikatsdateien angezeigt – unter anderem auch das eben per USB auf den Pre kopierte Zertifikat als DER-Datei. Diese Datei einfach auswählen, fertig.

Die E-Mail-Anwendung funktioniert nun auch mit dem selbstsignierten Zertifikat und gibt keine Warnungen mehr aus.

.DS_Store-Dateien entfernen

Mac OS hat die unangenehme Eigenheit, in jedem Ordner und Unterordner Dateien mit dem Namen .DS_Store anzulegen, die für Linux- oder Windows-User völlig unbrauchbar sind. Unter Linux bereinigt folgender Befehl alle dieser Dateien im aktuellen Ordner und allen Unterordnern:

find . -name .DS_Store -type f -exec rm -r {} \;

Selbstsigniertes SSL-Zertifikat erstellen

Eher als Notizzettel für mich: kurz und knapp – so erstellt man ein selbstsigniertes SSL-Zertifikat mit OpenSSL:

Private Key erstellen
openssl genrsa -des3 -out server.key 1024

Private Key ohne Passwortschutz erstellen (für Apache u.a.)
openssl rsa -in server.key -out server.key.decrypted

Certificate Signing Request erstellen
openssl req -new -key server.key -out server.csr

Zertifikat ausstellen
openssl x509 -req -days 3650 -in server.csr -signkey server.key.decrypted -out server.crt

PEM-Datei (für Courier etc.) erstellen
cat server.key.decrypted server.crt > server.pem
openssl gendh >> server.pem