Wie man den kollaborativen Echtzeit-Editor Etherpad auf Ubuntu 18.04 installiert

Etherpad ist ein kollaborativer Echtzeit-Editor, der auf Node.js basiert. Es handelt sich um einen Open-Source, webbasierten kollaborativen Editor für den Multi-User-Zugriff mit der Möglichkeit des Imports/Exports in verschiedene Office-Dateiformate und einem hochgradig anpassbaren Online-Editor.

In diesem Tutorial werde ich Sie Schritt für Schritt durch die Installation und Konfiguration der Etherpad-lite auf dem Ubuntu 18.04 Server führen. Wir werden das Etherpad-lite mit dem MySQL als Datenbank, den Nginx-Webserver als Reverse-Proxy installieren und die sichere HTTPS-Verbindung darauf aktivieren.

Voraussetzungen

  • Ubuntu 18.04 Server
  • Root-Rechte

Was werden wir tun?

  1. Installieren von Paketabhängigkeiten
  2. Nodejs installieren
  3. MySQL installieren und konfigurieren
  4. Etherpad herunterladen
  5. Etherpad konfigurieren
  6. Etherpad als Dienst einrichten
  7. Nginx als Reverse Proxy für Etherpad einrichten
  8. Einrichten der UFW Firewall
  9. Prüfung

Schritt 1 – Installieren von Paketabhängigkeiten

Der erste Schritt, den wir in diesem Handbuch tun werden, ist die Installation aller Paketabhängigkeiten für die Installation von Nodejs.

Führen Sie den folgenden Befehl apt aus.

sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y

Warten Sie auf die gesamte Installation.

Schritt 2 – Nodejs installieren

Etherpad benötigt Node.js >= 6.9, und in diesem Schritt werden wir Nodejs 9.11 installieren, die aus dem Node Source Repository installiert werden können.

Fügen Sie das Nodeource Nodejs-Repository hinzu und installieren Sie das Paket Node.js mit den folgenden Befehlen.

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs

Überprüfen Sie anschließend die Befehle nodejs und npm.

nodejs --version
npm --version

Die Node.js v9.11 wurde auf dem Ubuntu 18.04 Server installiert.

Installieren Sie node.js

Schritt 3 – MySQL installieren und konfigurieren

In diesem Tutorial werden wir MySQL als Datenbank für Etherpad verwenden.

Installieren Sie den MySQL-Datenbankserver mit dem folgenden apt-Befehl.

sudo apt install mysql-server mysql-client

Nachdem die Installation abgeschlossen ist, starten Sie den Mysql-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet werden kann.

sudo systemctl start mysql
sudo systemctl enable mysql

Der MySQL-Server wurde installiert.

Als nächstes werden wir das mysql root-Passwort konfigurieren und eine neue Datenbank und einen neuen Benutzer für unsere Etherpad-Installation erstellen.

Um das MySQL-Root-Passwort zu konfigurieren, führen Sie den folgenden Befehl aus.

mysql_secure_installation

Geben Sie Ihr starkes mysql root Passwort ein.

Melden Sie sich nun mit dem root-Benutzer in der mysql-Shell an.

mysql -u root -p

Erstellen Sie eine neue Datenbank mit dem Namen ‚etherpad_db‘ und dem Benutzer ‚hakase‘ und führen Sie unten mysql-Abfragen durch.

create database etherpad_db;
grant all privileges on etherpad_db.* to hakase@localhost identified by 'Hakase321@#';
flush privileges;

Die MySQL-Datenbank für die Etherpad-Installation wurde erstellt.

MySQL installieren

Schritt 4 – Etherpad herunterladen

In diesem Schritt erstellen wir einen neuen Benutzer und laden den Etherpad-Quellcode herunter.

Erstellen Sie einen neuen Benutzer namens’etherpad‘ und melden Sie sich beim Benutzer an.

useradd -m -s /bin/bash etherpad
su - etherpad

Klonen Sie nun das Etherpad-Repository.

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

Gehen Sie in das Verzeichnis’etherpad-lite/‘ und führen Sie das bash-Skript aus, um etherpad zu starten.

cd etherpad-lite/
bin/run.sh

Sie erhalten das Ergebnis wie unten beschrieben.

Etherpad herunterladen

Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port’9001′ ein.

http://192.168.33.10:9001/

Und du wirst die Startseite des Etherpads sehen.

Zugriff auf Etherpad

Zurück zu Ihrem Terminal und drücken Sie’Strg+c‘, um die Anwendung zu verlassen.

Schritt 5 – Etherpad konfigurieren

In diesem Schritt werden wir die Grundkonfiguration des kollaborativen Editors etherpad vornehmen.

Melden Sie sich beim etherpad-Benutzer an und gehen Sie in das Verzeichnis’etherpad-lite‘.

su - etherpad
cd etherpad-lite/

Bearbeiten Sie die Konfiguration ’settings.json‘ mit dem vim editor.

vim settings.json

Ändern Sie die IP-Adresse auf 127.0.0.0.0.1′ oder localhost, da wir das Etherpad auf dem Nginx Reverse Proxy ausführen werden.

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

Deaktivieren Sie nun die standardmäßige schmutzige Datenbank, indem Sie den Kommentar’/* …… hinzufügen. */‘, und fügen Sie die MySQL-Datenbankkonfiguration ein.

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

Konfiguration der MySQL-Datenbank.

  "dbType" : "mysql",
  "dbSettings" : {
                   "user"    : "hakase",
                   "host"    : "localhost",
                   "port"    : 3306,
                   "password": "Hakase321@#",
                   "database": "etherpad_db",
                   "charset" : "utf8mb4"
                 },

