Wie installiert man Etherpad unter Ubuntu 20.04

Etherpad ist ein webbasierter Echtzeit-Online-Editor, der es Autoren ermöglicht, gleichzeitig ein Textdokument zu bearbeiten und alle Bearbeitungen in Echtzeit zu überwachen. Er ist quelloffen, anpassbar und in der Lage, den Text jedes Autors in seiner eigenen Farbe anzuzeigen. Er bietet auch eine HTTP-API, die Sie in Ihre Anwendungen integrieren können, um Benutzer und Gruppen zu verwalten. Es bietet verschiedene Plugins, die Ihnen helfen, E-Mail-Benachrichtigungen, das Hochladen von Dateien und Videoanrufe in Etherpad zu integrieren. In diesem Tutorial zeigen wir Ihnen, wie Sie den webbasierten Editor von Etherpad auf dem Ubuntu 20.04-Server installieren.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 20.04 läuft.
  • Ein gültiger Domain-Name, der auf Ihre Server-IP zeigt.
  • Der Server ist mit einem Root-Passwort konfiguriert.

Erste Schritte

Bevor Sie beginnen, müssen Sie Ihre Systempakete auf die neueste Version aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Sobald alle Pakete aktualisiert sind, müssen Sie einige Abhängigkeiten in Ihrem System installieren. Sie können sie alle mit dem folgenden Befehl installieren:

apt-get install gnupg2 git unzip libssl-dev pkg-config gcc g++ make build-essential -y

Sobald alle Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren der MariaDB-Datenbank

Etherpad verwendet MariaDB als Datenbank-Backend. Sie müssen also den MariaDB-Server in Ihrem System installieren. Sie können ihn mit dem folgenden Befehl installieren:

apt-get install mariadb-server -y

Nach der Installation von MariaDB loggen Sie sich mit folgendem Befehl in die MariaDB-Shell ein:

mysql

Nach der Anmeldung erstellen Sie eine Datenbank und einen Benutzer für Etherpad mit dem folgenden Befehl:

MariaDB [(none)]> create database etherpad;
MariaDB [(none)]> grant all privileges on etherpad.* to etherpad@localhost identified by 'password';

Anschließend leeren Sie die Privilegien und verlassen die MariaDB mit folgendem Befehl:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

Zu diesem Zeitpunkt ist Ihre Datenbank für Etherpad konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

Node.js installieren

Etherpad basiert auf Node.js. Daher müssen Sie Node.js in Ihrem System installieren. Standardmäßig ist die neueste Version von Node.js nicht im Standard-Repository von Ubuntu 20.04 verfügbar. Sie müssen also das Node.js-Repository zu Ihrem System hinzufügen. Sie können es mit dem folgenden Befehl hinzufügen:

curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
bash nodesource_setup.sh

Sobald das Repository hinzugefügt ist, installieren Sie Node.js mit dem folgenden Befehl:

apt-get install nodejs -y

Nach der Installation von Node.js überprüfen Sie die installierte Version von Node.js mit dem folgenden Befehl:

node -v

Sie sollten die folgende Ausgabe erhalten:

v14.15.0

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Installieren und Konfigurieren von Etherpad

Vor der Installation von Etherpad. Es wird empfohlen, Etherpad als separater Benutzer auszuführen. Sie können einen neuen Benutzer für Etherpad mit dem folgenden Befehl anlegen:

adduser --home /opt/etherpad --shell /bin/bash etherpad

Sie werden aufgefordert, ein Passwort wie unten gezeigt festzulegen:

Adding user `etherpad' ...
Adding new group `etherpad' (1000) ...
Adding new user `etherpad' (1000) with group `etherpad' ...
Creating home directory `/opt/etherpad' ...
Copying files from `/etc/skel' ...
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for etherpad
Enter the new value, or press ENTER for the default
	Full Name []: Hitesh       
	Room Number []: 1
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] Y

Geben Sie als nächstes die richtigen Berechtigungen für das Etherpad-Hauptverzeichnis mit dem folgenden Befehl ein:

install -d -m 755 -o etherpad -g etherpad /opt/etherpad

Wechseln Sie als nächstes den Benutzer zu Etherpad und laden Sie die neueste Version von Etherpad aus dem Git-Repository mit folgendem Befehl herunter:

su - etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git

Wechseln Sie als nächstes in das heruntergeladene Verzeichnis und starten Sie das Etherpad mit dem folgenden Befehl:

cd etherpad-lite
bin/run.sh

Dies wird alle Abhängigkeiten installieren und den Etherpad-Server starten. Sobald der Server erfolgreich gestartet ist, sollten Sie die folgende Ausgabe erhalten:

