So installierst du den Etherpad Collaboration Editor auf einem Ubuntu 24.04 Server

Etherpad ist ein Open-Source-Texteditor für die Zusammenarbeit und Echtzeit für dein Team, auf den du jederzeit und überall zugreifen kannst, da Etherpad ein webbasierter Texteditor ist. Etherpad unterstützt die Versionierung und integrierte Formatierung für Teams und bietet einen hochgradig anpassbaren Editor mit der Unterstützung verschiedener Plugins. Er unterstützt auch moderne Dokumentenformate wie doc, pdf, odt, markdown usw.

In dieser Anleitung führen wir dich durch den Installationsprozess des Etherpad Collaboration Editors auf dem Ubuntu 24.04 Server. Du richtest Etherpad mit dem MariaDB-Datenbankserver und Nginx als Reverse Proxy ein und sicherst Etherpad dann mit HTTPS über Certbot und Letsencrypt.

Voraussetzungen

Um mit dieser Anleitung zu beginnen, musst du Folgendes vorweisen können

Einen Ubuntu 24.04-Server.
Einen Nicht-Root-Benutzer mit Administratorrechten.
Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

Etherpad ist ein kollaborativer Echtzeit-Editor, der in Node.js geschrieben wurde. Um ihn zu installieren, musst du Paketabhängigkeiten wie Node.js, NPM und Git installieren. Etherpad benötigt außerdem Python3 und MySQL/MariaDB für die Datenbank.

Aktualisiere zunächst dein Ubuntu-Repository wie folgt:

sudo apt update

Repo aktualisieren

Jetzt installierst du die Abhängigkeiten für Etherpad mit dem folgenden Befehl. Mit diesem Befehl installierst du den MariaDB-Server, Nginx, Node.js, Python3, Git und einige wichtige Tools.

sudo apt install mariadb-server nginx nodejs npm gzip git curl python3 libssl-dev

Gib Y ein, um die Installation zu bestätigen.

deps installieren

Nach der Installation überprüfst du die Dienste MariaDB und Nginx, um sicherzustellen, dass beide Dienste laufen.

Überprüfe den MariaDB-Dienst wie folgt:

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Wie du unten sehen kannst, läuft der MariaDB-Dienst und wird beim Booten automatisch gestartet.

mariadb prüfen

Überprüfe nun den Nginx-Dienst mit dem unten stehenden Befehl. Du solltest eine ähnliche Ausgabe erhalten, wenn der Nginx-Dienst läuft und aktiviert ist.

sudo systemctl is-enabled nginx
sudo systemctl status nginx

nginx prüfen

Überprüfe zum Schluss die Node.js-Version mit dem Befehl.

node -v

Stelle sicher, dass du Node.js v18.x oder mehr hast. Das Etherpad unterstützt Node.js v18 und höher.

nodejs prüfen

Einrichten des MariaDB-Servers

Nachdem du die Abhängigkeiten installiert hast, konfigurierst du den MariaDB-Server und legst eine neue Datenbank und einen Benutzer für Etherpad an. Du sicherst MariaDB mit dem Dienstprogramm „mariadb-secure-installation“ und richtest dann die Datenbank und den Benutzer über den MariaDB-Client ein.

Um deinen MariaDB-Server zu sichern, führe Folgendes aus:

sudo mariadb-secure-installation

Du wirst aufgefordert, den MariaDB-Server zu konfigurieren:

  1. Die Standard-MariaDB-Installation enthält kein Passwort. Drücke ENTER, wenn du zur Eingabe des Passworts aufgefordert wirst.
  2. Gib nun Y ein, um das MariaDB Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole das Passwort.
  3. Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
  4. Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
  5. Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
  6. Gib schließlich Y ein, um die Tabellenberechtigungen neu zu laden und die neuen Änderungen anzuwenden.

Nachdem du den MariaDB-Server gesichert und konfiguriert hast, erstellst du eine neue Datenbank und einen neuen Benutzer für Etherpad.

Melde dich mit folgendem Befehl am MariaDB-Server an. Gib das MariaDB Root-Passwort ein, wenn du dazu aufgefordert wirst.

sudo mariadb -u root -p

Als nächstes führst du die folgenden MariaDB-Abfragen aus, um eine neue Datenbank„etherpad_db„, einen Benutzer„etherpad“ und das Passwort„StrongPasswordEtherpadDB“ zu erstellen. Du kannst die folgenden Datenbankdetails mit deinen Informationen anpassen.

CREATE DATABASE etherpad_db;
CREATE USER etherpad@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_db.* to etherpad@localhost;
FLUSH PRIVILEGES;

Datenbank und Benutzer anlegen

