[Matrix]: instance sur ''troll3''

Conteneur LXC

  • Nom: matrix
  • Ports de sortie: 8448

Documentations

  • Page officielle sur le serveur synapse
  • Page sur le plugin officielle pour LDAP
  • Page sur la configuration d'une fédération
  • Page sur le client riot
  • Page sur le bridge IRC
  • Page sur le bridge XMPP (expérimental)

Installation et configuration du serveur 'synapse'

Prerequis

Installation des paquets

apt-get install matrix-synapse python-matrix-synapse-ldap3

Pendant l'installation du paquet 'matrix-synapse'

Mettre le nom du serveur conformement au parametre SRV. Le nom mis ici est parinux.org. Voir le paragraphe concernant la configuration du DNS pour plus de details.

Desactiver l'envoi de statistiques a l'attention des developpeurs.

Configuration du serveur 'synapse'

Fichier de configuration: /etc/matrix-synapse/homeserver.yaml

Paragraphe contenant les parametres pour LDAP:

# password_providers:
     - module: "ldap_auth_provider.LdapAuthProvider" 

Ajout clé GPG du dépôt

S'il y a une erreur de ce type pendant la commande apt-get update :

Reading package lists... Done
W: GPG error: https://packages.matrix.org/debian stretch InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F473DD4473365DE1    
W: The repository 'https://matrix.org/packages/debian stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Faire les commandes suivantes, où <GPG PUB ID> est l'id de la clé publique du dépôt:

gpg --recv-key <GPG PUB ID>
gpg --export --armor <GPG PUB ID> | apt-key add -

Configuration de la base de donnée

Voir cette page.

Paquets à installer: python-psycopg2 libpq-dev

Modifier ensuite la section database dans /etc/matrix-synapse/homeserver.yaml:

database:
    name: psycopg2
    args:
        user: synapse_user
        password: <pass>
        database: synapse
        host: <host>
        cp_min: 5
        cp_max: 10

Configuration du DNS

La configuration est faite d'apres les instructions de ce paragraphe.

Idéalement

Record SRV à mettre, en tenant compte que parinux.org est le nom utilise pour communiquer avec la fédération et synapse.parinux.org est l'adresse effective du serveur synapse:

_matrix._tcp.parinux.org 3600 IN SRV 10 0 8448 synapse.parinux.org.

Pour un test

Record SRV à mettre en attendant:

_matrix._tcp.matrix.parinux.org 3600 IN SRV 10 0 443 matrix.parinux.org.

Commande dig à faire passer pour voir le changement:

dig @parinux.org -t srv _matrix._tcp.matrix.parinux.org

Reverse Proxy

D'après la doc officielle, la configuration du reverse proxy s'effectue comme suit pour un nginx:

En l'état actuelle, un utilisateur d'un serveur de la fédération ne peut pas joindre un salon de l'instance de parinux: Invalid signature for server matrix.org with key ed25519:auto: Unable to verify signature for matrix.org . Ce bug a déjà été constatée

Configuration de la VoIP

Il faut d'abord installer un serveur TURN.

Demarrer le serveur

systemctl start matrix-synapse.service

Redirection de port

Redirection de port du reverse proxy sur le port 8008 du conteneur.

Procedure de debug

Voir cette page.

Le fichier de debug est /etc/matrix-synapse/conf.d/ldap_debug.yaml.

Installation et configuration du client 'riot'

Ajouter la ligne suivante dans le fichier /etc/apt/sources.list :

deb https://packages.riot.im/debian stretch main

FIXME Faire un paquet debian riot-webapp à partir des releases github. Voir aussi le PKGBUILD d'Archlinux.

Installation des paquets (serveur web):

apt-get install nginx

Mettre en place le répertoir webapps

mkdir -p /opt/webapps/riot/versions

Télécharger et importer de la clé publique

wget https://packages.riot.im/riot-release-key.asc
gpg --import riot-release-key.asc

Télécharger l'archive, sa signature associée, puis vérifier

wget https://github.com/vector-im/riot-web/releases/download/v1.2.2/riot-v1.2.2.tar.gz{.asc,}
gpg --verify riot-v1.2.2.tar.gz{.asc,}

Extraire la dernière version stable de l'archive issue de cette page dans /opt/webapps/riot/versions

tar -C /opt/webapps/riot/versions -xvf riot-v1.2.2.tar.gz

Faire un lien symbolique

ln -s /opt/webapps/riot/versions/riot-v1.2.2 /opt/webapps/riot/main

Renommer le fichier config.json en config.matrix.parinux.org.json

mv /opt/webapps/riot/main/{config.json,config.matrix.parinux.org.json}

Activer le service

systemctl status nginx

Le fichier de configuration du client riot se trouve dans le fichier /etc/nginx/conf.d/riot.conf

Tests

Fédération

Aller sur le site Federation Tester pour vérifier si la fédération est activée.

Clients

Prendre un client riot

L'ouvrir, puis cliquer sur Changer

Modifier le champs URL du serveur d'accueil en https://matrix.parinux.org, puis cliquer sur Suivant

Mettre ses identifiants LDAP en remplissant les champs Nom d'utilisateur et Mot de passe, puis cliquer sur Se connecter

La fenêtre d'une connexion réussie ressemble à ça

 
/var/lib/dokuwiki/data/pages/si/matrix.txt · Dernière modification: 2019/10/17 22:07 par vodkra
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Debian Driven by DokuWiki