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?
- Installieren von Paketabhängigkeiten
- Nodejs installieren
- MySQL installieren und konfigurieren
- Etherpad herunterladen
- Etherpad konfigurieren
- Etherpad als Dienst einrichten
- Nginx als Reverse Proxy für Etherpad einrichten
- Einrichten der UFW Firewall
- 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.
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.
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.
Ö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.
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" },
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 } },
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.
Ü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
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.
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.
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.
Und Sie erhalten die Standard-Etherpad-Administrationsseite unten.
– Etherpad settings.json Konfiguration
– Etherpad Plugin Manager
Die Etherpad-Installation mit MySQL und Nginx Reverse Proxy auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.