La Cave a Tonton - Mise en place d'un serveur Matrix pour Riot.im

Mise en place d'un serveur Matrix pour Riot.im

Par tontonayo le 26.03.20


Pour des raisons de confinement et de télétravail, ma compagne avait besoin d'un systeme de communication avec ses collaborateurs. Et comme apparament leur DSI est du genre "mou du genoux" et que WhatApp ça va bien 5 min, c'est Tonton qui s'y colle.

Ma première pensée va pour XMPP (Jabber) mais apres mise en place d'Openfire et d'un client Web (InVerse), le resultat n'es pas forcément au rendez-vous malgré que ce soit fonctionnel. Il fallait une solution qui se rapproche de Slack, Discord et équivalent. Je suivais depuis un moment Synapse, un serveur pour de la messagerie instantané sur le systeme Matrix. Je vous laisse consulter le site du projet pour plus d'infos : https://matrix.org/

Ni une ni deux, j'installe une VM avec Debian sur mon hyperviseur Proxmox.

1.Installation de Synapse (serveur Matrix).

L'installation est assez simple, on va installer le dépot du paquet, l'installer et le configurer:

wget -qO - https://matrix.org/packages/debian/repo-key.asc | apt-key add -
apt-add-repository http://matrix.org/packages/debian/
apt update
apt install matrix-synapse-py3 -y

Il va nous poser 2 questions, je vous laisse le soin d'y répondre (surtout pour le nom de domaine du serveur!). Ensuite, on va faire un petit tour dans le fichier de configuration "/etc/matrix-synapse/homeserver.yaml" :

nano /etc/matrix-synapse/homeserver.yaml

J'ai désactivé le https, peut d'interet pour moi car les conversations peuvent être chiffré à la demande si besoin directement sur le serveur. Si vous souhaitez activé le https par sécurité supplémentaire, passez par let's ecrypt. Voici donc les paramètres que j'ai modifié dans le fichier de configuration:

# PEM encoded private key for TLS
#tls_private_key_path: "/etc/matrix-synapse/homeserver.tls.key"

# PEM dh parameters for ephemeral keys
#tls_dh_params_path: "/etc/matrix-synapse/homeserver.tls.dh"

# Don't bind to the https port
no_tls: True

# List of ports that Synapse should listen on, their purpose and their
# configuration.
listeners: 
- port: 8008
    tls: false
    bind_addresses:
      - '::1'
      - '127.0.0.1'
      - '192.168.0.xx' #<==== Ip local de votre serveur

# Enable registration for new users. Pour pouvoir s'inscrire sur le serveur
enable_registration: True

registration_shared_secret: "VoteSecret" #<==== a rajouté, demander pour la creation du compte admin

Voila, grosso modo. Apres c'est selon votre environement (SQL etc ...). Ensuite nous allons lancer le serveur :

service matrix-synapse start

Avec un navigateur, on fait un tour sur http://votreserveur:8008 et normalement on tombe la dessus :

Si ce n'es pas le cas, hésitez pas a aller consulter le fichier log : "/var/log/matrix-synapse/homeserveur.log" et la BDD SQLite est à "/var/lib/matrix-synapse/homeserver.db".
Nous allons créer un compte administrateur pour pouvoir gérer les droits etc ...

register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://VOTRESERVEUR:8008

Et la c'est bon, on peut se connecter avec un client Matrix, Riot.im comme ça au pif.

 

2. Riot.im Web

Pour ce qui est du client Web Riot.im (que vous pouvez télécharger ici : https://github.com/vector-im/riot-web/releases ), il suffit de le "poser" sur un emplacement web, de configurer le fichier "config.json" à la racine (renomez config.sample.json) et de changer les lignes :

    "default_server_config": {
        "m.homeserver": {
            "base_url": "http://VOTRESERVEUR:8008",
            "server_name": "VOTREDOMAINE"

Et normalement, on est bon !


Le pays d'où vous consultez le site n'est pas autorisé a poster des commentaires afin de lutter contre le spams, merci de votre compréhension