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
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.
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.
Ü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
Ü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.
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:
- Die Standard-MariaDB-Installation enthält kein Passwort. Drücke ENTER, wenn du zur Eingabe des Passworts aufgefordert wirst.
- Gib nun Y ein, um das MariaDB Root-Passwort einzurichten. Gib dann das neue Passwort für MariaDB ein und wiederhole das Passwort.
- Gib Y ein, um den anonymen Benutzer aus deiner MariaDB-Installation zu entfernen.
- Gib erneut Y ein, wenn du aufgefordert wirst, die Fernanmeldung für den MariaDB-Root-Benutzer zu deaktivieren.
- Gib Y ein, um den Standard-Datenbanktest aus deiner MariaDB zu entfernen.
- 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;
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.
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.
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.
Ö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.
Jetzt siehst du den Dokumenteneditor für Etherpad. Du kannst das Dokument jetzt gleichzeitig mit deinen Freunden oder Kollegen bearbeiten.
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.