Wie man Matrix Synapse Chat auf Ubuntu installiert 18.04 LTS

Matrix ist eine neue Plattform für die dezentrale Kommunikation in Echtzeit für offene verteilte Instant Messaging und VoIP-Dienste. Es bietet RESTful HTTP JSON APIs für den Aufbau von verteilten Chat-Servern ohne Single Point of Control and Failure und stellt alle Referenzen für die APIs zur Verfügung.

Synapse ist eine Implementierung des Matrix-Homeservers, der von matrix team erstellt und in Python/Twisted geschrieben wurde. Mit dieser Software können wir den Matrix-weg für die dezentrale Kommunikation implementieren, wir können unseren eigenen Heimserver erstellen und alle persönlichen Daten der Benutzer speichern, Chat-Verlauf, Raum für den eigenen Gebrauch erstellen, etc.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie Matrix Synapse auf Ubuntu 18.04 installieren und konfigurieren. Wir werden Matrix Synapse auf der lokalen IP-Adresse konfigurieren, den Nginx-Webserver als Reverse-Proxy für ihn konfigurieren und die HTTPS-Verbindung zwischen Clients und dem Frontend-Nginx-Webserver implementieren.

Voraussetzungen

  • Ubuntu 18.04.
  • Root-Rechte
  • Matrix Domain Name oder Subdomain – matrix.hakase-labs.io

Was werden wir tun?

  1. Aktualisierung und Upgrade des Ubuntu 18.04 Systems
  2. Matrix Synapse installieren
  3. Matrix-Synapse konfigurieren
  4. SSL Letsencrypt generieren
  5. Nginx als Reverse-Proxy für Matrix Synapse installieren und konfigurieren
  6. Einrichten der UFW Firewall
  7. Neuen Matrix-Benutzer einrichten
  8. Prüfung

Schritt 1 – Update- und Upgrade-System

Melden Sie sich bei Ihrem Ubuntu-Server an, aktualisieren Sie das Repository und aktualisieren Sie alle Pakete mit dem folgenden Befehl apt.

sudo apt update
sudo apt upgrade

Und alle ubuntu-Pakete wurden aktualisiert.

Schritt 2 – Matrix Synapse installieren

In diesem Schritt werden wir die Matrix-Synapse-Software mit den Debian-Paketen aus dem offiziellen Matrix-Repository installieren.

Fügen Sie den Matrixschlüssel und das Repository hinzu, indem Sie alle folgenden Befehle ausführen.

wget -qO - https://matrix.org/packages/debian/repo-key.asc | sudo apt-key add -
sudo add-apt-repository https://matrix.org/packages/debian/

Der Befehl aktualisiert das Repository automatisch.

Install Matrix Synapse

Installieren Sie nun Matrix Synapse mit dem Befehl apt wie unten beschrieben.

sudo apt install matrix-synapse -y

Während der Installation werden Sie nach dem Namen des Matrixservers gefragt – geben Sie den Matrixdomänennamen’matrix.hakase-labs.io‘ ein.

Matrix Synapse apt installer - Teil 1

Und für den anonymen Datenbericht wählen Sie „Nein“.

Matrix Synapse apt installer - Teil 1

Wenn die Installation der Matrix Synapse abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er jederzeit beim Systemstart gestartet werden kann.

sudo systemctl start matrix-synapse
sudo systemctl enable matrix-synapse

Die Matrixsynapse ist nun mit der Standardkonfiguration auf den Ports’8008′ und’8448′ in Betrieb. Überprüfen Sie dies mit dem Befehl netstat.

netstat -plntu

Offene Ports prüfen

Schritt 3 – Konfigurieren der Matrixsynapse

Nach der Installation der Matrix-Synapse konfigurieren wir sie so, dass sie unter der lokalen IP-Adresse läuft, deaktivieren die Registrierung der Matrix-Synapse und aktivieren das Registrierungs-Shared-Secret.

Bevor wir die Heimserverkonfiguration bearbeiten, müssen wir den gemeinsamen geheimen Schlüssel generieren.