Etherpad-Konfiguration

Als nächstes werden wir den Admin-Benutzer aktivieren, indem wir den Kommentar aus diesen Zeilen entfernen und den Passwortwert mit einem neuen Passwort ändern.

  "users": {
    "admin": {
      // "password" can be replaced with "hash" if you install ep_hash_auth
      "password": "hakase123@#",
      "is_admin": true
    },
    "user": {
      // "password" can be replaced with "hash" if you install ep_hash_auth
      "password": "aqwe123@#",
      "is_admin": false
    }
  },

Passwort konfigurieren

Speichern und beenden.

Die Grundkonfiguration des Etherpads ist abgeschlossen.

Schritt 6 – Etherpad als Dienst einrichten

Nun werden wir etherpad als Systemdienst auf unserem Ubuntu-System ausführen.

Gehen Sie in das Verzeichnis’/etc/systemd/system‘ und erstellen Sie eine neue Servicedatei namens’etherpad.service‘.

cd /etc/systemd/system/
vim etherpad.service

Füge die folgenden Konfigurationen ein.

[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/nodejs /home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie die Systemdienstlisten neu.

sudo systemctl daemon-reload

Starten Sie den Etherpad-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl start etherpad
sudo systemctl enable etherpad

Und der Ether läuft als Dienst auf localhost ip mit dem Standardport 9001.

Etherpad als Dienst ausführen

Überprüfen Sie den Dienst mit den folgenden Befehlen.

sudo systemctl status etherpad
netstat -plntu

Schritt 7 – Nginx als Reverse-Proxy installieren und konfigurieren

In diesem Schritt werden wir den Nginx-Webserver als Reverse-Proxy für den Etherpad-Dienst installieren und konfigurieren.

Installieren Sie den nginx-Webserver mit dem untenstehenden Befehl apt.

sudo apt install nginx -y

Nachdem die Installation abgeschlossen ist, gehen Sie in das Verzeichnis ‚/etc/nginx/sites-available‘ und erstellen Sie einen neuen virtuellen Host ‚etherpad‘.

cd /etc/nginx/sites-available/
vim etherpad

Füge die folgenden Konfigurationen ein.

server {
    listen      80;
    server_name pad.hakase.io;
    rewrite     ^(.*)   https://$server_name$1 permanent;
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
''      close;
}

server {
listen       443;
server_name  pad.hakase.io;

access_log  /var/log/nginx/eplite.access.log;
error_log   /var/log/nginx/eplite.error.log;

ssl                  on;
ssl_certificate      /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key  /etc/nginx/ssl/privkey.pem;

ssl_session_timeout  5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";

location / {
proxy_pass             http://localhost:9001/;
proxy_set_header       Host $host;
proxy_pass_header Server;
# be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
proxy_buffering off;
proxy_set_header X-Real-IP $remote_addr;  # http://wiki.nginx.org/HttpProxyModule
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_set_header Host $host;  # pass the host header
proxy_http_version 1.1;  # recommended with keepalive connections
# WebSocket proxying - from http://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

}
}

Speichern und beenden.

Hinweis:

  • Achten Sie darauf, dass Sie den Pfad des SSL mit Ihren eigenen ssl-Zertifikaten ändern.
  • Ändere die Etherpad-Domain ‚pad.hakase.io‘ mit deinem eigenen Domainnamen.

Aktivieren Sie nun den virtuellen Etherpad-Host und testen Sie die Konfiguration.

ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
nginx -t

Stellen Sie sicher, dass kein Fehler vorliegt, starten Sie dann den nginx-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

sudo systemctl restart nginx
sudo systemctl enable nginx

Etherpad hinter nginx proxy

Die Nginx-Installation und -Konfiguration als Etherpad Reverse Proxy wurde erfolgreich abgeschlossen.

Schritt 8 – Einrichten der UFW Firewall

Für die Einrichtung der Firewall möchten wir nur die Portdienste SSH, HTTP und HTTPS öffnen.

Führen Sie die folgenden ufw-Befehle aus.

sudo fuw allow ssh
sudo ufw allow http
sudo ufw allow https

Aktivieren Sie dann die ufw-Firewall.

sudo ufw enable

Und die Konfiguration der ufw-Firewall ist abgeschlossen.

Schritt 9 – Prüfung

Öffnen Sie Ihren Webbrowser und geben Sie den Etherpad-Domainnamen ein, meiner schon:http://pad.hakase.io/

Sie werden nun zur sicheren HTTS-Verbindung weitergeleitet.

Zugriff auf Etherpad

Erstellen Sie ein neues Pad, indem Sie den Pad-Namen in das Feld eingeben und auf die Schaltfläche „OK“ klicken.

Und Sie erhalten den Etherpad-Editor wie unten beschrieben.

Etherpad Editor

Als nächstes öffnen Sie die Etherpad-Administrations-URL. Meiner isthttps://pad.hakase.io/admin/

Sie werden nach dem Benutzernamen und dem Passwort für den Administrator gefragt. Geben Sie Ihren eigenen Benutzer und Ihr eigenes Passwort ein und klicken Sie dann auf die Schaltfläche Anmelden.

Etherpad Admin-Bereich

Und Sie erhalten die Standard-Etherpad-Administrationsseite unten.

– Etherpad settings.json Konfiguration

Etherpad settings.json Konfiguration

– Etherpad Plugin Manager

Plugin-Manager

Die Etherpad-Installation mit MySQL und Nginx Reverse Proxy auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.

Referenz

Das könnte dich auch interessieren …