Messaging über die Matrix
WhatsApp hat sich unbeliebt gemacht. Die Nutzer rennen scharenweise zu anderen Messenger-Anbietern wie Signal, Threema oder Telegram.
Aber es gibt noch eine Alternative, die unsere Aufmerksamkeit verdient. Matrix hat folgende Vorteile, die es sehr attraktiv erscheinen lassen:
- Open Source
- Ende-zu-Ende Verschlüsselung
- dezentrale Infrastruktur
Besonders die dezentrale Infrastruktur lässt eine große Flexibilität zu, ohne von einem Anbieter abhängig zu sein. Hängt ein Nutzer an einer Matrix-Synapse (also irgendeinem Server in der Matrix), so kann man mit ihm kommunizieren. Man benötigt nur seine Matrix-Adresse, die vergleichbar ist mit einer E-Mail-Adresse.
Eine Matrix-Adresse sieht folgendermaßen aus: @Name:domain.de
Man kann sich einer bestehenden Matrix-Synapse anschließen oder aber auch seine eigene Matrix-Synapse einrichten.
Hier ein ausführlicher Artikel über Matrix: https://blog.novatrend.ch/2021/01/18/whatsapp-threema-signal-komm-in-die-matrix-jetzt/
Hier beschreibe ich, wie ich meine Synapse auf einem CentOS 7 Server eingerichtet habe:
Installation des Synapse-Servers
mkdir /opt/synapse |
Installation von PostgreSQL
Einrichten des Repositories und Installation der Pakete:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y` |
Initialisieren der Datenbank:
/usr/pgsql-12/bin/postgresql-12-setup initdb |
Einrichten und Starten des Dienstes:
systemctl enable postgresql-12.service |
su - postgres |
Hier müssen wir für den User ein Passwort angeben. Auf dieses nehme ich später noch einmal unter dem Begriff Synapse_User_pgDB_Passwort Bezug
Nun lege ich die Datenbank für den Synapse-Server an. Dafür verbinde ich mich auf die interaktive Kommandooberfläche von PostgreSQL mit dem Kommando
psql |
und gebe folgenden SQL-Befehl ein, um die Datenbank anzulegen:
CREATE DATABASE synapse |
Anschliessend verlassen wir psql wieder:
\q |
Ab hier brauche ich nicht mehr als postgres-User zu agieren und verlasse dessen Shell:
exit |
Die Zugriffsregelung für den von mir angelegten Benutzer synapse_user tragen wir in die PostgreSQL Konfigurationsdatei /var/lib/pgsql/12/data/pg_hba.conf ein:
host synapse synapse_user 127.0.0.1/32 md5 # or `scram-sha-256` instead of `md5` if you use that |
Daraufhin starte ich den Datenbankserver neu:
systemctl restart postgresql-12.service |
Konfigurieren von Synapse
Jetzt gilt es noch, den Synapse-Server so zu konfigurieren, wie ich ihn einsetzen will. Dafür wechsle ich wieder in das Verzeichnis des Servers
cd /opt/synapse |
und nehme die Konfigurationsdatei homeserver.yaml in den Editor:
vim homeserver.yaml |
Hier sind alle Konfigurationseinstellungen gelistet, die ich in meiner Konfigurationsdatei angepasst habe:
server_name: "mymatrix.de" |
Als Reverse-Proxy installiere ich nun noch den NGinx und passe dessen Konfiguration an:
yum install nginx |
/etc/nginx/nginx.conf
server { |
systemctl start nginx.service |
yum install snapd |
systemctl enable --now snapd.socket |
ln -s /var/lib/snapd/snap /snap |
snap install core |
Nach der üblichen Fehlermeldung ein zweites Mal:
snap install core |
Einrichtung des LetsEncrypt-Zertifikates:
certbot certonly --standalone |
pip install psycopg2-binary |
source /opt/synapse/env/bin/activate |
Einrichten eines Matrix-Benutzers:
register_new_matrix_user -c homeserver.yaml http://localhost:8008 |
Willkommen in der Matrix!
Der Client für die Matrix heißt Element (früher: RiotIM). Für Linux, Windows oder MacOSx kann ich mir den Client unter https://element.io herunterladen. Für iOS im AppStore und Android im Google-Playstore.