Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| deployer_un_serveur_mattermost [2023/11/01 18:30] – [Installation et configuration du serveur] superadmin | deployer_un_serveur_mattermost [2023/11/01 20:14] (Version actuelle) – [Gestion des utilisateurs] superadmin | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | Mattermost est un système de messagerie instantanée open source conçu pour un usage privé. Ce tutoriel explique le mettre en place un afin d' | + | Mattermost est un système de messagerie instantanée open source conçu pour un usage privé. Ce tutoriel explique le mettre en place un afin d' |
| Contrairement à Microsoft Teams ou Slack, Mattermost ne supporte que les messages texte, et non les appels audio ou vidéo. Il a néanmoins l' | Contrairement à Microsoft Teams ou Slack, Mattermost ne supporte que les messages texte, et non les appels audio ou vidéo. Il a néanmoins l' | ||
| Ligne 18: | Ligne 18: | ||
| Nous aurons besoin de : | Nous aurons besoin de : | ||
| - | * Une machine (virtuelle ou physique) sous Linux (de préférence Debian 12 qui sera utilisé dans ce tutoriel) | + | * Une machine (virtuelle ou physique) sous Linux (de préférence Debian 12 qui sera utilisé dans ce tutoriel) |
| * Deux machines (virtuelles ou physiques) sous n' | * Deux machines (virtuelles ou physiques) sous n' | ||
| Ligne 111: | Ligne 111: | ||
| * | * | ||
| + | === Création du service === | ||
| - | + | On va désormais créer le service Linux qui exécutera Mattermost, via systemd : | |
| - | | + | |
| + | < | ||
| + | Y insérer ceci : | ||
| - | === Sous-étape 1.2 === | + | < |
| + | Description=Mattermost | ||
| + | After=network.target | ||
| + | After=mysql.service | ||
| + | Requires=mysql.service | ||
| - | ==== Etape 2 ==== | + | [Service] |
| + | Type=notify | ||
| + | User=mattermost | ||
| + | Group=mattermost | ||
| + | ExecStart=/ | ||
| + | TimeoutStartSec=3600 | ||
| + | Restart=always | ||
| + | RestartSec=10 | ||
| + | WorkingDirectory=/ | ||
| + | LimitNOFILE=49152 | ||
| - | === Sous-étape | + | [Install] |
| + | WantedBy=mariadb.service | ||
| + | </ | ||
| + | |||
| + | Ensuite recharger systemd et activer le service au lancement de la machine : | ||
| + | |||
| + | < | ||
| + | systemctl enable mattermost</ | ||
| + | |||
| + | On peut enfin démarrer Mattermost par le biais de ce service : | ||
| + | < | ||
| + | |||
| + | Vérifier que le service a bien démarré : | ||
| + | |||
| + | < | ||
| + | |||
| + | Il doit être dans l' | ||
| + | |||
| + | La configuration de Mattermost est terminée. Penser à configurer les enregistrements DNS nécessaire pour joindre le serveur via son nom de domaine (sauf si on utilise une IP). | ||
| + | |||
| + | Pour vérifier que c'est fonctionnel, | ||
| + | {{ :: | ||
| + | |||
| + | Pour créer un instance, il faut s' | ||
| + | Pour la gestion des utilisateurs, | ||
| + | |||
| + | === Configuration du serveur Web === | ||
| + | |||
| + | Dans cette partie, on configure la réécriture d'URL pour sécuriser les usages extérieurs. Si l' | ||
| + | |||
| + | Ici, on utilisera Apache, mais il est possible d'en utiliser un autre (Caddy, Nginx...). | ||
| + | |||
| + | Installer d' | ||
| + | < | ||
| + | |||
| + | Ensuite, on active les modules apache suivants : | ||
| + | < | ||
| + | a2enmod rewrite | ||
| + | a2enmod expires | ||
| + | a2enmod headers | ||
| + | a2enmod http2 | ||
| + | a2enmod proxy | ||
| + | a2enmod proxy_http | ||
| + | a2enmod proxy_wstunnel | ||
| + | </ | ||
| + | |||
| + | Puis, créer un nouveau VHost (site virtuel) : | ||
| + | < | ||
| + | |||
| + | Insérer dans le fichier le code suivant, en prenant soin de modifier les directives '' | ||
| + | |||
| + | < | ||
| + | < | ||
| + | ServerAdmin webmaster@localhost #adresse mail administrateur | ||
| + | ServerName 192.168.1.201 #URL de l' | ||
| + | |||
| + | ProxyPreserveHost On | ||
| + | |||
| + | RewriteEngine On | ||
| + | RewriteCond %{REQUEST_URI} / | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteCond %{HTTP: | ||
| + | RewriteRule .* ws:// | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | ProxyPass http:// | ||
| + | ProxyPassReverse http:// | ||
| + | ProxyPassReverseCookieDomain 127.0.0.1 192.168.1.201 #URL de l' | ||
| + | </ | ||
| + | |||
| + | RewriteCond %{SERVER_NAME} =192.168.1.201 #URL de l' | ||
| + | RewriteRule ^ https:// | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Et activer le site comme ceci : | ||
| + | < | ||
| + | systemctl reload apache2</ | ||
| + | |||
| + | On peut aussi installer Certbot pour activer SSL, dans le cas où on aurait besoin d'un certificat SSL pour un serveur accessible depuis l' | ||
| + | |||
| + | < | ||
| + | |||
| + | :!: Certbot ne permet de générer des certificats SSL que pour des noms de domaines. Le site doit être accessible depuis Internet pour que ça fonctionne. | ||
| + | |||
| + | ==== Rétention des données ==== | ||
| + | |||
| + | Dans le cas où on Mattermost serait mis en place dans une entreprise, on peut automatiser la suppression des anciens messages à l'aide d'une requêtes SQL toute simple : | ||
| + | |||
| + | < | ||
| + | |||
| + | Ici, la commande supprime tous les messages de plus de 30 jours. Évidemment, | ||
| + | |||
| + | ==== Gestion des utilisateurs ==== | ||
| + | |||
| + | La commande pour gérer les utilisateurs sous Mattermost est : | ||
| + | < | ||
| + | |||
| + | Pour cela, il faut d' | ||
| + | < | ||
| - | === Sous-étape 2.2 === | + | Indiquer un nom à la connexion (n' |
| - | ==== Etape 3 ==== | + | Créer un utilisateur : |
| + | < | ||
| - | ==== Vérifications ==== | + | :!: On peut rajouter les options suivantes si besoin : |
| + | * --system-admin : pour donner des droits d' | ||
| + | * --email-verified : pour ignorer la vérification de l' | ||
| ===== Sources ===== | ===== Sources ===== | ||