[2020-11-11 06:46:44.783] [INFO] console - Your Etherpad version is 1.8.6 (2c8769a)
[2020-11-11 06:46:44.958] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/
[2020-11-11 06:46:44.958] [WARN] console - Admin username and password not set in settings.json.  To access admin please uncomment and edit 'users' in settings.json
[2020-11-11 06:46:44.958] [WARN] console - Etherpad is running in Development mode.  This mode is slower for users and less secure than production mode.  You should set the NODE_ENV environment variable to production by using: export NODE_ENV=production

Drücken Sie dann STRG + C, um den Server zu stoppen. Als nächstes müssen Sie die Datei settings.json bearbeiten und Ihre Datenbank- und Admin-Einstellungen definieren:

nano settings.json

Entfernen Sie die folgenden Zeilen:

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

Ändern Sie die MySQL-Einstellungen wie unten gezeigt:

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

Ändern Sie die Zeile trustProxy auf true:

  "trustProxy": true,

Definieren Sie ein Passwort für den Admin-Benutzer:

  "users": {
    "admin": {
      "password": "adminpassword",
      "is_admin": true
    },

Speichern und schließen Sie die Datei und installieren Sie dann die erforderlichen Abhängigkeiten mit dem folgenden Befehl:

./bin/installDeps.sh

Wenn alle Abhängigkeiten installiert sind, beenden Sie den Etherpad-Benutzer mit folgendem Befehl:

exit

Zu diesem Zeitpunkt ist Etherpad installiert und konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

Erstellen Sie eine Systemd-Service-Datei für Etherpad

Als nächstes müssen Sie eine systemd Service-Datei erstellen, um den Etherpad-Dienst zu verwalten. Sie können sie mit dem folgenden Befehl erstellen:

nano /etc/systemd/system/etherpad.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target

[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad/etherpad-lite
Environment=NODE_ENV=production

ExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js

Restart=always

[Install]
WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Dämon neu, indem Sie den folgenden Befehl ausführen:

systemctl daemon-reload

Starten Sie dann den Etherpad-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start etherpad
systemctl enable etherpad

Sie können den Status des Etherpad-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status etherpad

Sie sollten die folgende Ausgabe sehen:

? etherpad.service - Etherpad-lite, the collaborative editor.
     Loaded: loaded (/etc/systemd/system/etherpad.service; disabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-11-11 06:50:49 UTC; 4s ago
   Main PID: 12269 (node)
      Tasks: 13 (limit: 4691)
     Memory: 119.1M
     CGroup: /system.slice/etherpad.service
             ??12269 /usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js

Nginx für Etherpad konfigurieren

An diesem Punkt wird Etherpad gestartet und hört auf Port 9001. Als nächstes müssen Sie Nginx als Reverse-Proxy installieren und konfigurieren, um auf das Etherpad zuzugreifen. Installieren Sie zunächst Nginx mit dem folgenden Befehl:

apt-get install nginx -y

Als nächstes erstellen Sie eine neue Nginx-Konfigurationsdatei für den virtuellen Host mit folgendem Befehl:

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

Fügen Sie die folgenden Zeilen hinzu:

upstream etherpad {
   server localhost:9001;
   keepalive 32;
}

server {
   listen 80;
   server_name etherpad.mydomain.com;

   location / {
       client_max_body_size 50M;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_http_version 1.1;
       proxy_pass http://etherpad;
   }
}

Speichern und schließen Sie die Datei und aktivieren Sie dann die Nginx-Konfigurationsdatei für den virtuellen Host mit dem folgenden Befehl:

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

Überprüfen Sie Nginx anschließend mit folgendem Befehl auf Syntaxfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Starten Sie dann den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart nginx

Sie können den Status von Nginx auch mit folgendem Befehl überprüfen: Sie sollten die folgende Ausgabe erhalten

systemctl status nginx

Sie sollten folgende Ausgabe erhalten: Sie sollten folgende Ausgabe erhalten:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-11-11 06:53:44 UTC; 6s ago
       Docs: man:nginx(8)
    Process: 12984 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 12985 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 13001 (nginx)
      Tasks: 3 (limit: 4691)
     Memory: 3.5M
     CGroup: /system.slice/nginx.service
             ??13001 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??13002 nginx: worker process
             ??13003 nginx: worker process

Nov 11 06:53:44 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 11 06:53:44 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.

Zugriff auf Etherpad

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://etherpad.mydomain.com ein. Sie werden auf die folgende Seite umgeleitet:

Etherpad

Geben Sie Ihren Seitennamen ein und klicken Sie auf die Schaltfläche OK. Auf der folgenden Seite sollten Sie Ihr Etherpad-Dashboard sehen:

Etherpad Online-Redakteur

Schlussfolgerung

Herzlichen Glückwunsch! Sie haben Etherpad mit Nginx als Reverse-Proxy auf einem Ubuntu 20.04-Server erfolgreich installiert und konfiguriert. Sie können das Etherpad problemlos in der Produktionsumgebung einsetzen. Zögern Sie nicht, mich zu fragen, wenn Sie Fragen haben.

Das könnte dich auch interessieren …