So installierst du Matrix Synapse Chat unter Ubuntu 22.04
Matrix ist eine kostenlose, quelloffene und webbasierte Lösung, die für Messaging- und VoIP-Dienste verwendet wird. Es handelt sich um ein offenes Standard-VoIP-Protokoll, mit dem du über Voice-over-IP und Chat mit anderen Nutzern bei einem anderen Dienstanbieter kommunizieren kannst. Es bietet RESTful HTTP JSON APIs für den Aufbau von verteilten und föderierten Chat-Servern ohne einen einzigen Kontroll- und Fehlerpunkt und stellt alle Referenzen für die APIs bereit. Es ist in Python geschrieben und ermöglicht es dir, deinen eigenen Server zu erstellen und alle persönlichen Daten und Chatverläufe der Nutzer zu speichern.
In diesem Beitrag zeigen wir dir, wie du Matrix Synapse auf Ubuntu 22.04 installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein gültiger Domainname, der auf die IP deines Servers zeigt.
- Ein Root-Passwort ist auf dem Server eingerichtet.
Erste Schritte
Zuerst musst du deine Systempakete auf die aktuelle Version aktualisieren. Das kannst du mit dem folgenden Befehl tun:
apt update -y
Sobald alle Paketindizes aktualisiert sind, installierst du die anderen erforderlichen Abhängigkeiten mit dem folgenden Befehl:
apt install curl wget gnupg2 apt-transport-https -y
Sobald alle Abhängigkeiten installiert sind, kannst du mit dem nächsten Schritt fortfahren.
Matrix Synapse auf Ubuntu 22.04 installieren
Standardmäßig ist das Matrix Synapse-Paket nicht im Standard-Repository von Ubuntu 22.04 enthalten. Daher musst du das offizielle Matrix Synapse Repository zu APT hinzufügen.
Lade zunächst den Matrix Synapse GPG-Schlüssel herunter und füge ihn mit dem folgenden Befehl hinzu:
wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Als Nächstes fügst du das Matrix Synapse Repository mit folgendem Befehl zu APT hinzu:
echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/matrix-org.list
Als Nächstes aktualisierst du das Repository und installierst das Matrix Synapse Paket mit dem folgenden Befehl:
apt-get update -y apt-get install matrix-synapse-py3 -y
Während der Installation wirst du aufgefordert, deinen Domänennamen zu definieren (siehe unten):
Gib deinen Domänennamen ein und drücke die Eingabetaste. Du wirst gefragt, ob du anonyme Statistiken melden möchtest:
Wähle Ja und drücke die Eingabetaste, um fortzufahren.
Sobald die Installation abgeschlossen ist, starte den Matrix-Dienst und aktiviere ihn mit dem unten stehenden Befehl, damit er beim Neustart des Systems gestartet wird:
systemctl start matrix-synapse systemctl enable matrix-synapse
Du kannst den Status der Matrix Synapse auch mit dem folgenden Befehl überprüfen:
systemctl status matrix-synapse
Du erhältst die folgende Ausgabe:
? matrix-synapse.service - Synapse Matrix homeserver Loaded: loaded (/lib/systemd/system/matrix-synapse.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-06-04 08:01:22 UTC; 3s ago Process: 1916 ExecStartPre=/opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.ya> Main PID: 1923 (python) Tasks: 8 (limit: 9460) Memory: 78.6M CPU: 4.911s CGroup: /system.slice/matrix-synapse.service ??1923 /opt/venvs/matrix-synapse/bin/python -m synapse.app.homeserver --config-path=/etc/matrix-synapse/homeserver.yaml --config> Jun 04 08:01:17 ubuntu2204 systemd[1]: Starting Synapse Matrix homeserver... Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: This server is configured to use 'matrix.org' as its trusted key server via the Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: 'trusted_key_servers' config option. 'matrix.org' is a good choice for a key Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: server since it is long-lived, stable and trusted. However, some admins may Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: wish to use another server for this purpose. Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: To suppress this warning and continue using 'matrix.org', admins should set Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: 'suppress_key_server_warning' to 'true' in homeserver.yaml. Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: -------------------------------------------------------------------------------- Jun 04 08:01:22 ubuntu2204 matrix-synapse[1923]: Config is missing macaroon_secret_key
Zu diesem Zeitpunkt ist der Matrix Synapse-Dienst gestartet und lauscht auf Port 8008. Du kannst ihn mit dem folgenden Befehl überprüfen:
ss -antpl | grep python
Du erhältst die folgende Ausgabe:
LISTEN 0 50 127.0.0.1:8008 0.0.0.0:* users:(("python",pid=1950,fd=12)) LISTEN 0 50 [::1]:8008 [::]:* users:(("python",pid=1950,fd=11))
Matrix Synapse konfigurieren
Nachdem du Matrix Synapse installiert hast, musst du es konfigurieren. Erstelle zunächst mit folgendem Befehl ein Sekretariat:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Du erhältst die folgende Ausgabe:
R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s
Als Nächstes bearbeitest du die Standardkonfigurationsdatei von Matrix Synapse:
nano /etc/matrix-synapse/homeserver.yaml
Lege deine Bind-Adressen fest, deaktiviere die Registrierung und definiere deine Secrets wie unten gezeigt:
bind_addresses: ['127.0.0.1'] enable_registration: false registration_shared_secret: "R3jvgiDYyhh5XgduDPsgtwxPDiar8q2s"
Speichere und schließe die Datei und starte den Matrix Synapse-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart matrix-synapse
Konfigurieren von Nginx als Reverse Proxy für Matrix Synapse
Es ist eine gute Idee, Nginx als Reverse Proxy für Matix Synapse zu konfigurieren. Installiere zunächst das Nginx-Webserverpaket mit dem folgenden Befehl:
apt-get install nginx -y
Sobald Nginx installiert ist, erstellst du eine Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/matrix.conf
Füge die folgende Konfiguration hinzu:
server { listen 80; server_name matrix.linuxbuz.com; location / { proxy_pass http://localhost:8008; proxy_set_header X-Forwarded-For $remote_addr; } }
Speichere und schließe die Datei und überprüfe die Nginx-Konfiguration mit dem folgenden Befehl:
nginx -t
Du erhältst die folgende Ausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starte anschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart nginx
Du kannst den Status des Nginx-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status nginx
Du solltest die folgende Ausgabe sehen:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-06-04 08:06:22 UTC; 26s ago Docs: man:nginx(8) Process: 2433 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 2434 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 2436 (nginx) Tasks: 5 (limit: 9460) Memory: 4.8M CPU: 58ms CGroup: /system.slice/nginx.service ??2436 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" ??2437 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2438 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2439 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??2440 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" Jun 04 08:06:22 ubuntu2204 systemd[1]: Starting A high performance web server and a reverse proxy server... Jun 04 08:06:22 ubuntu2204 systemd[1]: Started A high performance web server and a reverse proxy server.
Ein Superuser-Konto erstellen
Als Nächstes musst du ein Admin-Benutzerkonto erstellen und ein Passwort für den Zugriff auf die Matrix Synapse festlegen.
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
Gib dein Admin-Benutzerkonto an und setze ein Passwort wie unten gezeigt:
New user localpart [root]: matrixadmin Password: Confirm password: Make admin [no]: yes Sending registration request... Success!
Matrix Synapse mit Let’s Encrypt sichern
Es wird auch empfohlen, die Matrix Synapse mit Let’s Encrypt SSL zu sichern. Installiere zunächst das Certbot Client-Paket mit dem folgenden Befehl:
apt-get install certbot python3-certbot-nginx -y
Sobald das Certbot-Paket installiert ist, führe den folgenden Befehl aus, um Let’s Encrypt SSL zu installieren:
certbot
Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Account registered.
Du wirst aufgefordert, die Website auszuwählen, auf der du das SSL installieren möchtest:
Which names would you like to activate HTTPS for? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: matrix.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1
Gib 1 ein und drücke die Eingabetaste, um Let’s Encrypt SSL auf deiner Website zu installieren.
Requesting a certificate for matrix.linuxbuz.com Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/matrix.linuxbuz.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/matrix.linuxbuz.com/privkey.pem This certificate expires on 2022-09-02. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. Deploying certificate Successfully deployed certificate for matrix.linuxbuz.com to /etc/nginx/conf.d/matrix.conf Congratulations! You have successfully enabled HTTPS on https://matrix.linuxbuz.com We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Zugriff auf Matrix Synapse
Du kannst nun die Installation von Matrix Synapse mit der URL https://matrix.linuxbuz.com in deinem Webbrowser überprüfen. Du solltest den folgenden Bildschirm sehen:
Du kannst deine Matrix Synapse auch mit dem webbasierten Riot-Client https://riot.im/app/#/login überprüfen . Du solltest den folgenden Bildschirm sehen:
Klicke auf die Schaltfläche Bearbeiten. Du solltest den folgenden Bildschirm sehen:
Gib die URL deines Matrix-Servers ein und klicke auf die Schaltfläche “ Weiter“. Du solltest die Matrix-Anmeldeseite sehen:
Gib deinen Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche „ Anmelden „. Sobald du mit dem Matrix-Synapse-Server verbunden bist. Du solltest den folgenden Bildschirm sehen:
Fazit
In diesem Beitrag hast du gelernt, wie du Matrix Synapse mit Nginx als Reverse Proxy auf einem Ubuntu 22.04 Server installierst. Außerdem hast du Matrix Synapse mit dem webbasierten Riot-Client verifiziert. Jetzt kannst du deinen eigenen VOIP-Server mit der Matrix Synapse aufbauen.