GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie den kollaborativen Echtzeit-Editor Etherpad unter Ubuntu 18.04

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?

  1. Paketabhängigkeiten installieren
  2. Installieren Sie Nodejs
  3. Installieren und konfigurieren Sie MySQL
  4. Etherpad herunterladen
  5. Etherpad konfigurieren
  6. Etherpad als Dienst einrichten
  7. Nginx als Reverse-Proxy für Etherpad einrichten
  8. UFW-Firewall einrichten
  9. 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.service

Konfigurationen 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.target

Speichern und beenden.

Laden Sie die systemd-Dienstlisten 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 der 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 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 -y

Gehen 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 etherpad

Konfigurationen 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.


Ubuntu
  1. So installieren Sie MySQL 8.0 in Ubuntu 18.04

  2. So installieren Sie MySQL unter Ubuntu 20.04

  3. Installieren Sie den webbasierten Etherpad-Echtzeit-Collaborative-Editor unter Ubuntu 16.04 Linux

  4. So installieren Sie MySQL unter Ubuntu 18.04

  5. So installieren Sie Etherpad unter Ubuntu 20.04

So installieren Sie Kate Editor unter Ubuntu 20.04

So installieren Sie Lychee unter Ubuntu 14.04

So installieren Sie Magento unter Ubuntu 14.04

So installieren Sie Gibbon unter Ubuntu 14.04

So installieren Sie Moodle unter Ubuntu 14.04

So installieren Sie MySQL unter Ubuntu 22.04