This repository has been archived on 2024-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
adlin/tutorial/ansible/deploiement-svc.md

75 lines
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\newpage
Déploiement d'un service via Ansible
====================================
Très bien ! vous semblez avoir compris le fonctionnement de notre
gestionnaire de configuration.
Après cet échauffement, vous devriez être prêt à créer un *playbook*
dédié à l'installation d'un serveur [Matrix](https://matrix.org/) :
![Element](riot.png "Element : un des clients utilisable pour joindre son serveur Matrix")
Vous connaissez et utilisez sans doute Slack, un service de messagerie
instantannée qui a supplanté IRC, Jabber, ... Il vient avec le gros
inconvénient qu'il est centralisé, qu'il ne permet pas de faire discuter des
personnes qui, bien qu'utilisant le même service, ne sont pas dans le même
groupe ; mais surtout, il vient avec aucun élément de sécurité : il n'est en
effet pas possible d'avoir de chiffrement de bout-en-bout, entre deux personnes
ou un groupe, et les administrateurs des groupes, tout comme le gouvernement
américian, ont accès à tout l'historique. Vous l'aurez compris, Matrix est donc
une solution de messagerie décentralisée et permet de réaliser du chiffrement
de bout-en-bout.
Vous trouverez la documentation d'installation précise et détaillée à :
<https://github.com/matrix-org/synapse/blob/master/README.rst> (attention,
pensez à vous fixer une version, n'utilisez pas la branche master qui risque de
ne plus fonctionner au moment du moulinétage de votre rendu).
Vous devrez attacher une importance tout particulière à la sécurité de
la solution que vous déployez : configurations durcies, utilisateur
dédié lorsque c'est possible (pas de `root` !), droits d'accès et
permissions des répertoires, etc.
Profitez des [modules de base de
données](https://docs.ansible.com/ansible/2.9/modules/list_of_database_modules.html)
pour l'initialiser correctement. Et bien entendu de l'ensemble des
modules décrits dans la documentation standard !
## Configurations
Tous les éléments de configuration (mot de passes de connexion à la
base de données, chemins, etc.) sont à déclarer comme variables dans
le fichier `vars/matrix-config.yml`, que vous prendrez soin d'importer
dans votre *Playbook*.
Vous devrez générer un certificat TLS afin de joindre les autres serveurs.
## Backup
Vous ajouterez enfin une tâche hebdomadaire de sauvegarder de la base
de données. Le *dump* obtenu est à placer dans `/var/backups/`.
## Client de test
Vous n'êtes pas tenu d'installer un client. Pour vos tests, vous pouvez
utiliser <https://app.element.io/>, en changeant l'adresse du serveur Matrix pour
votre sous-domaine dédié à Matrix (normalement
<https://matrix.login-x.srs.p0m.fr/>). (Conservez le serveur d'identité à
<https://vector.im>).
## Validation
Pour valider l'installation de votre serveur, rejoignez le canal
`#adlin:nemunai.re` et envoyez un message « Ping ! » pour signaler votre
présence.
Vous devriez également pouvoir tester entre-vous.