Führe nun die folgende Abfrage aus, um sicherzustellen, dass der Benutzer„etherpad“ auf die Datenbank„etherpad_db“ zugreifen kann.

SHOW GRANTS FOR etherpad@localhost;

Du kannst unten sehen, dass der Benutzer„etherpad“ mehrere Rechte für die Datenbank„etherpad_db“ hat.

Zum Schluss gibst du quit ein, um den MariaDB-Server zu verlassen.

db user prüfen

Installation von Etherpad Lite

Nachdem du die Datenbank und den Benutzer angelegt hast, lädst du den Etherpad-Quellcode herunter, installierst die Etherpad-Abhängigkeiten mit dem Installationsskript und konfigurierst dann die Etherpad-Installation mit dem MariaDB-Server.

Standardmäßig verwendet Etherpad den pnpm-Paketmanager, um die Installation zu verwalten, daher musst du das „pnpm“-Paket zuerst global auf deinem System installieren.

Installiere zunächst das pnpm-Paket global (-g) mit dem folgenden npm-Befehl. Standardmäßig verwendet das Etherpad-Projekt pnpm als Node.js-Paketmanager anstelle des normalen npm.

npm install pnpm -g

Führe nun den folgenden Befehl aus, um einen neuen Systembenutzer„etherpad“ zu erstellen. Dieser Benutzer wird zum Ausführen der Etherpad-Anwendung verwendet.

sudo adduser --system --no-create-home --home=/opt/etherpad-lite --group etherpad

Als Nächstes gehst du zu /opt und lädst den Quellcode von Etherpad mit git in das Verzeichnis„etherpad-lite“ herunter. Dann änderst du die Eigentumsrechte am Verzeichnis„/opt/etherpad-lite“ auf den Benutzer„etherpad„.

cd /opt && git clone --branch master https://github.com/ether/etherpad-lite.git 
sudo chown -R etherpad:etherpad /opt/etherpad-lite

Danach gehst du in das Verzeichnis „opt/etherpad-lite“ und installierst die Node.js-Abhängigkeiten für Etherpad mit den folgenden Schritten.

cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/run.sh" etherpad

Unten siehst du den Download-Prozess für die Etherpad-Abhängigkeiten mit dem pnpm-Paketmanager.

Installation der Abhängigkeiten

Nachdem die Abhängigkeiten installiert sind, sollte Etherpad automatisch laufen. Du kannst unten sehen, dass Etherpad 2.0.3 läuft.

Drücke Strg+c, um den aktuellen Etherpad-Prozess zu beenden. Du wirst Etherpad mit der MariaDB-Datenbank konfigurieren.

etherpad läuft

Öffne nun die Datei„settings.json“ mit dem folgenden nano-Editor.

nano settings.json

Ändere den Titel für deine Etherpad-Installation.

 "title": "Etherpad Ubuntu 24",

Ändere die Standard-IP-Adresse auf 12.0.0.1 oder localhost. Dadurch wird der Etherpad-Prozess nur auf localhost gestartet.

```
 "ip": "127.0.0.1",
 "port": 9001, 
```

Kommentiere die Standardkonfiguration der„schmutzigen“ Datenbank wie die folgende:

 /*
 *"dbType": "dirty",
 *"dbSettings": {
 * "filename": "var/dirty.db"
 *},
 */

Füge die folgende Konfiguration ein, um eine Datenbank mit dem MariaDB-Server einzurichten. Achte darauf, dass du die Details der Datenbankinformationen mit deinen eigenen abänderst.

 "dbType" : "mysql",
 "dbSettings" : {
 "user": "etherpad",
 "host": "127.0.0.1",
 "port": 3306,
 "password": "StrongPasswordEtherpadDB",
 "database": "etherpad_db",
 "charset": "utf8mb4"
 },

Wenn du fertig bist, speichere die Datei und beende den Editor.

Etherpad als systemd-Dienst ausführen

Nachdem du Etherpad nun installiert und konfiguriert hast, erstellst du eine neue systemd-Dienstdatei für Etherpad. Damit lässt du Etherpad im Hintergrund laufen und kannst Etherpad mit dem Befehl „systemctl“ verwalten.

Erstelle eine neue systemd-Dienstdatei für Etherpad„/etc/systemd/system/etherpad.service“ mit dem nano-Editor.

sudo nano /etc/systemd/system/etherpad.service

Füge die folgende Konfiguration in die Datei ein. Damit führst du Etherpad im Hintergrund als systemd-Dienst über den Befehl „pnpm“ aus.

