Das war was schwieriges

Ich besitze einen Router auf dem ein Linux läuft. Genauer: Einen Netgear WNR3500L mit einer TomatoUSB-Firmware mit einem 2.6er Linux-Kernel.

Über verschiedene optware-Module kann man dort relativ einfach zusätzliche Software installieren. So läuft dort ein Torrent-Client (für onlinetvrecorder.de), ein lokaler webserver um die aus deliciouslibrary exportierte Datenbank meiner Fernsehaufnahmen und DVDs meinen WG mitgliedern zur Verfügung zu stellen und noch so ein paar Kleinigkeiten.

Nun hatte ich mir vorgenommen auf diesem Router davical, eine php/posgresql-implementation eines CalDAV-Server zu installieren. CalDAV ist der auf WebDAV basierende Standard zum austauschen von ics-Dateien (ics= iCal-Dateien=Kalender).

Dieses Modul ist leiter noch nicht per optware verfügbar und so musste ich selbst hand anlegen. Dazu waren allerleit Vorbereitungen zu treffen:

1. lighttpd musst eingerichtet werden

2. php5 musste installiert werden und mit lighttpd bekannt gemacht werden (ist glücklicherweise ein bereits zur verfügung stehendes modul, welches keinerlei weitere Konfiguration brauchte.)

3. postgreSQL musst installiert werden. Auch das steht als Paket via optware zur Verfügung. Aber leider konfiguriert sich das ding nicht selber. Und da gings los mit dem graussig werden.

4. postgreSQL mit initdb einrichten. Eigentlich soll man das nur ausführen und fertig. Allerdings beschwert es sich darüber, dass man das nicht als root ausführen darf. Also:

5. adduser installieren und zusätzlichen user einrichten. (Der Router ist ein Router und damit nur minimal ausgestattet. Einen anderen Benutzer als root und admin und nobody kennt er normalerweise nicht.) Einen benutzer eingerichtet und mit dem dem initdb ausgeführt. Da aber die eigentliche “festplatte” des Routers nicht beschreibbar ist werden alle zusätlichen optwarepakete in den Ordner /opt gespeicher, der physisch auf einem mit ext2 formatierten 2GB usb-Stick liegt. Damit kam posgresql nicht standardmäßig klar, und somit musste ich die Pfade für Arbeitsdaten, Programmdateien und Zugriff durch lighttpd noch manuell definieren. Bis ich herausgefunden habe wie das geht sind gefühlt Stunden vergangen.

6. daviport zuwenden und dort die passende Datenbank durch ein Script anlegen lassen. Dieses Script wollte natürlich auch nicht laufen. Insb. weil daviport auf einer php-Bibliothek vom gleichen Entwickler basiert die aber (weil das hier alles auf einem Router passiert) nicht in die Standardpfade installiert werden kann, sondern ich in allen möglichen Scripten und Config-Dateien diesen Pfad manuell eingeben muss. Doch auch das hab ich geschafft. Die Datenbank wird angelegt. Leider mit einer Fehlermeldung die “YAML” betrifft.

7. YAML gibt es nicht als optware-Paket. Wohl eine neuer Implementierung nicht als Perl-Script, aber das hilft mir in diesem Fall nicht. Ich brauche das Original als Perl-Lösung. Was eigentlich ein Glücksfall ist. Perl ist eine Scriptsprache und muss damit nur “konfiguriert” und nicht compiliert werden. Denn wie ich für diesen Router c oder öhnliches compiliere habe ich noch nicht herausfinden können. Ist wohl auch schwierig auf OS X. Immerhin ist die ubuntu-virtuelle Maschine schon geladen. Nagut. So also gegoogled und die YAML-Quell geladen. Ich stelle fest: YAML basiert auf einer neueren Version von MakeMaker die nicht im paket enthalten ist.

8. MakeMaker in einer neuen Version googeln auf den Router kopieren und anhand des perl-install-scripts eine makefile erstellen lassen und diese mit make und make install installieren.

9. YAML Makefile.pl mit perl ausführen und die entstehenden makefile mit make und make install installieren. Installiert sich auch brav alles in den /opt-folder.

10. Zurück zum davical-INstallationsscript und sie da: Es funktioniert. Nicht. Immernochnicht. Ich vermute ich muss noch manuell angeben wo das YAML-Script liegt… mal sehen.

11. …..

Leave a Reply

Your email address will not be published. Required fields are marked *