Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Was fehlt?

Es liegt in der Natur der Sache: Ein Wiki ist niemals fertig. Wir geben uns große Mühe, mit der Entwicklung Schritt zu halten; lassen Supportanfragen direkt in neue Artikel einfließen … aber auch wir sind nicht perfekt. Wenn du hier nicht fündig wirst: Nicht schmollen - Bescheid sagen! Unter hallo@uberspace.de steht dir unser Team gerne bereit. Hand drauf!

cool:etherpadlite
Alle Anleitungen in diesem Wiki beziehen sich auf Uberspace 6. Die Dokumentation für U7 findest du im neuen Manual. Im Lab findest du außerdem von Usern erstellte Anleitungen für verschiedene Projekte.

Uberspace 6 basiert auf CentOS 6, welches ab Ende 2020 keine Updates mehr bekommt. Wir raten dir, bis dahin auf Uberspace 7 umzuziehen. Eine Anleitung zum Umzug findest Du hier: uberspace2uberspace

Dies ist eine alte Version des Dokuments!


etherpad-lite

etherpad-lite ist eine auf node.js basierende Alternative zum traditionellen Etherpad, die selbst von Etherpad-Entwicklern empfohlen wird. Wir zeigen dir hier die nötigen Schritte, um es auf deinem Uberspace zum Laufen zu bringen. In dieser Dokumentation heißt der Beispieluser else und befindet sich auf dem Host chaos.uberspace.de.

npm installieren

etherpad-lite benötigt einige node.js-Module, die es mittels npm nachinstallieren möchte. npm selbst ist bei aktuellen node.js-Versionen schon mit dabei; du brauchst aber eine Konfigurationsdatei, damit es Module an der richtigen Stelle und mit den richtigen Rechten installiert:

[else@chaos ~]$ cat > ~/.npmrc <<__EOF__
prefix = $HOME
umask = 077
__EOF__

Wichtig ist, dass du hier explizit den cat-Befehl ausführst; es ist wichtig, dass $HOME dabei durch dein Home-Verzeichnis ersetzt wird (es darf also hinterher nicht $HOME in der .npmrc stehen, sondern /home/…).

etherpad-lite installieren

Jetzt geht's an das eigentliche etherpad-lite. Dessen Code bekommst du am einfachsten mit Hilfe von git:

[else@chaos ~]$ git clone https://github.com/ether/etherpad-lite.git
Cloning into etherpad-lite...
remote: Counting objects: 5466, done.
remote: Compressing objects: 100% (1882/1882), done.
remote: Total 5466 (delta 3832), reused 5116 (delta 3536)
Receiving objects: 100% (5466/5466), 2.30 MiB | 1.07 MiB/s, done.
Resolving deltas: 100% (3832/3832), done.

Dann wechselst du in das frisch ausgecheckte Verzeichnis …

[else@chaos ~]$ cd etherpad-lite 

… und benutzt das Script bin/installDeps.sh, um die Abhängigkeiten zu installieren (zu diesem Zweck hatten wir ja gerade npm installiert):

[else@chaos etherpad-lite]$ bin/installDeps.sh
...

Konfiguration anpassen

etherpad-lite wird in der Datei settings.json konfiguriert. Hier musst du in erster Linie zwei Punkte anpassen:

  1. den Port, auf dem etherpad-lite laufen soll
  2. die Datenbankeinstellungen für SQLite oder MySQL

Du solltest nun also die settings.json in einem Texteditor öffnen, hier exemplarisch mit nano:

[else@chaos etherpad-lite]$ nano -w settings.json

Anstelle des Standardports solltest du dir einen zufälligen anderen Port überlegen. Wir nehmen hier mal 9099 (wähle für deine Installation bitte einen anderen). Der betreffende Abschnitt sollte dann so aussehen:

...
//Ip and port which etherpad should bind at
"ip": "0.0.0.0",
"port" : 9099,
...

