Matrix ist ein neues Ökosystem für die dezentrale Kommunikation in Echtzeit für offene föderierte Instant Messaging- und VoIP-Dienste. Es bietet RESTful-HTTP-JSON-APIs zum Erstellen verteilter und föderierter Chat-Server ohne Single Point of Control und Fehler und stellt alle Referenzen für die APIs bereit.
Synapse ist eine Implementierung des Matrix-Heimservers, die von einem 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 Heimserver erstellen und alle persönlichen Benutzerinformationen, den Chat-Verlauf speichern, den Raum für den eigenen Gebrauch erstellen usw.
In diesem Tutorial zeigen wir Ihnen, wie Sie Matrix Synapse unter Ubuntu 20.04 installieren und konfigurieren. Wir richten die Matrix Synapse mit Nginx als Reverse-Proxy ein und sichern die Installation mit dem von Letsencrypt bereitgestellten SSL.
Voraussetzungen
Für diese Anleitung installieren wir Matrix Synapse auf dem neuesten Ubuntu 20.04 mit 1 GB RAM, 25 GB freiem Speicherplatz und 2 CPUs. Außerdem müssen Sie mit Root-Rechten Zugriff auf Ihren Server haben.
Was werden wir tun?
- Installieren Sie Matrix Synapse
- Matrix Synapse konfigurieren
- SSL Letsencrypt generieren
- Nginx als Reverse-Proxy einrichten
- UFW-Firewall einrichten
- Neuen Benutzer registrieren
- Testen
Schritt 1 - Installieren Sie Matrix Synapse
Zuerst werden wir Matrix Synapse auf dem neuesten Ubuntu 20.04 Server installieren. Dazu müssen wir den GPG-Schlüssel und das offizielle Repository von Matrix Synapse hinzufügen.
Bevor Sie fortfahren, installieren Sie einige Paketabhängigkeiten mit dem folgenden apt-Befehl.
sudo apt install -y lsb-release wget apt-transport-https
Fügen Sie danach den GPG-Schlüssel und das Repository von Matrix Synapse für das Debian/Ubuntu-basierte System hinzu.
sudo wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" |
sudo tee /etc/apt/sources.list.d/matrix-org.list
Aktualisieren Sie nun die Repository-Liste aller Pakete und installieren Sie Matrix Synapse-Pakete.
sudo apt update
sudo apt install matrix-synapse-py3
Nun werden Sie nach der Konfiguration des Domainnamens gefragt.
Geben Sie Ihren Domänennamen für die Installation von Matrix Synapse ein und wählen Sie „OK“. ' um fortzufahren.
Wählen Sie für die 'Anonyme Datenstatistik' 'Nein '.
Und die Installation von Matrix Synapse ist abgeschlossen.
Starten Sie als Nächstes den Dienst „matrix-synapse“ und fügen Sie ihn zum Systemstart hinzu.
systemctl start matrix-synapse
systemctl enable matrix-synapse
Die Matrix Synapse ist betriebsbereit, überprüfen Sie sie mit dem folgenden Befehl.
systemctl status matrix-synapse
ss -plnt
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen läuft Matrix Synapse mit dem Standard-TCP-Port „8008“ auf Ubuntu 20.04.
Schritt 2 - Matrix Synapse konfigurieren
In diesem Schritt konfigurieren wir die „Bind-Adressen“ für Matrix Synapse, deaktivieren die Registrierung auf unserem Server und richten das gemeinsame Geheimnis für die Registrierung ein.
Bevor Sie fortfahren, generieren Sie das Registrierungsgeheimnis von Matrix Synapse mit dem folgenden Befehl.
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Jetzt erhalten Sie den Zufallsschlüssel, kopieren den Schlüssel und speichern ihn in Ihrer Notiz.
GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f
Gehen Sie als Nächstes in das Verzeichnis „/etc/matrix-synapse“ und bearbeiten Sie die Konfiguration „homeserver.yaml“ mit dem vim-Editor.
cd /etc/matrix-synapse/
vim homeserver.yaml
Wechseln Sie zum Abschnitt „Listeners“ und ändern Sie den Wert „bind-addresses“ mit der lokalen IP-Adresse wie unten beschrieben.
listeners:
- port: 8008
tls: false
type: http
x_forwarded: true
bind_addresses: ['127.0.0.1']
resources:
- names: [client, federation]
compress: false
Deaktivieren Sie jetzt die Matrix-Synapse, wenn Sie den Knoten nur für Sie ausführen.
enable_registration: false
Ändern Sie das 'registration_shared_secret' mit der oben generierten zufälligen Passphrase.
registration_shared_secret: "GH7AP4Zcthz02Cmg58sqUgonm7zlwH0f"
Speichern und schließen.
Starten Sie als Nächstes den Matrix Synapse-Dienst neu, um die neue Konfiguration zu übernehmen.
systemctl restart matrix-synapse
Überprüfen Sie den Dienst mit dem folgenden Befehl.
ss -plnt
systemctl status matrix-synapse
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen ist der Matrix Synapse-Dienst mit einer neuen Konfiguration betriebsbereit.
Schritt 3 - Generieren Sie SSL Letsencrypt
In diesem Schritt generieren wir das SSL Letsencrypt mit dem certbot-Tool. Die Matrix Synapse wird unter der sicheren HTTPS-Verbindung mit den von Letsencrypt bereitgestellten SSL-Zertifikaten ausgeführt.
Installieren Sie das certbot-Tool mit dem folgenden apt-Befehl.
sudo apt install certbot -y
Generieren Sie danach mit dem Befehl certbot unten ein neues SSL-Zertifikat und stellen Sie sicher, dass Sie die E-Mail-Adresse und den Domänennamen durch Ihre eigenen ersetzen.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d hakase-labs.io
Sobald alles abgeschlossen ist, sind Ihre SSL-Zertifikate im Verzeichnis „/etc/letsencrypt/live/domain.com/“ verfügbar.
ls -lah /etc/letsencrypt/live/domain.com/
Die 'fullchain.pem' ist der öffentliche Schlüssel und die 'privkey.pem' ist der private Schlüssel.
Schritt 4 – Richten Sie Nginx als Reverse-Proxy ein
Für dieses Tutorial führen wir Matrix Synapse unter dem Nginx Reverse-Proxy aus. Und für diesen Schritt werden wir Nginx-Pakete installieren und als Reverse Proxy einrichten.
Der Nginx-Webserver wird auf 3 Ports ausgeführt, dem Standard-HTTP-Port „80“, dem sicheren HTTPS-Port „443“ und dem TCP-Port „8448“, der für den Matrix-Synapse-Verbund verwendet wird.
Installieren Sie Nginx-Pakete mit dem folgenden apt-Befehl.
sudo apt install nginx -y
Sobald die gesamte Installation abgeschlossen ist, gehen Sie in das Verzeichnis „/etc/nginx/sites-available“ und erstellen Sie mit dem vim-Editor eine neue Virtualhost-Konfiguration mit dem Namen „matrix“.
cd /etc/nginx/sites-available/
vim matrix
Ändern Sie den Domänennamen und den Pfad des SSL-Zertifikats mit Ihrem eigenen, und fügen Sie die Konfiguration darin ein.
server {
listen 80;
server_name hakase-labs.io;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name hakase-labs.io;
ssl_certificate /etc/letsencrypt/live/hakase-labs.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hakase-labs.io/privkey.pem;
location /_matrix {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
# Nginx by default only allows file uploads up to 1M in size
# Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
client_max_body_size 10M;
}
}
# This is used for Matrix Federation
# which is using default TCP port '8448'
server {
listen 8448 ssl;
server_name hakase-labs.io;
ssl_certificate /etc/letsencrypt/live/hakase-labs.io/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/hakase-labs.io/privkey.pem;
location / {
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
Speichern und schließen.
Aktivieren Sie als Nächstes den virtuellen Host „Matrix“ und testen Sie die Nginx-Konfiguration. Stellen Sie außerdem sicher, dass kein Fehler vorliegt.
ln -s /etc/nginx/sites-available/matrix /etc/nginx/sites-enabled/
nginx -t
Starten Sie nun den Nginx-Dienst neu und fügen Sie ihn zum Systemstart hinzu.
systemctl restart nginx
systemctl enable nginx
Überprüfen Sie danach den Nginx-Dienst mit dem folgenden Befehl.
ss -plnt
systemctl status nginx
Unten sehen Sie das Ergebnis, das Sie erhalten.
Infolgedessen läuft der Nginx-Dienst auf Ubuntu 20.04 mit drei verschiedenen Ports, dem Standard-HTTP-Port 80, der automatisch auf den sicheren HTTPS-Port umgeleitet wird, und Port „8448“, der für Matrix Synapse Federation verwendet wird.
Schritt 5 – UFW-Firewall
Für dieses Tutorial führen wir Matrix Synapse auf Ubuntu 20.04 mit aktivierter UFW-Firewall aus.
Fügen Sie ssh, http, https und den TCP-Port „8448“ mit dem folgenden Befehl zur UFW-Firewall hinzu.
for svc in ssh http https 8448
do
ufw allow $svc
done
Führen Sie danach die UFW-Firewall aus und aktivieren Sie sie.
ufw enable
Geben Sie 'y ein ' Um zu bestätigen, dass die UFW-Firewall betriebsbereit ist, überprüfen Sie alle verfügbaren Regeln auf der UFW-Firewall mit dem folgenden Befehl.
ufw status numbered
Unten sehen Sie das Ergebnis, das Sie erhalten.
Als Ergebnis ist die Konfiguration der UFW-Firewall abgeschlossen.
Schritt 6 - Benutzer registrieren
Damit ist die Installation und Konfiguration des Matrix Synapse Home Servers abgeschlossen. Und in diesem Schritt zeigen wir Ihnen, wie Sie einen neuen Matrix-Benutzer vom Befehlszeilenserver hinzufügen.
Führen Sie den folgenden Befehl aus, um einen neuen Matrixbenutzer zu erstellen.
sudo register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Geben Sie nun den Benutzernamen und das Passwort für Ihren Benutzer ein, um den Benutzer zum Administrator zu machen, geben Sie „Ja“ ein.
New user localpart [root]: changbin
Password:
Confirm password:
Make admin [no]:
Sending registration request...
Success!
Als Ergebnis wurde der neue Matrix-Benutzer erstellt.
Schritt 7 – Testen
Für diesen Schritt testen wir unsere Matrix Synapse-Serverinstallation.
- Testen von Matrix Synapse Federation
Rufen Sie unten die Matrix Synapse Federation Tester-URL auf.
https://federationtester.matrix.org/
Geben Sie nun Ihren Matrix-Synapse-Domainnamen ein und klicken Sie auf „Los“. ', und Sie erhalten das erfolgreiche Ergebnis wie unten.
Wie man sieht, arbeitet die Matrix Synapse Federation über den Port '8448'.
- Test Matrix Login mit Benutzer und Passwort
Rufen Sie den webbasierten Matrix-Client namens „riot.im“ als URL unten auf.
https://riot.im/app/
Klicken Sie auf „Anmelden“. ' und Sie können Ihren benutzerdefinierten Matrix Synapse-Server verwenden.
Geben Sie Ihren Domainnamen ein und klicken Sie auf "Weiter". '.
Geben Sie nun Ihren Benutzernamen und Ihr Passwort ein und klicken Sie dann auf „Anmelden“. ' Schaltfläche.
Sie werden nach zusätzlichen Sicherheitsfragen gefragt.
Sobald Sie sich angemeldet haben, erhalten Sie die folgende Seite.
Als Ergebnis wurde die Installation von Matrix Synapse mit aktiviertem Nginx-Reverse-Proxy und Federation auf Ubuntu 20.04 erfolgreich abgeschlossen.