[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target mariadb.service
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad-lite
ExecStart=/usr/local/bin/pnpm run prod
# use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
Restart=always

[Install]
WantedBy=multi-user.target

Speichere die Datei und beende sie.

Führe nun den folgenden Befehl aus, um den systemd-Manager neu zu laden und die Etherpad-Dienstdatei anzuwenden.

sudo systemctl daemon-reload

Nachdem der systemd neu geladen wurde, starte und aktiviere den Dienst „etherpad“ mit dem folgenden systemctl-Befehl.

sudo systemctl start etherpad
sudo systemctl enable etherpad

Als Nächstes führst du den folgenden Befehl aus, um den Status des Etherpad-Dienstes zu überprüfen und sicherzustellen, dass der Dienst läuft.

sudo systemctl status etherpad

Du siehst unten, dass der Etherpad-Dienst als Dienst läuft.

Zuletzt überprüfst du den Standard-Etherpad-Port 9001 mit dem Befehl „ss“. Du solltest sehen, dass Port 9001 vom Etherpad-Prozess verwendet wird.

ss -tulpn | grep 9001

Nginx als Reverse Proxy einrichten

In diesem Leitfaden wirst du Etherpad mit Nginx als Reverse-Proxy betreiben. Daher erstellst du jetzt die Nginx-Serverblockkonfiguration für Etherpa und stellst sicher, dass du deinen Domainnamen für Etherpad vorbereitet hast.

Verwende den folgenden Befehl im nano-Editor, um einen neuen Nginx-Serverblock „/etc/nginx/sites-available/etherpad.conf“ zu erstellen.

sudo nano /etc/nginx/sites-available/etherpad.conf

Füge die folgende Konfiguration hinzu und ändere die Option server_name mit deinem Domainnamen. Mit dieser Konfiguration verwendest du Nginx als Reverse Proxy für Etherpad, das auf Port 9001 läuft.

```
server {
 listen 80;
 server_name etherpad.hwdomain.io;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;

location / {
proxy_pass http://127.0.0.1:9001;
proxy_buffering off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
proxy_set_header Host $host;
proxy_pass_header Server;
# Note you might want to pass these headers etc too.
proxy_set_header X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

}

Speichere und schließe die Datei, wenn du fertig bist.

Führe nun den folgenden Befehl aus, um den Serverblock in der Datei„etherpad.conf“ zu aktivieren und deine Nginx-Syntax zu überprüfen.

sudo ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
sudo nginx -t

Bei korrekter Nginx-Syntax solltest du die Ausgabe„nginx is ok…test is successful“ erhalten.

Führe abschließend den folgenden Befehl aus, um den Nginx-Dienst neu zu starten und deinen neuen Serverblock anzuwenden. Nachdem du den Befehl ausgeführt hast, ist dein Etherpad über den Nginx-Webserver erreichbar.

sudo systemctl restart nginx

Etherpad mit HTTPS absichern

Nachdem du den Nginx-Reverse-Proxy konfiguriert hast, musst du Etherpad mit HTTPS sichern. Wenn du die öffentliche Domain nutzt, kannst du die folgenden Schritte verwenden, um HTTPS mit Certbot und Letsencrypt einzurichten. Benutzer der lokalen Domain können selbstsignierte Zertifikate verwenden.

Installiere Certbot und das Certbot Nginx Plugin mit dem folgenden Befehl. Wenn du dazu aufgefordert wirst, gib Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-nginx

Führe nun den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate von Letsencrypt zu erzeugen. Achte darauf, dass du den Domänennamen und die E-Mail-Adresse mit deinen Daten änderst.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email user@hwdomain.io -d etherpad.hwdomain.io

Nach Abschluss des Prozesses sind deine Zertifikate im Verzeichnis„/etc/letsencrypt/live/domain.com“ verfügbar. Außerdem sollte deine Etherpad-Installation automatisch mit HTTPS über das Certbot Nginx-Plugin laufen.

Zugriff auf Etherpad

Besuche deinen Etherpad-Domainnamen https://etherpad.hwdomain.io, um auf deine Etherpad-Installation zuzugreifen. Wenn du erfolgreich bist, wird die folgende Seite angezeigt:

Gib den neuen Namen für dein erstes Pad ein und bestätige mit OK.

Pad erstellen

Jetzt siehst du den Dokumenteneditor für Etherpad. Du kannst das Dokument jetzt gleichzeitig mit deinen Freunden oder Kollegen bearbeiten.

etherpad Editor

Fazit

Herzlichen Glückwunsch! Du hast den Etherpad Collaboration Editor auf dem Ubuntu 24.04 Server installiert. Du hast Etherpad mit dem MariaDB-Datenbankserver und dem Nginx-Webserver zum Laufen gebracht. Außerdem hast du Etherpad mit HTTPS über Certbot und Letsencrypt gesichert.

Das könnte dich auch interessieren …