etherpad-lite

UPDATE: https://www.bdjl.de/localhost/?p=5153

Das hier ist sicherlich die hunderste Installationsanleitung im Netz zum Thema Installation von Etherpad Lite unter Ubuntu – aber es ist eine, die bei mir funktioniert hat. Ich werf die jetzt mal hierher, damit ich ein Memo habe (und auf den LFB).

Die Installation von Ubuntu Server ist weder Teil dieser Anleitung noch die Absicherung eines solchen Servers für den Betrieb im Internet. Hier sei lediglich geschildert, wie ein EtherPad Lite (EPL) Server für den Betrieb im lokalen Netz aufgesetzt werden kann.

Die folgende Anleitung wurde für Ubuntu Precise Pangolin (12.04 LTS) geschrieben und auf dieser getestet. Andere Ubuntu Version könnten ebenfalls eine Basis für einen EPL Server darstellen – Sie müssen dann aber selbst herausfinden, wie Sie vorgehen müssen.

Basisinstallation

Melden Sie sich als administrativer Benutzer an Ihrem Server im lokalen Schulnetz an. Wenn Sie eine grafische Oberfläche nutzen, dann öffnen Sie eine Shell.

In einem ersten Schritt legen wir einen Benutzer etherpad für EPL an. Dessen Homeverzeichnis wird /opt/etherpad. Der Benutzer erhält eine Kennung unterhalb der ID 1000 und ist hiermit Systembenutzer (damit er sich nicht direkt am System anmelden kann):

sudo adduser --system --home=/opt/etherpad --group etherpad

Als nächstes kommen die wichtigsten Programme für den Betrieb von EPL an Bord:

sudo apt-get install gzip git-core curl python libssl-dev build-essential abiword python-software-properties

Ubuntu 12.04 enthält zwar node.js (den eigentlichen Server für EPL) in seinen Repositories – es gibt aber ein PPA, das neuere Versionen liefert und diese jeweils auf Zusammenarbeit mit EPL abklopft, so dass wir dieses für die Installation nutzen:

sudo add-apt-repository ppa:chris-lea/node.js

sudo apt-get update

sudo apt-get install nodejs npm

Es folgt der Wechsel in den Benutzerkontext unseres Users etherpad:

sudo su - etherpad -s /bin/bash

Dort werden einige Verzeichnisse und Unterverzeichnisse angelegt:

mkdir ~/local

mkdir ~/local/etherpad

cd ~/local/etherpad

In diesem Verzeichnis wird nun EPL installiert, indem man das Programm aus GIT klont:

git clone git://github.com/ether/etherpad-lite.git

Um einen ersten Testlauf zu starten, wird in das Programmverzeichnis gewechselt

cd etherpad-lite

und Etherpad gestartet

bin/run.sh

EPL ist nun ausschließlich auf dem lokalen Rechner unter der URL

http://127.0.0.1:9001

zu erreichen.

Sofern Ihr Rechner eine grafische Oberfläche hat, können Sie dies auch auf diesem überprüfen. Sind Sie nur in der Shell unterwegs, warten Sie ein wenig ab, bis Sie die Startmeldungen von EPL sehen können. Fortgeschrittene Benutzer können mit netstat -tulpen überprüfen, ob ein Server auf Port 9001 lauscht.

Schießen Sie den EPL Prozess dann mit STRG C ab.

Erreichbarkeit aus dem Schulnetz

Die nächsten Anpassungen sorgen dafür, dass EPL aus dem gesamten Schulnetz heraus aufgerufen werden kann. Wir nehmen dazu an, dass Ihr EPL Server über die IP-Adresse 10.16.2.100 zu erreichen ist.

Öffnen Sie mit dem Editor Ihrer Wahl die Datei

/opt/etherpad/local/etherpad/etherpad-lite/settings.json

Die Einstellungen für die Bezeichnung des EPL Servers, die IP Adresse und die Portnummer werden nun eingetragen:

"title": "Etherpad Lite auf internem Testserver",

// favicon default name
// alternatively, set up a fully specified Url to your own favicon
„favicon“: „favicon.ico“,

//IP and port which etherpad should bind at
„ip“: „10.16.2.100“,
„port“ : 9001,

Weiter unten in diesem Skript (ca. Zeile 70) finden Sie die Möglichkeit, Abiword einzubinden. Das schalten wir gleich scharf:

"abiword" : "/usr/bin/abiword",

Noch ein wenig weiter unten in diesem Skript (ca. ab Zeile 80) finden Sie die Möglichkeit zur Administration des EPL Servers über ein Webinterface. Entfernen Sie das Kommentarzeichen /* in Zeile 80 und in Zeile 91 das Kommentarzeichen */, um diese Funktion zu nutzen. Tragen Sie Kennwörter ein, die den Namen verdienen:

"users": {
"admin": {
"password": "geheim",
"is_admin": true
},
"user": {
"password": "geheim",
"is_admin": false
}
},

Starten Sie nun den EPL Server neu

bin/run.sh

