In der heutigen digitalen Welt sind kollaborative Tools unerlässlich geworden, um Teams effizient zusammenarbeiten zu lassen.Etherpad, eine kostenlose und Open-Source-Alternative zu Diensten wie Google Docs und Zoho Writer, ist ein leistungsstarker webbasierter Texteditor, der die Echtzeit-Zusammenarbeit ermöglicht. Mit Funktionen wie Versionierung, integrierter Formatierung und Unterstützung für moderne Dokumentenformate ist Etherpad ein hochgradig anpassbarer Editor, der die Produktivität von Teams steigern kann.
Voraussetzungen
Bevor wir mit der Installation beginnen, stellen Sie sicher, dass Sie über die folgenden Voraussetzungen verfügen:
- Ein AlmaLinux 9 Server mit einem Nicht-Root-Benutzer und sudo-Berechtigungen.
- Ein Domain-Name, der auf die IP-Adresse des Servers zeigt.
- Generierte SSL-Zertifikate über Letsecnrypt und Certbot.
Jetzt, da Sie über die notwendigen Voraussetzungen verfügen, können wir mit der Installation fortfahren.
Abhängigkeiten installieren
Um Etherpad zu installieren, müssen wir zunächst einige Abhängigkeiten installieren. Diese Abhängigkeiten umfassen Entwicklungswerkzeuge, Node.js und NPM, MariaDB-Server und Nginx-Webserver. Gehen wir jeden Schritt durch.
Entwicklungswerkzeuge installieren
Entwicklungswerkzeuge sind wesentlich für das Kompilieren und Erstellen von Software auf Ihrem AlmaLinux-Server. Um die notwendigen Entwicklungswerkzeuge zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf group install "Entwicklungswerkzeuge"
Nach Abschluss der Installation können Sie die Installation überprüfen, indem Sie den folgenden Befehl ausführen:
gcc --version
Node.js und NPM installieren
Etherpad ist hauptsächlich in Node.js geschrieben, daher müssen wir die Node.js-Runtime und NPM (Node Package Manager) installieren. AlmaLinux 9 bietet standardmäßig Node.js v16 an, das mit Etherpad kompatibel ist. Um Node.js und NPM zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf install nodejs npm
Sobald die Installation abgeschlossen ist, überprüfen Sie die Installation, indem Sie die Versionen von Node.js und NPM überprüfen:
node --version npm --version
MariaDB-Server installieren
Etherpad kann SQLite als Standarddatenbank verwenden, aber für größere Bereitstellungen wird empfohlen, MariaDB oder MySQL zu verwenden. Um den MariaDB-Server zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf install mariadb-server
Nachdem die Installation abgeschlossen ist, starten und aktivieren Sie den MariaDB-Dienst:
sudo systemctl start mariadb sudo systemctl enable mariadb
Überprüfen Sie den Status des MariaDB-Dienstes:
sudo systemctl status mariadb
Nginx-Webserver installieren
Nginx wird als Reverse-Proxy für Etherpad agieren, sodass es für Endbenutzer zugänglich ist. Stellen Sie vor der Installation von Nginx sicher, dass Sie einen Domain-Namen haben, der auf die IP-Adresse Ihres Servers zeigt, und SSL-Zertifikate, die über Letsecnrypt und Certbot generiert wurden.
Um Nginx zu installieren, führen Sie den folgenden Befehl aus:
sudo dnf install nginx
Starten und aktivieren Sie den Nginx-Dienst:
sudo systemctl start nginx sudo systemctl enable nginx
Überprüfen Sie den Status des Nginx-Dienstes:
sudo systemctl status nginx
Öffnen Sie die HTTP- und HTTPS-Ports auf Ihrem Server:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Überprüfen Sie die Liste der offenen Ports und Dienste:
sudo firewall-cmd --list-all
MariaDB-Server konfigurieren
Bevor wir mit der Installation von Etherpad fortfahren, müssen wir den MariaDB-Server sichern und eine neue Datenbank und einen neuen Benutzer für Etherpad erstellen.
MariaDB-Server sichern
Um den MariaDB-Server zu sichern, verwenden wir das Dienstprogramm mariadb-secure-installation
. Führen Sie den folgenden Befehl aus, um den sicheren Installationsprozess zu starten:
sudo mariadb-secure-installation
Während des sicheren Installationsprozesses werden Sie aufgefordert, Folgendes zu konfigurieren:
- Ändern Sie die Authentifizierungsmethode für den MariaDB-Root-Benutzer in
unix_socket
. Geben Sien
für Nein ein. - Richten Sie ein neues Passwort für den MariaDB-Root-Benutzer ein. Geben Sie
y
ein, um zu bestätigen, und geben Sie ein neues Passwort ein. - Deaktivieren Sie den Remote-Login für den MariaDB-Root-Benutzer. Geben Sie
y
ein, um zu bestätigen. - Entfernen Sie die Standardtestdatenbank. Geben Sie
y
ein, um zu bestätigen. - Entfernen Sie anonyme Benutzerkonten. Geben Sie
y
ein, um zu bestätigen. - Laden Sie die Tabellenprivilegien neu, um die Änderungen anzuwenden. Geben Sie
y
ein, um zu bestätigen.
Neue Datenbank und Benutzer erstellen
Nachdem wir den MariaDB-Server gesichert haben, erstellen wir eine neue Datenbank und einen neuen Benutzer speziell für Etherpad. Um eine neue Datenbank und einen neuen Benutzer zu erstellen, folgen Sie diesen Schritten:
- Melden Sie sich als Root-Benutzer beim MariaDB-Server an:
sudo mariadb -u root -p
- Führen Sie die folgenden Abfragen aus, um eine neue Datenbank und einen Benutzer zu erstellen:
CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4; CREATE USER etherpaduser@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB'; GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_lite_db.* to etherpaduser@localhost; FLUSH PRIVILEGES;
- Überprüfen Sie die Privilegien für den MariaDB-Benutzer:
SHOW GRANTS FOR etherpaduser@localhost;
- Beenden Sie den MariaDB-Server:
quit
Etherpad herunterladen und installieren
Jetzt, da wir alle notwendigen Abhängigkeiten und einen gesicherten MariaDB-Server haben, können wir mit dem Herunterladen und Installieren von Etherpad fortfahren.
Systembenutzer erstellen
Bevor wir Etherpad herunterladen, erstellen wir einen Systembenutzer speziell für den Betrieb des Etherpad-Dienstes. Führen Sie die folgenden Befehle aus:
sudo groupadd etherpad sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpad
Etherpad-Quellcode herunterladen
Um den Etherpad-Quellcode herunterzuladen, führen Sie den folgenden Befehl aus:
sudo git clone --branch master https://github.com/ether/etherpad-lite.git/opt/etherpad-lite
Etherpad-Abhängigkeiten installieren
Wechseln Sie in das Etherpad-Arbeitsverzeichnis:
cd /opt/etherpad-lite
Installieren Sie die Etherpad-Abhängigkeiten:
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad
Etherpad konfigurieren
Öffnen Sie die Etherpad-Konfigurationsdatei:
sudo nano settings.json
Aktualisieren Sie die folgenden Konfigurationen:
- Ändern Sie den Titel Ihrer Etherpad-Installation:
"title": "Etherpad AlmaLinux 9",
- Ändern Sie die Standard-IP-Adresse für Etherpad in localhost oder 127.0.0.1:
"ip": "127.0.0.1", "port": 9001,
- Entfernen Sie die Standarddatenbankkonfiguration:
/* *"dbType": "dirty", *"dbSettings": { * "filename": "var/dirty.db" *}, */
- Fügen Sie die Details für die MariaDB-Datenbank hinzu:
"dbType" : "mysql", "dbSettings" : { "user": "etherpaduser", "host": "localhost", "port": 3306, "password": "StrongPasswordEtherpadDB", "database": "etherpad_lite_db", "charset": "utf8mb4" },
Speichern und schließen Sie die Datei.
Etherpad ausführen
Um die Installation von Etherpad zu überprüfen, führen Sie den folgenden Befehl aus:
/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Wenn die Installation erfolgreich ist, sehen Sie die Ausgabe, die darauf hinweist, dass Etherpad läuft.
Drücken Sie Strg+C, um den Prozess zu beenden.
Etherpad als Systemd-Dienst ausführen
Um Etherpad als systemd-Dienst auszuführen, müssen wir eine systemd-Dienstdatei erstellen.
Erstellen Sie die Datei:
sudo nano /lib/systemd/system/etherpad.service
Fügen Sie die folgende Konfiguration in die Datei ein:
[Unit] Description=Etherpad-lite, der kollaborative Editor. After=syslog.target network.target mariadb.service nginx.service [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/opt/etherpad-lite Environment=NODE_ENV=production ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js # Verwenden Sie MySQL und eine vollständige settings.json, um Service Hold-off-Zeit zu vermeiden, Neustart planen. Restart=always [Install] WantedBy=multi-user.target[Unit] Description=Etherpad-lite, der kollaborative Editor. After=syslog.target network.target mariadb.service nginx.service [Service] Type=simple User=etherpad Group=etherpad WorkingDirectory=/opt/etherpad-lite Environment=NODE_ENV=production ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js # Verwenden Sie MySQL und eine vollständige settings.json, um Service Hold-off-Zeit zu vermeiden, Neustart planen. Restart=always [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei.
Laden Sie den systemd-Manager neu und wenden Sie die Etherpad-Dienstdatei an:
sudo systemctl daemon-reload
Start und aktivieren Sie den Etherpad-Dienst:
sudo systemctl start etherpad sudo systemctl enable etherpad
Überprüfen Sie den Etherpad-Dienst:
sudo systemctl status etherpad
Um die Liste der offenen Ports auf Ihrem System zu überprüfen:
sudo ss -tulpn | grep 9001
Etherpad läuft jetzt als systemd-Dienst.
Nginx als Reverse Proxy konfigurieren
Um Etherpad für Endbenutzer zugänglich zu machen, konfigurieren wir Nginx als Reverse Proxy.
Erstellen Sie eine Nginx-Server-Block-Konfigurationsdatei:
sudo nano /etc/nginx/conf.d/etherpad.conf
Fügen Sie die folgende Konfiguration in die Datei ein:
# HTTPS erzwingen server { listen 80; server_name etherpad.example.io; return 301 https://$host$request_uri; } # Wir befinden uns hier im HTTP-Kontext map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 443 ssl http2; server_name etherpad.example.io; access_log /var/log/nginx/eplite.access.log; error_log /var/log/nginx/eplite.error.log; ssl_certificate /etc/letsencrypt/live/etherpad.example.io/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/etherpad.example.io/privkey.pem; ssl_session_timeout 5m; ssl_protocols 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://127.0.0.1:9001; proxy_buffering off; proxy_set_header Host $host; proxy_pass_header Server; # Beachten Sie, dass Sie diese Header usw. möglicherweise auch übergeben möchten. proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_http_version 1.1; # WebSocket proxying - von https://nginx.org/en/docs/http/websocket.html proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
Speichern und schließen Sie die Datei.
Überprüfen Sie, ob die Nginx-Konfiguration korrekt ist:
sudo nginx -t
Starten Sie den Nginx-Dienst neu:
sudo systemctl restart nginx
Jetzt können Sie auf Etherpad zugreifen, indem Sie Ihren Domain-Namen besuchen (z.B., https://etherpad.example.io). Sie sollten die Standard-Startseite von Etherpad sehen.
Erstellen Sie ein neues Pad, indem Sie den Pad-Namen eingeben und auf OK klicken.
Für zuverlässige und skalierbare Cloud-Hosting-Lösungen sollten Sie die Cloud VPS Dienste von Shape.host in Betracht ziehen. Shape.host bietet sichere und effiziente Cloud-Hosting-Lösungen, um Unternehmen mit nahtloser Zusammenarbeit und gesteigerter Produktivität zu unterstützen. Besuchen Sie Shape.host, um mehr über ihre Hosting-Dienste zu erfahren und Ihre Zusammenarbeit auf die nächste Stufe zu bringen.