Etherpad
Einer unserer Dienste ist Etherpad, ein kollaborativer Editor im Webbrowser.
Er ist ohne Anmeldung zu erreichen unter https://ep.mafiasi.de
Über https://mafiasi.de/etherpad lassen sich geschützte Pads für Gruppen anlegen.
Inzwischen wurde die Instanz auf Etherpad-Lite migriert. Die Wiki-Seite zur alten Instanz lässt sich unter Etherpad (alt) finden.
Eine Alternative ist Gobby, das richtige GTK+ Widget anbietet und sich somit intuitiver und sinnvoller bedienen läßt. Leider bieten wir noch keinen Gobby-Service an. Wenn du Lust hast, das zu bauen, wende dich an ag-server@.
Gespeicherte Daten
Etherpad
Alle über Etherpad eingegebenen Daten werden derzeit unbefristet gespeichert. Dies betrifft:
- das Dokument selbst,
- die Historie des Dokuments,
- das Chatprotokoll.
Nginx
Da die Verbindungen zum Etherpad über den Nginx geschleift werden, loggt dieser zudem die Verbindungen mit den folgenden Informationen:
- Hostname/IP-Adresse des Clients,
- Zeitpunkt des Zugriffs,
- Informationen des Browsers des Clients,
- den Dokumentennamen eines Etherpads (GET-Parameter).
Diese Informationen werden nach drei Wochen gelöscht.
ToDos
Es wäre auch toll, wenn der Benutzer sich eine Gobby-Instanz klicken könnte. Potentielle Probleme sind die Firewall (man könnte das auf der Hetzner Maschine laufen lassen) und verwaiste Sessions (könnte evtl. durch eine Art Counter implementiert werden, i.e. keine Änderungen mehr seit >7 Tagen: Session beenden. Idealerweise wieder herstellbar machen).
Interna
Etherpad-lite ist eine JavaScript-Neuimplementation (über nodejs) des in Java geschriebenen Etherpads und ist daher deutlich weniger ressourcenhungrig.
Die Instanz läuft auf dem Fachschaftsserver im RZ des Informatikums.
Wir benutzen direkt die Version aus dem git, welche in /var/lib/etherpad-lite/ liegt. Sie wird ab und zu von 0rokita auf den neuesten Stand gebracht. Die Abhängigkeit nodejs wurde manuell kompiliert und paketiert und liegt derzeit in Version 0.6.4 vor. Die Einrichtung folgte generell der offiziellen Installationsanleitung.
Für das Setup werden Einstellungen für diverse Komponenten benötigt. Dazu gehört Etherpad-lite selbst, Postgres, Nginx, ein Init-Skript und eine Logrotate-Konfiguration.
Etherpad-lite
Etherpad-lite wird über /var/lib/etherpad-lite/etherpad-lite/settings.json konfiguriert. In der derzeitigen Konfiguration lauscht der Daemon lokal auf Port 9001 und benutzt eine Postgres-Datenbank für die Persistierung. Für Etherpad-lite wurde ein Systembenutzer angelegt, der sich nicht eigenständig einloggen darf.
Postgres
Die Datenbank heißt etherpad. Die Benutzerdaten stehen in /var/lib/etherpad-lite/etherpad-lite/settings.json.
Nginx
Der lokal-lauschende Daemon ist über Nginx als Reverse Proxy von außen erreichbar. Die relevanten Konfigurationsdateien sind:
- /etc/ningx/sites-aviable/ep.mafiasi.de
Init-Skript
Der Daemon wird über das Init-Skript /etc/init.d/etherpad-lite verwaltet. Darüber wird Etherpad-lite auch beim Systemstart mitgestartet.
Logrotate
Etherpad-lite loggt nach /var/log/etherpad-lite/etherpad-lite.log. Damit dieser Log nicht vollläuft, wacht Logrotate über diesen Log mit der Konfiguration aus /etc/logrotate.d/etherpad-lite.