Matrix-Synapse: Self-Hosted Chat mit LDAP auf Ubuntu 22.04
Ich möchte meine Kommunikation auf einen sicheren Weg umlegen, daher habe ich mich für Matrix Synapse entschieden. Dies ist ein Messanger Protokoll, welches Open Source und Self Hosted ist. Das Protokoll lässt sich über beliebige Messanger einbinden, wenn diese das Matrix Protokoll unterstützten.
Installation
Zunächst Update ich das System und beziehe das Debian Paket von Matrix-Synapse.
Zunächst muss die Source-List für Matrix-Synapse hinzugefügt werden. Dafür wird der Keyring und die eine eigene Liste in der APT Konfiguration hinterleget.
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" | tee /etc/apt/sources.list.d/matrix-org.list
sudo apt update && apt upgrade
Danach wird das Paket installiert.
apt install matrix-synapse-py3 -y
Shared Secret einrichten
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
Das Shared Secret wird für die Kommunikation benötigt. Mit dem oben gezeigten Befehl wird eine Ausgabe erstellt, welche in die Konfiguration von Matrix-Synapse mit eingepflegt werden muss. Dafür wird im Stammverzeichnis die Konfigurationsdatei geöffnet /etc/matrix-synapse/homeserver.yaml
und das Shared Secret eingefügt.
Registrierung deaktivieren
In der selben Datei wird die Zeile enable_registration:
auf false
gesetzt.
Konfiguration abschließen
Nun wird nur noch der Service neu gestartet und in den Autostart mit aufgenommen.
systemctl restart matrix-synapse
systemctl enable matrix-synapse
Einen Super User erstellen
Dafür muss folgender Befehl eingegeben werd:
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
LDAP Konfiguration
Wenn man für eine Organisation einen Matrix Server aufbaut, bietet es sich oft an, die Benutzer über LDAP zu synchronisieren. So ist eine Benutzerpflege nicht nötig.
Zunächst muss das LDAP Modul installiert werden:
apt install matrix-synapse-ldap3
Nun muss noch die homeserver.yaml
bearbeitet werden:
nano /etc/matrix-synapse/homeserver.yaml
...
modules:
- module: "ldap_auth_provider.LdapAuthProviderModule"
config:
enabled: true
uri: "ldap://<IP>:389"
start_tls: false
base: "dc=example,dc=net"
attributes:
uid: "sAMAccountName"
mail: "mail"
name: "givenName"
bind_dn: "CN=ldap-admin,DC=example,DC=net"
bind_password: "<PASSWORD>"
Danach muss nur der Service neu gestartet werden.