Matrix-Synapse: Self-Hosted Chat mit LDAP auf Ubuntu 22.04

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.