Mit Hilfe dieser Anleitung installieren Sie Matrix Synapse basierend auf Debian 12 oder Ubuntu Server 24.04 LTS, dem Webserver nginx, der Datenbank PostgreSQL, Zertifikaten von Let’s Encrypt SSL und abgesichert durch ufw und fail2ban.
Vorbereitungen
Zuerst stellen wir sicher, dass das ServerbBetriebssystem Debian 12 bzw. Ubuntu 24.04 LTS einen aktuellen Stand aufweist:
sudo -s
apt update && apt full-upgrade && apt autoremove && apt autoclean
Nach einem Neustart des Servers
reboot now
melden wir uns erneut mit sudo-Berechtigungen an.
sudo -s
Bevor wir mit der eigentlichen Installation fortfahren härten wir das System durch die ufw (Firewall) und fail2ban (Intrusion detection, alternativ crowdsec).
apt install -y ufw fail2ban
Die Firewall wird mit Ausnahme der TCP-Ports 80, 443 (nginx) und 22 (SSH, bitte ggf. anpassen) keine weiteren eingehenden Verbindungen zulassen:
apt install -y ufw
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 22/tcp
ufw logging medium && ufw default deny incoming
Aktivieren Sie letztendlich noch die Firewall (ufw) und starten dann beide Dienste, fail2ban und ufw, neu:
ufw enable
systemctl restart fail2ban.service ufw.service
Installation Matrix Synapse
Wir können nun mit der Installation des Matrix Servers beginnen und stellen zu Beginn sicher, dass die nachfolgenden Pakete installiert sind:
apt install -y \
apt-transport-https bash-completion bzip2 ca-certificates cron curl dialog \
dirmngr ffmpeg ghostscript git gpg gnupg gnupg2 htop jq libfile-fcntllock-perl \
libfontconfig1 libfuse2 locate lsb-release nodejs npm net-tools rsyslog screen smbclient \
socat software-properties-common ssl-cert tree unzip vim wget zip
Im Anschluß daran erweitern wir die Standard-Paketquellen (Repositories) und fügen den notwendigen Schlüssel zum System hinzu.
Hinzufügen des Matrix-GPG-Keys:
wget -O /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg
Hinzufügen des Matrix-Repositories:
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
Das System ist nun vorbereitet, so dass Matrix Synapse mit folgendem Befehl installiert werden kann:
apt update && apt install -y matrix-synapse-py3
Im Rahmen der Installation werden Sie zuerst nach ihrer Matrix-Domain (bspw. matrix.ihredomain.de) gefragt und dann
nach der Zustimmung zum Versandt anonymer Statistiken.
Nach wenigen Momenten ist die Installation dann bereits schon abgeschlossen. Nach der Installation stellen wir zudem sicher, dass Matrix auch nach einem Serverneustart automatisch gestartet wird:
systemctl enable matrix-synapse.service && systemctl restart matrix-synapse.service
Konfiguration Matrix Synapse
Die Basiskonfiguration des Matrix-Servers findet sich in dieser Datei wider:
/etc/matrix-synapse/homeserver.yaml
von der wie uns zuerst eine Sicherungskopie anlegen:
cp /etc/matrix-synapse/homeserver.yaml /etc/matrix-synapse/homeserver.yaml.bak
Weitere für uns relevante Anpassungen werden persistent in die Datei
/etc/matrix-synapse/conf.d/server_name.yaml
aufgenommen, welche wir vorab ebenfalls sichern.
cp /etc/matrix-synapse/conf.d/server_name.yaml /etc/matrix-synapse/conf.d/server_name.yaml.bak
Wir benötigen ein sogenanntes Secret (Registrierungsschlüssel), welches in der Konfigurationsdatei (server_name.yaml) hinterlegt wird. Erzeugt wird es mit diesem Befehl:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Kopieren Sie sich dieses Secret um es unter „registration_shared_secret: J45ga…xyz“ in die Konfiguration zu übernehmen. Öffnen Sie die Konfigurationsdatei
nano /etc/matrix-synapse/conf.d/server_name.yaml
und ersetzen diese vollständig mit nachfolgendem Inhalt.
# This file is autogenerated, and will be recreated on upgrade if it is deleted.
# Any changes you make will be preserved.
# The domain name of the server, with optional explicit port.
# This is used by remote servers to connect to this server,
# e.g. matrix.org, localhost:8080, etc.
# This is also the last part of your UserID.
#
server_name: matrix.ihredomain.de
public_baseurl: https://matrix.ihredomain.de
max_upload_size: 50M
url_preview_enabled: true
url_preview_ip_range_blacklist:
- '127.0.0.0/8'
- '10.0.0.0/8'
- '172.16.0.0/12'
- '192.168.0.0/16'
- '100.64.0.0/10'
- '192.0.0.0/24'
- '169.254.0.0/16'
- '192.88.99.0/24'
- '198.18.0.0/15'
- '192.0.2.0/24'
- '198.51.100.0/24'
- '203.0.113.0/24'
- '224.0.0.0/4'
- '::1/128'
- 'fe80::/10'
- 'fc00::/7'
- '2001:db8::/32'
- 'ff00::/8'
- 'fec0::/10'
enable_registration: false
registration_shared_secret: J45ga...xyz
enable_metrics: false
report_stats: false
include_content: false
smtp_host: ihr.mailserver.de
smtp_port: 587
smtp_user: "SMTP-Benutzer"
smtp_pass: "SMTP-Passwort"
require_transport_security: true
#turn_uris: ["turn:coturn.ihredomain.de:443?transport=udp", "turn:coturn.ihredomain.de:443?transport=tcp"]
#turn_shared_secret: "IhrGeheimerSchlüssel"
Suchen Sie nach den nachfolgenden Parametern (STRG+W) und ändern die rot markierten Werte ab:
public_baseurl: https://matrix.ihredomain.de/
^ Name / die URL des Matrix Synapse-Servers: die URL unter der der Server aufgerufen wird.
max_upload_size: 50M
^ Maximale Uploadgröße in MB
url_preview_enabled: true
^ Im Chat verteilte ("gepostete") URLs werden mit einer Vorschau angezeigt
url_preview_ip_range_blacklist:
^ IP-Adress-Bereiche, die von den URL-Reviews ausgeschlossen werden (müssen). Ergänzend zu den "Default-Netzen" sollten hier auch alle lokalen IP-Adressen des Servers ausgeschlossen werden!
enable_registration: false
Verhindert/erlaubt, dass sich "fremde" Benutzer bei Ihnen selbstständig registrieren können. Möchten Sie Ihren Server hingegen als öffentliche Instanz (public) betreiben und die Registrierung Dritter ermöglichen, so setzen Sie diesen Wert bitte auf true.
registration_shared_secret: J45ga...xyz
^Registrierung des Administratorkontos und der Benutzerkonten muss der zu Beginn generierte Registrationsschlüssel (das Secret) angegeben werden.
enable_metrics: false
report_stats: false
^ diese beiden Werte verhindern das Sammeln und Übermitteln jeglicher Metriken.
smtp_host: ihr.mailserver.de
smtp_port: 587
smtp_user: "SMTP-Benutzer"
smtp_pass: "SMTP-Passwort"
require_transport_security: true
^ Soll der Matrix-Server E-Mails versenden können (bspw. Passwort Wiederherstellung), so werden diese SMTP-Einstellungen benötigt.
include_content: false
^ Relevanter Datenschutzaspekt - sofern include_content auf true gesetzt wäre, würden Inhalte von Nachrichten über die Google-/Apple-Push-Services geleitet. Vorausgesetzt, dass Sie das nicht möchten, stellen wir diese Option auf false. Die Push-Benachrichtigungen funktionieren damit weiterhin, jedoch ohne dabei Inhalte der Nachrichten an Google oder Apple zu übermitteln.
Es gibt noch sehr viel mehr Einstellungsmöglichkeiten in der Konfigurationsdatei, doch für unseren Start sind wir vorerst am Ende angelangt. Starten wir also Matrix neu:
systemctl restart matrix-synapse.service
und fahren mit der Einrichtung von PostgreSQL fort.
PostgreSQL für Matrix Synapse konfigurieren
Standardmäßig wird SQLite als Datenbank verwendet. Davon raten wir ab und richten daher PostgreSQL als Datenbankbackend ein:
apt update && apt install -y postgresql python3-psycopg2
Legen Sie einen Datenbankbenutzer und eine Datenbank für Matrix Synapse an. Um das tun zu können melden wir uns als postgres-Benutzer an
su - postgres
und rufen dann die psql-Kommandozeile auf
psql
Legen Sie den Datenbank-Benutzer an, passen aber den rot markierten Namen sowie das rot markierte Passwort an:
CREATE USER "matrixdbuser" WITH PASSWORD 'matrix-db_p0sswort';
Abschließend wird die Datenbank erzeugt:
CREATE DATABASE matrixdb
ENCODING 'UTF8'
LC_COLLATE='C'
LC_CTYPE='C'
template=template0
OWNER matrixdbuser;
Die Vorbereitungen sind nun abgeschlossen, so dass wir PostgreSQL wieder verlassen können (mit „\q“):
\q
Verlassen wir auch den postgreSQL-Benutzer
exit
Übernehmen wir nun die Datenbankinformationen in die Matrix-Konfiguration. Öffnen Sie dafür die Basiskonfigurationsdatei,
nano /etc/matrix-synapse/homeserver.yaml
deaktivieren das Datenbankbackend „SQLite“
#database:
# name: sqlite3
# args:
# database: /path/to/homeserver.db
und ergänzen die postgreSQL- Datenbankinformationen:
database:
name: psycopg2
# txn_limit: 10000
args:
user: matrixdbuser
password: matrix-db_p0sswort
database: matrixdb
host: localhost
port: 5432
cp_min: 5
cp_max: 10
Um diese Änderungen zu aktivieren starten wir Matrix neu
systemctl restart matrix-synapse.service
Konfiguration von coturn für STUN/TURN
Matrix unterstützt auch Audio- und Videoanrufe. Damit dies auch netzwerkübergreifend funktioniert, wird in den meisten Fällen ein STUN/TURN-Server benötigt. STUN (Session Traversal Utilities for NAT) sorgt einfach ausgedrückt dafür, dass ein Client aus dem LAN seine öffentliche IP-Adresse ermitteln kann. TURN (Traversal Using Relays around NAT) sorgt wiederum dafür, dass Clients ohne eine direkte Verbindung Daten austauschen können. Ein TURN-Server wirkt hier dann als Relay Server.
Wie sie einen stun/coturn-Server einrichten, das beschreiben wir hier.
Sofern Sie Ihren eigenen coturn-Server verwenden möchten, so muss die Matrix-Konfiguration erneut geöffnet und angepasst werden:
nano /etc/matrix-synapse/conf.d/server_name.yaml
Ersetzen Sie Ihre coturn-Domain, ggf. den Port sowie das dazugehörige coturn-shared-secret und entfernen vor jeder Zeile das ‚#‘-Zeichen:
turn_uris: ["turn:coturn.ihredomain.de:443?transport=udp", "turn:coturn.ihredomain.de:443?transport=tcp"]
turn_shared_secret: "IhrGeheimerSchlüssel"
Um diese Änderungen zu aktivieren starten wir Matrix abermals neu:
systemctl restart matrix-synapse.service
Konfiguration des Webservers nginx für Matrix Synapse
Beginnen wir mit der Installation und Einrichtung von nginx. Dafür fügen wir dem Server die Quelle und den Schlüssel von nginx hinzu:
Nur Ubuntu Server (X86_64):
apt install -y ubuntu-keyring curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \ http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \ | sudo tee /etc/apt/sources.list.d/nginx.list echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx
Nur Debian Server (X86_64):
apt install -y debian-archive-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
Ab hier geht es wieder sowohl für Denian als auch für Ubuntu 22/24.x weiter:
Nach einer Aktualisierung kann direkt mit der Installation des Webservers begonnen werden:
apt update && apt install -y nginx
Um auch diesen Dienst automatischen starten zu lassen aktivieren wir den Autostart:
systemctl enable nginx.service
Mit Blick auf die späteren Anpassungen des vHosts wird die Standardkonfiguration gesichert und eine neue nginx-Konfigurationsdatei erstellt:
mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
touch /etc/nginx/nginx.conf && nano /etc/nginx/nginx.conf
Kopieren Sie den gesamten nachfolgenden Inhalt in die Datei:
user www-data; worker_processes auto; pid /var/run/nginx.pid; events { worker_connections 2048; multi_accept on; use epoll; } http { log_format criegerde escape=json '{' '"time_local":"$time_local",' '"remote_addr":"$remote_addr",' '"remote_user":"$remote_user",' '"request":"$request",' '"status": "$status",' '"body_bytes_sent":"$body_bytes_sent",' '"request_time":"$request_time",' '"http_referrer":"$http_referer",' '"http_user_agent":"$http_user_agent"' '}'; server_names_hash_bucket_size 64; access_log /var/log/nginx/access.log criegerde; error_log /var/log/nginx/error.log warn; set_real_ip_from 127.0.0.1; real_ip_header X-Forwarded-For; real_ip_recursive on; include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; send_timeout 3600; tcp_nopush on; tcp_nodelay on; open_file_cache max=500 inactive=10m; open_file_cache_errors on; keepalive_timeout 65; reset_timedout_connection on; server_tokens off; resolver 176.9.93.198 176.9.1.117 valid=30s; resolver_timeout 5s; include /etc/nginx/conf.d/*.conf; }
Speichern Sie die Datei und schließen Sie diese, um im Anschluß den Webserver neu zu starten:
systemctl restart nginx.service
Vorbereitend für die SSL Zertifikate und die Webverzeichnisse legen wir drei Ordner an und setzen die notwendigen Berechtigungen:
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge /etc/letsencrypt/rsa-certs /etc/letsencrypt/ecc-certs
chmod -R 775 /var/www/letsencrypt
chmod -R 770 /etc/letsencrypt && chown -R www-data:www-data /var/www/ /etc/letsencrypt
Für das Zertifikatshandling erstellen wir nun einen dedizierten Benutzer und fügen diesen der www-data Gruppe hinzu:
adduser acmeuser --gecos "" --disabled-password usermod -aG www-data acmeuser
Diesem technischen Benutzer erteilen wir noch die notwendigen Berechtigungen, um bei einer Zertifikatserneuerung den notwendigen Webserverstart initiieren zu können.
touch /etc/sudoers.d/acmeuser cat <<EOF >/etc/sudoers.d/acmeuser acmeuser ALL=NOPASSWD: /bin/systemctl reload nginx.service EOF
Wechseln Sie in die Shell des neuen Benutzers (acmeuser) um die Zertifikatssoftware zu installieren und verlassen diese Shell direkt im Anchluß wieder:
su - acmeuser
curl https://get.acme.sh | sh exit
Passen Sie die entsprechenden Datei- und Verzeichnisberechtigungen an, um die neuen Zertifikate darin speichern zu können:
chmod -R 775 /var/www/letsencrypt && chmod -R 770 /etc/letsencrypt && chown -R www-data:www-data /var/www/ /etc/letsencrypt
Setzen Sie Let’s Encrypt als Standard CA für Ihren Server
su - acmeuser -c ".acme.sh/acme.sh --set-default-ca --server letsencrypt"
Wir richten nun verschiedene vhost, also Serverkonfigurationsdateien, ein und modifizieren die Standard vhost-Datei. Sichern die dafür die Standard vhost-Datei namens „default.conf“ und legen leere vHost-Dateien zum Konfigurieren an.
[ -f /etc/nginx/conf.d/default.conf ] && mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
touch /etc/nginx/conf.d/default.conf
touch /etc/nginx/conf.d/http.conf
touch /etc/nginx/conf.d/matrix.ihredomain.de.conf
Somit ist durch die leere „default.conf“ Datei auch bei späteren Aktualisierungen des Webservers sichergestellt, dass diese Standardkonfiguration den Matrix-Serverbetrieb nicht beeinflußt. Erstellen Sie jetzt die globale vhost-Datei, um die http-Standardanfragen permanent auf https umzuleiten und zudem die SSL-Zertifikatskommunikation mit Let’sEncrypt zu ermöglichen.
nano /etc/nginx/conf.d/http.conf
Kopieren Sie alle nachfolgenden Zeilen in die Datei http.conf und passen die rot markierten Werte entsprechend Ihres Systems an:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name matrix.ihredomain.de;
root /var/www;
location ^~ /.well-known/acme-challenge {
default_type text/plain;
root /var/www/letsencrypt;
}
location / {
return 301 https://$host$request_uri;
}
}
Speichern und schließen Sie diese Datei und bearbeitendann die eigentliche Matrix- vHost-Datei, die sämtliche Konfigurationen für den Betrieb des Matrix Synapse Servers enthält.
nano /etc/nginx/conf.d/matrix.ihredomain.de.conf
fügen Sie den nachfolgenden Inhalt komplett ein und ersetzen die Domain an den rot markierten Stellen:
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name matrix.ihredomain.de;
# Wir nutzen zu Beginn sogenannte "self-signed-certificates'
# um bei Let's Encrypt TLS-Zertifikate anfragen zu können:
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
ssl_trusted_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
#ssl_certificate /etc/letsencrypt/rsa-certs/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/rsa-certs/privkey.pem;
#ssl_certificate /etc/letsencrypt/ecc-certs/fullchain.pem;
#ssl_certificate_key /etc/letsencrypt/ecc-certs/privkey.pem;
#ssl_trusted_certificate /etc/letsencrypt/ecc-certs/chain.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers 'TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384';
ssl_ecdh_curve X448:secp521r1:secp384r1;
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload;" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Robots-Tag none always;
add_header X-Download-Options noopen always;
add_header X-Permitted-Cross-Domain-Policies none always;
add_header Referrer-Policy no-referrer always;
add_header X-Frame-Options "SAMEORIGIN" always;
fastcgi_hide_header X-Powered-By;
access_log off;
error_log off;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
location /_matrix {
proxy_pass http://127.0.0.1:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 50M;
}
location /.well-known/matrix/server {
return 200 '{"m.server": "matrix.ihredomain.de:443"}';
add_header Content-Type application/json;
}
location /.well-known/matrix/client {
return 200 '{"m.homeserver": {"base_url": "https://matrix.ihredomain.de"}}';
add_header Content-Type application/json;
add_header "Access-Control-Allow-Origin" *;
}
}
Speichern und schließen Sie diese Datei und erweitern dann die Server- und Systemsicherheit durch die Möglichkeit des sicheren Schlüsselaustauschs mittels eines Diffie-Hellman Schlüssels (dhparam.pem):
openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Das Generieren kann – in Abhängigkeit von der Systemleistung – einige Minuten dauern. Erst wenn das Generieren abgeschlossen ist, starten wir den Webserver durch.
systemctl restart nginx.service
und wechseln dann erneut in die Shell des neuen acmeuser-Benutzers
su - acmeuser
Beantragen Sie nun die SSL-Zertifikate von Let’s Encrypt und ersetzen dabei matrix.ihredomain.de mit Ihrer eigenen Domain :
acme.sh --issue -d matrix.ihredomain.de --server letsencrypt --keylength 4096 -w /var/www/letsencrypt --key-file /etc/letsencrypt/rsa-certs/privkey.pem --ca-file /etc/letsencrypt/rsa-certs/chain.pem --cert-file /etc/letsencrypt/rsa-certs/cert.pem --fullchain-file /etc/letsencrypt/rsa-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
acme.sh --issue -d matrix.ihredomain.de --server letsencrypt --keylength ec-384 -w /var/www/letsencrypt --key-file /etc/letsencrypt/ecc-certs/privkey.pem --ca-file /etc/letsencrypt/ecc-certs/chain.pem --cert-file /etc/letsencrypt/ecc-certs/cert.pem --fullchain-file /etc/letsencrypt/ecc-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
Verlassen Sie die Shell des acme-Benutzers
exit
Entfernen Sie Ihre bisher verwendeten Self-Signed-Zertifikate aus nginx und aktivieren die neuen, vollwertigen und bereits gültigen TLS-Zertifikate von Let’s Encrypt.
sed -i '/ssl-cert-snakeoil/d' /etc/nginx/conf.d/matrix.ihredomain.de.conf
sed -i s/#\ssl/\ssl/g /etc/nginx/conf.d/matrix.ihredomain.de.conf
Um die neuen Zertifikate nutzen zu können wird der Webserver neu gestartet
systemctl restart nginx.service
Um sowohl die SSL-Zertifikate automatisch zu erneuern, als auch den notwendigen Webserverneustart zu initiieren, wurde automatisch ein Cronjob angelegt.
crontab -l -u acmeuser
Ob Matrix erfolgreich eingerichtet wurde, können Sie durch den Aufruf folgender URL testen:
https://matrix.ihredomain.de/_matrix/static/
Matrix stellt ein dezentrales System dar, es spielt also die Server-Server-Kommunikation (Federation) eine entscheidende Rolle. Ob bereits alles korrekt eingerichtet wurde, kann der Matrix Federation Tester prüfen und aufzeigen (2x Success):
Eine weitere Übersicht zeigt Ihnen diese URL:
https://federationtester.matrix.org/api/report?server_name=matrix.ihredomain.de
Diese sollte weder Fehler noch Errors aufweisen.
Auch die verwendete Version lässt sich prüfen, entweder über
dpkg -s matrix-synapse-py3 | grep '^Version:'
oder über den Aufruf der URL https://matrix.ihredomain.de/_matrix/federation/v1/version
Somit ist gewährleistet, dass das Federation-Feature von Matrix ordnungsgemäß funktioniert.
Matrix Synapse Benutzer anlegen und den Element-Client verbinden
Als nächstes legen wir einen Adminbenutzer sowie weitere Matrix-Benutzer an:
register_new_matrix_user -c /etc/matrix-synapse/conf.d/server_name.yaml http://localhost:8008
Danach fragt das System nach dem „localpart“. Dies ist quasi der Benutzername auf der Instanz (dazu später mehr). Im Anschluss wird dann ein Passwort und eine Bestätigung gefordert. Ganz am Ende kann dieser Benutzer durch die Eingabe von yes zum Administrator der Matrix-Instanz gemacht werden.
Auf diese Art und Weise lassen sich also beliebig viele Benutzer (mit oder ohne Administrationsberechtigungen) anlegen.
Starten Sie nun den Client (weitere Informatinen zu Element) und melden sich dort an. Wählen Sie Ihren Server aus
und melden sich dann mit den zuvor generierten Benutzer(n) an
und fangen an, sich frei durch die „Matrix“ zu bewegen.
Mein Geschäftspartner Jan Rehr hat zudem auf Codeberg einige Skripte veröffentlicht.
die Ihnen die Administration des Matrix-Servers erleichtern werden. Viel Spaß wünscht Ihnen das Team von Carsten Rieger IT-Services