Führen Sie den folgenden Befehl aus.

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1

Und Sie erhalten den generierten Schlüssel. Kopieren Sie den Ergebnisschlüssel.

Nun müssen wir die Heimserver-Konfigurationsdatei ‚homeserver.yaml‘ im Verzeichnis’/etc/matrix-synapse/‘ bearbeiten. Ändern Sie das aktuelle Verzeichnis auf’/etc/matrix-synapse‘ und bearbeiten Sie die Konfigurationsdatei mit vim.

cd /etc/matrix-synapse/
vim homeserver.yaml

Ändern Sie die HTTP- und HTTPS-Listener-Ports’8008′ und’8448′ auf die lokale IP-Adresse’127.0.0.0.0.1′.

    port: 8448
    bind_addresses:
      - '127.0.0.1'

    - port: 8008
    bind_addresses: ['127.0.0.1']

Matrix Synapse Konfiguration

Matrix Synapse Port Konfiguration

Deaktivieren Sie die Matrix-Synapse-Registrierung, kommentieren Sie die Konfiguration „registration_shared_secret“ und fügen Sie den erzeugten geheimen Schlüssel ein.

enable_registration: False
registration_shared_secret: "MtkF9JOkNHsRRISyR5L91KAQlrrPhyWX"

Speichern und beenden.

Hinweis:

registration_shared_secret: Wenn set erlaubt die Registrierung durch jeden, der auch das gemeinsame Geheimnis hat, auch wenn die Registrierung deaktiviert ist.

Starten Sie nun die Matrix-Synapse-Dienste neu.

sudo systemctl restart matrix-synapse

Neustart Matrix-Synapse

Überprüfen Sie den Homeserver-Dienst mit dem folgenden Befehl.

netstat -plntu

Sie erhalten den Matrix-Synapse-Dienst, der sich nun auf der lokalen IP-Adresse befindet.

Matrix Synapse Ports prüfen

Und wir haben die Installation und Konfiguration der Matrix Synapse abgeschlossen.

Schritt 4 – Generieren von SSL-Letsencrypt-Zertifikaten

In diesem Tutorial werden wir HTTPS für den Nginx Reverse Proxy aktivieren und die SSL-Zertifikatsdateien aus Letsencrypt generieren.

Installieren Sie das letsencrypt-Tool mit dem folgenden apt-Befehl.

sudo apt install letsencrypt -y

Das Letsencrypt-Tool ist auf dem System installiert, erzeugen Sie nun die SSL-Zertifikatsdateien für den Matrixdomänennamen ‚matrix.hakase-labs.io‘ mit dem Befehl certbot, wie unten gezeigt.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email hakaselabs@gmail.com -d matrix.hakase-labs.io

Das Letsencrypt-Tool generiert SSL-Zertifikatsdateien, indem es den temporären Webserver „Standalone“ zur Überprüfung ausführt.

Und wenn es fertig ist, erhalten Sie das Ergebnis wie unten gezeigt.

Generieren von SSL-Letsencrypt-Zertifikaten

SSL-Zertifikatsdateien für den Matrix-Synapsen-Domainnamen ‚matrix.hakase-labs.io‘ werden innerhalb des Verzeichnisses ‚/etc/letsencrypt/live/‘ erzeugt.

Schritt 5 – Nginx als Reverse Proxy installieren und konfigurieren

In diesem Schritt installieren wir den Nginx-Webserver und konfigurieren ihn als Reverse-Proxy für den Heimserver, der auf dem Port’8008′ läuft.

Installieren Sie den Nginx-Webserver mit dem folgenden Befehl apt.

sudo apt install nginx -y

Nachdem die Installation abgeschlossen ist, starten Sie den Dienst und ermöglichen Sie ihm, ihn jederzeit beim Systemstart zu starten.

sudo systemctl start nginx
sudo systemctl enable nginx

Als nächstes erstellen wir eine neue virtuelle Host-Konfiguration für den Matrix-Domänennamen ‚matrix.hakase-labs.io‘.

