si:matrix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
si:matrix [2019/05/02 20:24] – [Ajout clé GPG du dépôt] Correction commande vodkrasi:matrix [2021/09/27 10:24] (Version actuelle) – [Pendant l'installation du paquet 'matrix-synapse'] vodkra
Ligne 1: Ligne 1:
 +====== [Matrix]: instance sur ''troll3'' ======
  
 +====== Conteneur LXC ======
 +
 +
 +  * Nom: ''matrix''
 +  * Ports de sortie: ''8448''
 +
 +====== Documentations ======
 +
 +  * [[https://github.com/matrix-org/synapse|Page officielle]] sur le serveur ''synapse''
 +  * [[https://github.com/matrix-org/matrix-synapse-ldap3|Page]] sur le plugin officielle pour LDAP
 +  * [[https://github.com/matrix-org/synapse/blob/master/docs/federate.md|Page]] sur la configuration d'une fédération
 +  * [[https://github.com/vector-im/riot-web/|Page]] sur le client ''riot''
 +  * [[https://github.com/matrix-org/matrix-appservice-irc|Page]] sur le bridge ''IRC''
 +  * [[https://github.com/matrix-org/matrix-bifrost|Page]] sur le bridge ''XMPP'' (expérimental)
 + 
 +====== Installation et configuration du serveur 'synapse' ======
 +===== Prérequis =====
 +
 +  * Suivre les instructions a partir du [[https://matrix-org.github.io/synapse/latest/setup/installation.html#debianubuntu|paragraphe de la procédure officielle]]
 +
 +
 +===== Installation des paquets =====
 +
 +''apt-get install  matrix-synapse python-matrix-synapse-ldap3''
 +
 +==== Pendant l'installation du paquet 'matrix-synapse' ====
 +
 +FIXME Procédure peut-être à revoir
 +
 +Mettre le nom du serveur conformement au parametre SRV. Le nom mis ici est ''parinux.org''. Voir le paragraphe concernant [[matrix#configuration-du-dns|la configuration du DNS]] pour plus de details.
 +
 +{{:si:configuration-synapse.png?200|}}
 +
 +Desactiver l'envoi de statistiques a l'attention des developpeurs.
 +
 +{{:si:configuration-synapse_desactiver-envoi-stats.png?200|}}
 +
 +===== 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" 
 +
 +
 +===== Configuration de la base de donnée =====
 +Voir [[https://github.com/matrix-org/synapse/blob/master/docs/postgres.rst|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 [[https://github.com/matrix-org/synapse/blob/master/docs/federate.md|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 [[https://github.com/matrix-org/synapse/blob/master/docs/reverse_proxy.md|doc officielle]], la configuration du reverse proxy s'effectue comme suit pour un ''nginx'':
 +
 +    server {
 +        listen 443 ssl;
 +        listen [::]:443 ssl;
 +        server_name matrix.parinux.org;
 +  
 +        location /_matrix {
 +            proxy_pass http://<adresse du conteneur LXC>:8448;
 +            proxy_set_header X-Forwarded-For $remote_addr;
 +        }
 +    }
 +
 +
 +//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é [[https://github.com/matrix-org/synapse/issues/4858|constatée]]//
 +===== Configuration de la VoIP =====
 +
 +Il faut d'abord installer [[https://github.com/matrix-org/synapse/blob/master/docs/turn-howto.rst|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 [[https://github.com/matrix-org/matrix-synapse-ldap3#troubleshooting-and-debugging|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 [[https://github.com/vector-im/riot-web/releases|releases github]]. Voir aussi le [[https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/riot|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 [[https://github.com/vector-im/riot-web/releases|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 [[https://matrix.org/federationtester/|Federation Tester]] pour vérifier si la fédération est activée.
 +
 +===== Clients =====
 +Prendre un [[https://riot.im/download/desktop/|client riot]]
 +
 +L'ouvrir, puis cliquer sur ''Changer''
 +
 +{{:si:connexion1-indic.jpg?200|}}
 +
 +
 +Modifier le champs ''URL du serveur d'accueil'' en ''https://matrix.parinux.org'', puis cliquer sur ''Suivant''
 +
 +{{:si:connexion2-indic.jpg?200|}}
 +
 +Mettre ses identifiants LDAP en remplissant les champs ''Nom d'utilisateur'' et ''Mot de passe'', puis cliquer sur ''Se connecter''
 +
 +{{:si:connexion3-indic.jpg?200|}}
 +
 +La fenêtre d'une connexion réussie ressemble à ça
 +
 +{{:si:connexion4-indic.jpg?200|}}