Etherpad zu installieren ist keine besondere Freude, wenn man sich so die Kommentare anschaut, die man im Web findet. Trotzdem habe ich mich an die Installation gemacht, da ich Etherpad für eine tolle Sache halte. Klar es gibt auch Dienste bei denen man sich einfach ein Pad klicken kann, aber eigentlich halte ich meine Daten lieber auf meinem Server als irgendwo bei einem Anbieter. Es reicht ja schon, dass ich meinem Server-Anbieter vertrauen muss :(
Wenn man Debian lenny nutzt, so wie ich, muss man zunächst (nur für die Installation!) die Debian sid Quellen in die /etc/apt/sources.list eintragen, sowie das etherpad-repo.
1
2
| echo "deb http://apt.etherpad.org all ." >> /etc/apt/sources.list
echo "deb http://ftp.de.debian.org/debian sid main non-free" >> /etc/apt/sources.list |
Danach muss man ein
machen, damit die Quellen neu eingelesen werden. Danach kann man Etherpad mit
installieren. Nach der Installation sollte man die Sid-Quellen wieder aus der sources.list entfernen, da man sonst mit einem apt-get dist-upgrade das gesamte System auf Sid aktualisiert. Je nach dem welche Pakete bereits installiert sind, lädt apt-get nun bis zu 350MB an Paketen runter (java, mysql, java-mysql-connector, scala, openoffice und etherpad selbst). Im Lauf der Installation frag apt-get nach den Daten für den Datenbankbenutzer und das mysql-rootpasswort um die nötigen Datenbank einrichten zu können. Die Installation dauerte auf meinem V-Server von HostEurope etwa 10 Minuten. Die Installation lief bei mir erfolgreich und ohne Fehler durch. In leichter Euphorie, dass die Installation doch besser funktionierte als beschrieben, tippte ich /etc/init.d/etherpad start und es passiert… nichts! Ich suchte ein wenig in meinem System herum und fand das Script /usr/share/etherpad/etherpad/bin/run-local.sh Ich führte es aus und ertrank in einer Flut von Fehlermeldungen. Erst nachdem ich in den Ordner /usr/share/etherpad/etherpad gewechselt war, konnte ich das Script nun mit bin/run-local.sh starten. Etherpad lief und ich konnte es erreichen und ein neues Pad anlegen, bearbeiten. Nur dummerweise lief der Etherpad-Prozess jetzt als Child-Prozess meines Terminals, d.h. beim schließen der ssh-Verbindung würde auch mein Etherpad gestoppt werden. Aus der Shell ließ sich Etherpad nun also starten, aber nicht als Daemon. Ich schaute mir nun also das Script /etc/init.d/etherpad mal etwas genauer an. Nach längerem suchen entdeckte ich einen Fehler in der Zeile 50. Dort steht:
DAEMON_BASE="/usr/local/etherpad" |
Die Dateien von Etherpad lagen in /usr/share/etherpad aber das Startscript zeigt nach /usr/local/etherpade. Das musste der Fehler sein, der mich davon abhielt Etherpad zu starten. Also die Zeile entsprechend geändert und nochmal versucht Etherpad zu starten. Diesmal dauerte es schon etwas länger bis ich meinem Promt zurück bekam, aber ein
/etc/init.d/etherpad status |
sagte mit das Etherpad nicht gestartet sei. Ich versucht es nochmal mit dem Script direkt zu starten. Es funktionierte immer noch ohne Probleme. Also google fragen, dachte ich mir und wurde auch schnell fündig. Auf http://localhost.bdjl.de/?p=1489&cpage=1 fand ich zwar nur das Problem, dass ich schon kannte, und gelöst hatte, und in den Kommentaren dann auch mein aktuelles Problem. Dadurch dass ich Etherpad einmal aus der Konsole als root gestartet hatte, gehörten die Log-Files alle root und sie konnten nicht geöffnet werden. Da es nicht loggen konnte, verweigerte Etherpad den Dienst. Nach dem ich die Log-Datei mit
chown -R etherpad:etherpad /var/log/etherpad |
wieder auf den Benutzer etherpad, unter dem Etherpad als Daemon läuft, umgebogen hatte ließ sich auch der Daemon ordentlich starten :)