Skip to content

Install_Etherpad_lite

onlinekirche edited this page Aug 8, 2018 · 20 revisions

Ein sog. etherpd ist ein einfacher Online-Editor zur gemeinsamen Bearbeitung von Text-Dokumenten. Dies ist die Dokumentation der Installation auf einem Standard-Server.

Voraussetzungen

  • LAMP-Server, hier ein virtual ubuntu linux 16.04
  • Benötigt: Node.js
  • Korrekte SSL-Einrichtung des apache Webservers inkl. gültiger, vorhandener SSL-Zertifikate

Installation von Node.js

  • Installation von Abhängikeiten
 sudo apt install git curl python libssl-dev pkg-config build-essential
  • Pruefen ob schon gccinstalliert, wenn nicht installieren
  sudo apt-get install gcc g++ make
  • Herunterladen der aktuellen 10er-Version von Node.js
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
  • Installation von Node.js
sudo apt-get install -y nodejs
  • Installierte Version checken: nodejs -v

etherpad-lite installieren

etherpad-lite wird unter einem eigenen Benutzer und in einem eigenen home installiert.

  • Installation in /opt/etherpad, Wechsel in dieses home und Arbeit unter dem Benutzer etherpad
sudo adduser --system --home=/opt/etherpad --group etherpad
sudo su - etherpad -s /bin/bash
git clone git://github.com/ether/etherpad-lite.git
cd etherpad-lite
bin/run.sh
  • Abbruch mit Ctrl+C, aus der etherpad shell rausgehen exit

etherpad-lite Grundkonfiguration

Datenbank via mysql einrichten

  • Datanbankname ggf. anpassen my-etherpad_lite_db
  • Benutzername ggf. anpassen my-etherpad-user
  • Passwort anpassen my-password
mysql -u root -p
create database `my-etherpad_lite_db`;
grant CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on `etherpad_lite_db`.* to 'my-etherpad-user'@'localhost' identified by 'my-password';
  • In etherpad-config auf MySql-DB umstellen

Zu etherpad Benutzer und home wechseln, Konfigurationsdatei bearbeiten

sudo su - etherpad -s /bin/bash
cd etherpad-lite
nano settings.json
  • In settings.json Abschnitt "dbType" : "mysql" suchen und entsprechend der Zugansdaten oben anpassen
"dbType" : "mysql",
//the database specific settings
"dbSettings" : {
                 "user"    : "my-etherpad-user",
                  "host"    : "localhost",
                  "password": "my-password",
                  "database": "my-etherpad_lite_db",
                  "charset" : "utf8mb4"
               },
  • Aus der etherpad shell wieder herausgehen exit

Systemstart einrichten

  • Datei anlegen
sudo nano /etc/systemd/system/etherpad.service
  • Eintragen
[Unit]
Description=Etherpad
After=syslog.target network.target

[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad/etherpad-lite
ExecStart=/usr/bin/nodejs /opt/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always

[Install]
WantedBy=multi-user.target

Installation abschließen

  • Aktivieren sudo systemctl enable etherpad.service
  • Check sudo systemctl status etherpad.service
  • start/stop sudo systemctl start etherpad.service
  • Auf production mode umstellen (erfordert danach Neustart von etherpd-lite): export NODE_ENV=production
  • Jetzt sollte etherpad-lite unter http://mydomain.org:9001 erreichbar sein

etherpad-lite allgemeine Konfiguration

Zu etherpad Benutzer und home wechseln, Konfigurationsdatei bearbeiten

sudo su - etherpad -s /bin/bash
cd etherpad-lite
nano settings.json
  • Änderungen, z.B. in diesen Abschnitten
"title": "mytitle",
"defaultPadText" :
  • Aus der etherpad shell wieder herausgehen exit

Apache Reverse-Proxy für Unterverzeichnis via SSL einrichten (nicht via Subdomain)

Um eine sichere Verbindung zu etherpad-lite herzustellen ist eine funktionierende SSL-Konfiguration Voraussetzung. Die Einrichtung eines Reverse-Proxy ermöglicht den Transportverschlüsselten Zugriff auf die etherpad-lite-Instanz über einen URL https://mydomain.org/my-etherpad-lite statt der Angabe eines Ports http://mydomain.org:9001

Vorbereitung

  • Anpassung der ethrpad-lite Konfiguration

Zu etherpad Benutzer und home wechseln, Konfigurationsdatei bearbeiten

sudo su - etherpad -s /bin/bash
cd etherpad-lite
nano settings.json
  • Änderungen
IP and port which etherpad should bind at
"ip": "127.0.0.1",
"trustProxy" : true,

  • Aus der etherpad shell wieder herausgehen exit

Die Umstellung von 0.0.0.1 auf 127.0.0.1 unterbindet die Erreichbarkeit via http://mydomain.org:9001

Apache vhost Konfiguration

  • Entsprechende vhost-Datei bearbeiten
sudo nano /etc/apache2/sites-available/my-vhost
  • Folgende Proxy-Configuration eintragen
ProxyVia On
        ProxyRequests Off
        ProxyPreserveHost on

        <Location /pad/>
            ProxyPass http://127.0.0.1:9001/ retry=0 timeout=30
            ProxyPassReverse http://127.0.0.1:9001/
        </Location>

        <Location /pad/socket.io>
            RewriteEngine On
            RewriteCond %{QUERY_STRING} transport=websocket    [NC]
            RewriteRule /(.*) ws://127.0.0.1:9001/socket.io/$1 [P,L]
            ProxyPass http://127.0.0.1:9001/socket.io retry=0 timeout=30
            ProxyPassReverse http://127.0.0.1:9001/socket.io
        </Location>


        <Proxy *>
            Options FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
        </Proxy>
  • Abschluß mit Neustart des apache und etherpad-lite
sudo systemctl stop etherpad.service
sudo systemctl restart apache2
sudo systemctl start etherpad.service

Reverse-Proxy Konfiguration für PlugIn MyPads

In etherpad-lite können diverse PlugIns installiert werden. Die Installation erfolgt über den etherpad-lite Web-Admin. Ein nützliches PlugIn ist MyPads. Es ermöglicht etherpads in Ordnern mit Nutzerberechtigungen verwalten zu können. Standardmäßig ist es für die Nutzung eines etherpad-lite unter einer Subdomain konfiguriert. Um es auch mit einem Revers-Proxy auf ein Unterverzeichnis nutzen zu können, muss die vhost-Konfiguration des apache um ergänzt werden:

  • Entsprechende vhost-Datei bearbeiten
sudo nano /etc/apache2/sites-available/my-vhost
  • Eintragen nach ProxyPreserveHost on
Redirect permanent /mypads /pad/mypads

Natürlich muss danach ein Neustart des apache und etherpad-lite durchgeführt werden, siehe oben.

Clone this wiki locally
You can’t perform that action at this time.