Threema Education

Hallo Uli,

wir haben es damals gemäß Matrix.org - Running your own secure communication service with Matrix and Jitsi auf einen LXC-Debian-Container installiert. Das Video mit Matthew Hodgson ist ganz nett.

Zusätzlich haben wir als Identity-Server noch den ma1sd (GitHub - ma1uta/ma1sd: Federated Matrix Identity Server (formerly fork of kamax/mxisd)) installiert (im gleichen Container).

Als Web-Oberfläche haben wir dann noch element-web (Release v1.7.3 · element-hq/element-web · GitHub) unter /var/www/element ausgepackt und das config-File angepasst und im nginx-Verfügbar gemacht. Wir greifen darauf mit einer eigenen Subdomain (messenger) zu.

Knackpunkte waren bei uns:

  • der ./well-known/matrix - Eintrag
    in der nginx-Config:
 location /.well-known/matrix/server {
                access_log off;
                add_header Access-Control-Allow-Origin *;
                return 200 '{"m.server": "matrix.example.de:443"}';
        }
        location /.well-known/matrix/client {
                access_log off;
                add_header Access-Control-Allow-Origin *;
                return 200 '{ "m.homeserver": { "base_url": "https://matrix.example.de" },  "m.identity_server": { "base_url": "https://matrix.example.de"  }}';
        }
  • Database: Am besten gleich mit einer echte postgresql beginnen.

  • Password_provider über den identity-Server:

password_providers:

  • matrix-IDs sind kleingeschrieben. Unsere Login-Ids im Ldap sind allerdings Großgeschrieben. Das hat dazu geführt, dass wir Benutzer aus dem LDAP zwar finden konnten, diese allerdings mit groß geschriebenen Matrix-IDs angezeigt wurden. So wurden sie dann aber nicht mehr vom Synapse-Server erkannt.
    Lösung: Wir haben unser LDAP-Usereintrag um ein Feld ergänzt (mxid), in dem die jeweilige Matrix-ID eingetragen ist (in Kleinbuchstaben). In der ldap-Section der ma1sd-Config haben wir dann:

attribute:
uid:
type: ‚mxid‘
value: ‚mxid‘
name: ‚fullName‘
threepid:
login.id:
- ‚uid‘

und mittels Rewrite-Rule checken wir dann auf die login.id (im LDAP die uid)

auth:
rewrite:
user:
rules:
- regex: ‚.[A-Z].
medium: ‚login.id‘

Mit diesem kleinen Trick können sich die User mit Groß- und Kleinschreibung in der Login-ID bei uns anmelden.

Wenn du Hilfe brauchst, dann melde dich einfach. Ich versuche dich gerne zu unterstützen.

Liebe Grüße

Raphael