Gehen Sie in das Konfigurationsverzeichnis von ‚/etc/nginx‘ und erstellen Sie eine neue virtuelle Hostdatei ‚matrix‘.

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

Fügen Sie dort die folgende Konfiguration ein.

server {
       listen 80;
       server_name matrix.hakase-labs.io;
       return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name matrix.hakase-labs.io;

    ssl_certificate /etc/letsencrypt/live/matrix.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/matrix.hakase-labs.io/privkey.pem;

    # If you don't wanna serve a site, comment this out
    root /var/www/html;
    index index.html index.htm;

    location /_matrix {
      proxy_pass http://127.0.0.1:8008;
      proxy_set_header X-Forwarded-For $remote_addr;
    }
}

Speichern und beenden.

Aktivieren Sie die virtuelle Hostdatei und testen Sie die Konfiguration.

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

Stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann die Nginx-Dienste neu.

sudo systemctl restart nginx

Die Installation und Konfiguration von Nginx als Reverse-Proxy für den Matrix Synapse Homeserver ist abgeschlossen.

Nginx konfigurieren

Schritt 6 – Einrichten der UFW Firewall

In diesem Tutorial werden wir nur drei Ports für unsere Dienste öffnen. Wir erlauben nur SSH-, HTTP- und HTTPS-Verbindungen in der UFW-Firewall-Konfiguration.

Fügen Sie die SSH-, HTTP- und HTTPS-Dienste der UFW-Firewall-Konfiguration hinzu, indem Sie den folgenden Befehl ausführen.

ufw allow ssh
ufw allow http
ufw allow https

UFW-Firewall einrichten

Aktivieren Sie nun den UFW-Firewall-Service und überprüfen Sie dann den Status.

ufw enable
ufw status

Und Sie erhalten das Ergebnis wie unten gezeigt.

Firewall-Status überprüfen

Und wir haben die UFW-Firewall-Konfiguration abgeschlossen.

Schritt 7 – Erstellen eines neuen Matrixbenutzers

Zu diesem Zeitpunkt ist die Installation und Konfiguration des Matrix Synapse Heimserver abgeschlossen. Und in diesem Schritt zeigen wir Ihnen, wie Sie einen neuen Matrixbenutzer vom Kommandozeilen-Server hinzufügen können.

Um einen neuen Matrixbenutzer anzulegen, führen Sie den folgenden Befehl aus.

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://127.0.0.1:8448

Jetzt müssen Sie den Benutzernamen und das Passwort eingeben und entscheiden, ob der Benutzer die Administratorrechte hat oder nicht.

Unten ist das Ergebnis auf meinem System.

Einen neuen Matrix-Benutzer anlegen

Und wir haben einen neuen Matrix-Benutzer namens’hakase‘ mit Administratorrechten erstellt.

Schritt 8 – Prüfung

Laden Sie die Riot-Desktop-Anwendung für Ihr Betriebssystem herunter und installieren Sie sie.

Öffnen Sie die Riot-Software und Sie erhalten die Matrix-Login-Seite wie unten beschrieben.

Test Matrix Synapse

Geben Sie den Matrix-Benutzernamen und das Passwort ein, wählen Sie dann die Option „Benutzerdefinierter Server“ und geben Sie den benutzerdefinierten Domänennamen „matrix.hakase-labs.io“ ein.

Klicken Sie auf die Schaltfläche „Anmelden“.

Und jetzt erhalten Sie das Riot Dashboard.

Riot Dashboard

Der Matrix Synapse Heimserver ist unter der Nginx Reverse-Proxy-HTTPS-Verbindung in Betrieb, und der ‚hakase‘ Benutzer ist nun über den Riot-Anwendungs-Desktop am Matrix-Homeserver angemeldet.

Matrix-Benutzerkonfiguration.

Benutzereinstellungen

Matrix-Chat-Benutzer als Gruppe.

Matrix-Chat

Referenz

Das könnte dich auch interessieren …