und rufen Sie diesen über die IP 10.16.2.100 von einem anderen Rechner aus auf. Sie sollten diesen demnach unter

http://10.16.2.100:9001

erreichen können und das Admininterface unter

http://10.16.2.100:9001/admin

Schießen Sie EPL mit STRG C aus der Shell wieder ab, um weitere Anpassungen vorzunehmen.

EPL Server für Dauerbetrieb einrichten

Öffnen Sie eine zweite Shell und werden Sie in dieser root:

sudo su -

Sie haben nun zwei Shells: In einer sind Sie noch immer der Benutzer etherpad – in der anderen sind Sie root.

In der root Shell installieren Sie nun einen MySQL Server:

apt-get install mysql-server mysql-common apache2 phpmyadmin mysql-client

Während der Installation werden Sie nach einem MySQL root Passwort gefragt und nach einem Passwort für phpMyAdmin. Vergeben Sie Passwörter, die den Namen auch wirklich verdienen.

Bearbeiten Sie nun die settings.json (Pfad siehe oben) als Benutzer etherpad. Kommentieren Sie den Bereich für die Nutzung von MySQL als Datenbank ein – und den für die „dirty“-DB Datenbank aus:

//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
//"dbType" : "dirty",
//the database specific settings
//"dbSettings" : {
// "filename" : "var/dirty.db"
// },

// An Example of MySQL Configuration
"dbType" : "mysql",
"dbSettings" : {
"user" : "eplite",
"host" : "localhost",
"password": "geheim",
"database": "eplite"
},

Rufen Sie dann phpMyAdmin im Browser auf:

http://10.16.2.100/phpmyadmin

Melden Sie sich als root mit Passwort an, und klicken Sie auf den Tab „Rechte“.

Klicken Sie auf „Neuen Benutzer hinzufügen“

Als Benutzername wählen Sie eplite, als Host localhost und als Passwort wieder eines, das den Namen verdient und das mit dem Passwort in der settings.json – siehe oben: Sie haben es gerade eben eingetragen – übereinstimmt.

Setzen Sie einen Haken bei „Erstelle eine Datenbank mit gleichem Namen und gewähre alle Rechte“.

Klicken Sie im Bereich „Globale Rechte“ auf „Alle auswählen“ und danach auf „Erzeuge Benutzer“.

Wechseln Sie in die Shell und starten Sie einmal als Benutzer etherpad den EPL

bin/run.sh

und stoppen Sie diesen wieder mit STRG C.

Wechseln Sie zurück zum Browser.

Klicken Sie nun in phpMyAdmin auf Datenbanken und dort auf die neu angelegte Datenbank eplite. Klicken Sie auf den Tab SQL. Legen Sie den folgenden Code in das Fensterchen:

ALTER DATABASE eplite CHARACTER SET utf8 COLLATE utf8_bin;

USE eplite;

ALTER TABLE store CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;

und klicken Sie dann auf den Schalter „OK“. phpMyAdmin sollte zurückmelden, dass alle Befehle erfolgreich umgesetzt wurden.

Starten Sie EPL wieder (als Benutzer etherpad)

bin/run.sh

und rufen Sie dieses im Browser auf

http://10.16.2.100:9001

Ab jetzt schreibt EPL die Daten nach MySQL. Achten Sie auf Fehlermeldungen in Ihrer Shell.

Beenden Sie den EPL Prozess durch STRG C und melden Sie sich durch Eingabe von exit aus dem Shell-Fenster des Benutzers etherpad ab.

Autostart beim EPL Server-Start

In Ihrer root Shell geben Sie nun nacheinander die folgenden Befehle ein, um die Verzeichnisse für die Logfiles zu erstellen und um den Autostart von EPL beim Hochfahren des Rechners einzurichten:

mkdir /var/log/etherpad-lite

chown -R etherpad /var/log/etherpad-lite

Bearbeiten Sie die folgende Datei mit einem Editor Ihrer Wahl. Im Beispiel ist das vi:

vi /etc/init/etherpad-lite.conf

und legen Sie in diese Datei den folgenden Codeschnipsel.

In der root Shell geben Sie nun ein

start etherpad-lite

und der Server sollte starten.

Wenn das geklappt hat, dann fahren Sie das System einmal runter und dann gleich wieder hoch – der EPL Server sollte nun selbst starten und sich über Browser weitgehend verwalten lassen.

Logdateien

Mit der Zeit würden die Logdateien bei einem permanent laufenden EPL Server den Plattenplatz auffressen. Deswegen wird mit den folgenden Einstellungen dafür gesorgt, dass die Logs nach einer Woche zusammen gepackt werden und nur die Logdateien der letzten 4 Wochen auf dem Server liegen bleiben.

In einer root Shell wird mit dem Editor der Wahl die Datei /etc/logrotate.conf bearbeitet und dort der folgende Eintrag eingefügt:

# Etherpad Lite - weekyl compression and rotation

/var/log/etherpad-lite/*.log {

weekly

missingok

rotate 4

compress

notifempty

}

Literatur und Vorlage: https://help.ubuntu.com/community/Etherpad-liteInstallation