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?
- Aktualisierung und Upgrade des Ubuntu 18.04 Systems
- Matrix Synapse installieren
- Matrix-Synapse konfigurieren
- SSL Letsencrypt generieren
- Nginx als Reverse-Proxy für Matrix Synapse installieren und konfigurieren
- Einrichten der UFW Firewall
- Neuen Matrix-Benutzer einrichten
- 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.
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.
Und für den anonymen Datenbericht wählen Sie „Nein“.
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
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']
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
Ü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.
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.
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.
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
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.
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.
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.
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.
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.
Matrix-Chat-Benutzer als Gruppe.