Etherpad ist ein kollaborativer Echtzeit-Editor, der auf Node.js basiert. Es ist ein webbasierter kollaborativer Open-Source-Editor für den Zugriff durch mehrere Benutzer mit der Möglichkeit zum Importieren/Exportieren 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 von Etherpad-lite auf Ubuntu 18.04 Server führen. Wir werden Etherpad-lite mit 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?
- Paketabhängigkeiten installieren
- Installieren Sie Nodejs
- Installieren und konfigurieren Sie MySQL
- Etherpad herunterladen
- Etherpad konfigurieren
- Etherpad als Dienst einrichten
- Nginx als Reverse-Proxy für Etherpad einrichten
- UFW-Firewall einrichten
- Testen
Schritt 1 – Paketabhängigkeiten installieren
Der erste Schritt, den wir in diesem Handbuch tun werden, besteht darin, alle Paketabhängigkeiten für die Nodejs-Installation zu installieren.
Führen Sie den folgenden apt-Befehl 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 erfordert Node.js>=6.9, und in diesem Schritt installieren wir Nodejs 9.11, das aus dem nodesource-Repository installiert werden kann.
Fügen Sie das nodesource Nodejs-Repository hinzu und installieren Sie das Node.js-Paket mit den folgenden Befehlen.
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs
Überprüfen Sie danach die Befehle nodejs und npm.
nodejs --version
npm --version
Node.js v9.11 wurde auf dem Ubuntu 18.04-Server installiert.
Schritt 3 – MySQL installieren und konfigurieren
In diesem Tutorial verwenden wir MySQL als Datenbank für Etherpad.
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 wird.
sudo systemctl start mysql
sudo systemctl enable mysql
Der MySQL-Server wurde installiert.
Als nächstes konfigurieren wir das MySQL-Root-Passwort und erstellen eine neue Datenbank und einen neuen Benutzer für unsere Etherpad-Installation.
Um das MySQL-Root-Passwort zu konfigurieren, führen Sie den folgenden Befehl aus.
mysql_secure_installation
Geben Sie Ihr sicheres MySQL-Root-Passwort ein.
Melden Sie sich jetzt mit dem Root-Benutzer bei 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 die MySQL-Abfragen aus.
Datenbank etherpad_db erstellen;
alle Berechtigungen auf etherpad_db.* an [email protected] gewähren, identifiziert durch '[email protected]#';
Privilegien leeren;
MySQL-Datenbank für die Etherpad-Installation wurde erstellt.
Schritt 4 - Laden Sie Etherpad herunter
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-Klon 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 folgt.
Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port „9001“ ein.
http://192.168.33.10:9001/
Und Sie werden die Etherpad-Homepage sehen.
Kehren Sie zu Ihrem Terminal zurück und drücken Sie „Strg+c“, um die Anwendung zu verlassen.
Schritt 5 - Etherpad konfigurieren
In diesem Schritt werden wir die grundlegende Konfiguration des kollaborativen Etherpad-Editors vornehmen.
Melden Sie sich beim etherpad-Benutzer an und gehen Sie zum 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 in „127.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 Dirty-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":"[email protected]#",
"database":"etherpad_db",
"charset" :"utf8mb4"
Als Nächstes aktivieren wir den Admin-Benutzer, indem wir den Kommentar aus diesen Zeilen entfernen und den Passwortwert durch ein neues Passwort ändern.
"users":{
"admin":{
// "password" kann durch "hash" ersetzt werden, wenn Sie ep_hash_auth installieren
"password":"[email protected] #",
"is_admin":true
},
"user":{
// "Passwort" kann durch "Hash" ersetzt werden, wenn Sie ep_hash_auth installieren
"password":"[email protected]#",
"is_admin":false
}
},
Speichern und beenden.
Die grundlegende Etherpad-Konfiguration ist abgeschlossen.
Schritt 6 – Etherpad als Dienst einrichten
Jetzt werden wir Etherpad als Systemdienst auf unserem Ubuntu-System ausführen.
Gehen Sie in das Verzeichnis „/etc/systemd/system“ und erstellen Sie eine neue Dienstdatei mit dem Namen „etherpad.service“.
cd /etc/systemd/system/
vim etherpad.serviceKonfigurationen unten einfügen.
[Unit]
Description=Etherpad-lite, der kollaborative 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
Neustart=immer # Verwenden Sie mysql plus eine vollständige settings.json, um zu vermeiden, dass die Wartezeit für den Dienst abgelaufen ist, und planen Sie einen Neustart.
[Installieren]
WantedBy=multi-user.targetSpeichern und beenden.
Laden Sie die systemd-Dienstlisten neu.
sudo systemctl daemon-reloadStarten Sie den Etherpad-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.
sudo systemctl start etherpad
sudo systemctl enable etherpadUnd der Ether läuft als Dienst auf der Localhost-IP mit dem Standardport 9001.
Überprüfen Sie den Dienst mit den folgenden Befehlen.
sudo systemctl status etherpad
netstat -plntuSchritt 7 – Nginx als Reverse-Proxy installieren und konfigurieren
In diesem Schritt installieren und konfigurieren wir den Nginx-Webserver als Reverse-Proxy für den Etherpad-Dienst.
Installieren Sie den nginx-Webserver mit dem folgenden apt-Befehl.
sudo apt install nginx -yGehen Sie nach Abschluss der Installation in das Verzeichnis „/etc/nginx/sites-available“ und erstellen Sie einen neuen virtuellen Host „etherpad“.
cd /etc/nginx/sites-available/
vim etherpadKonfigurationen unten einfügen.
server {
listen 80;
server_name pad.hakase.io;
rewrite ^(.*) https://$server_name$1 permanent;
}
# wir befinden uns hier im http-Kontext
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 "EEC+ECDSA+.DH+ 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;
# Vorsicht, diese Zeile überschreibt kein proxy_buffering on set in einer 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-Protokolle zur Anzeige der tatsächlichen Remote-IP
proxy_set_header X-Forwarded-Proto $scheme; # für EP, um sicheres Cookie-Flag zu setzen, wenn https verwendet wird
proxy_set_header Host $host; # Host-Header übergeben
proxy_http_version 1.1; # Empfohlen mit Keepalive Connections
# Websocket Proxying - von http://nginx.org/en/docs/http/websocket.html
proxy_set_header upgrade $ http_upgrade; br />
}
}Speichern und beenden.
Hinweis:
- Stellen Sie sicher, dass Sie den Pfad des SSL mit Ihren eigenen SSL-Zertifikaten ändern.
- Ändern Sie die Etherpad-Domain 'pad.hakase.io' durch Ihren 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 – UFW-Firewall einrichten
Für die Firewall-Einrichtung möchten wir nur die SSH-, HTTP- und HTTPS-Portdienste öffnen.
Führen Sie die folgenden ufw-Befehle aus.
sudo fuw erlauben ssh
sudo ufw erlauben http
sudo ufw erlauben https
Aktivieren Sie dann die ufw-Firewall.
sudo ufw aktivieren
Und die Konfiguration der ufw-Firewall ist abgeschlossen.
Schritt 9 – Testen
Öffnen Sie Ihren Webbrowser und geben Sie den Etherpad-Domainnamen ein, meiner ist: http://pad.hakase.io/
Jetzt werden Sie auf die sichere HTTPS-Verbindung umgeleitet.
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 folgt.
Öffnen Sie als Nächstes die Etherpad-Admin-URL. Meine ist https://pad.hakase.io/admin/
Sie werden nach dem Admin-Benutzernamen und dem Passwort gefragt. Geben Sie Ihren eigenen Benutzernamen und Ihr Passwort ein und klicken Sie dann auf die Schaltfläche „Anmelden“.
Und Sie erhalten unten die standardmäßige Etherpad-Administrationsseite.
- Konfiguration von Etherpad settings.json
- Etherpad-Plugin-Manager
Die Etherpad-Installation mit MySQL und Nginx-Reverse-Proxy auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.