Passe dann außerdem den dbType auf mysql an, und trage die entsprechenden dbSettings ein. Die dafür erforderlichen Zugangsdaten findest du in deiner .my.cnf - relevant sind user, password und database; der host muss auf localhost bleiben. Die Angabe „dbtype“ : „dirty“ und ihre zugehörige Konfiguration solltest du am Besten komplett entfernen, genauso wie die Kommentarzeichen, die die Vorlage für die MySQL-Konfiguration standardmäßig umgeben. So sollte der Abschnitt dann aussehen:

...
//The Type of the database. You can choose between dirty, sqlite and mysql
//You should use mysql or sqlite for anything else than testing or development
"dbType" : "mysql",
//the database specific settings
"dbSettings" : {
                 "user"    : "else", 
                 "host"    : "localhost", 
                 "password": "Superkalifragilistischexpiallegetisch", 
                 "database": "else"
               },
...

Damit wäre dein etherpad-lite fertig konfiguriert. Mit Strg+O kannst du die settings.json im nano speichern (Dateiname mit Enter bestätigen) und jenen dann mit Strg+X beenden. Nun solltest du dein etherpad-lite so einrichten, dass es automatisch gestartet wird, also z.B. auch dann, wenn wir den Uberspace-Host, auf dem du liegst, einmal rebooten.

Einrichtung als Dienst

Wenn du noch keine eigene Instanz der daemontools laufen hast, solltest du jene zunächst einrichten:

[else@chaos ~]$ test -d ~/service || uberspace-setup-svscan 
...

Anschließend richtest du den Dienst ein, der dein etherpad-lite automatisch startet:

[else@chaos ~]$ uberspace-setup-service etherpad-lite node ~/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
...

Es ist allerdings noch ein kurzer Klimmzug nötig: etherpad-lite erwartet, im Verzeichnis etherpad-lite/node gestartet zu werden, weil zur Laufzeit unter anderem mit relativem Pfad auf die ../APIKEY.txt zugegriffen wird, und bin/installDeps.sh stellt sicher, dass unter anderem Cache-Dateien auf dem neuesten Stand sind. Es ist also noch eine manuelle Änderung am Startscript ~/service/etherpad-lite/run nötig: Ändere den bestehenden Block …

# Now let's go!
exec /package/host/localhost/nodejs/bin/node /home/DEINUSER/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js 2>&1

… wie folgt ab:

# Now let's go!
cd ~/etherpad-lite
bin/installDeps.sh
exec /package/host/localhost/nodejs/bin/node /home/DEINUSER/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js 2>&1

Starte anschließend den Dienst neu, um die Änderung zu übernehmen:

[else@chaos ~]$ svc -du ~/service/etherpad-lite

Das war's dann - wenn du dich an diese Anleitung gehalten hast, läuft dein etherpad-lite nun auf dem von dir gewählten Port (der natürlich ein anderer als der Port 9099 ist als in dieser Dokumentation, klar). Was noch fehlt, ist die …

Brücke zum Webserver

In diesem Beispiel soll etherpad-lite unter der URL /pad erreichbar sein. Dazu legen wir ein Verzeichnis dieses Namens im DocumentRoot an …

[else@chaos ~]$ mkdir ~/html/pad

… und legen dort eine Brücke zum Webserver in Form einer .htaccess-Datei an:

[else@chaos ~]$ cat > ~/html/pad/.htaccess <<'__EOF__'
RewriteEngine On
RewriteRule (.*) http://localhost:9099/$1 [P]
__EOF__

Das war's! Dein etherpad-lite ist nun in deinem Uberspace installiert und über den URL-Pfad /pad erreichbar; im konkreten Beispiel würde die URL also https://else.chaos.uberspace.de/pad lauten.

cool/etherpadlite.1373531702.txt.gz · Zuletzt geändert: 2013/07/11 10:35 von uber