Outils pour utilisateurs

Outils du site


mattermost_un_container_lxc

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édentesRévision précédente
Prochaine révision
Révision précédente
mattermost_un_container_lxc [2021/10/09 14:31] – [Configurations complémentaires] Benjamin Labomediamattermost_un_container_lxc [2023/10/11 21:04] (Version actuelle) – [Installer un container LXC sur le serveur hote] Labomedia
Ligne 5: Ligne 5:
  
  
-===== Installation de Mattermost dans un container LXC ===== +===== Installer un container LXC sur le serveur hote =====
-==== On commence par installer un container sur le serveur hote ====+
   lxc-create -t download -n tlcvl -- -d debian -r buster -a amd64   lxc-create -t download -n tlcvl -- -d debian -r buster -a amd64
 On démarre le container et on regarde son IP : On démarre le container et on regarde son IP :
Ligne 12: Ligne 11:
   lxc-ls -f   lxc-ls -f
   NAME  STATE   AUTOSTART GROUPS IPV4       IPV6 UNPRIVILEGED    NAME  STATE   AUTOSTART GROUPS IPV4       IPV6 UNPRIVILEGED 
-  tlcvl RUNNING 0              10.0.3.235 -    false+  tlcvl RUNNING 0              10.0.3.200 -    false
 On fait en sorte que le container démarre tout seul en ajoutant à la fin du fichier On fait en sorte que le container démarre tout seul en ajoutant à la fin du fichier
   nano /var/lib/lxc/tlcvl/config   nano /var/lib/lxc/tlcvl/config
   # Autostart   # Autostart
   lxc.start.auto = 1   lxc.start.auto = 1
-On rentre dans le container pour installer Mattermost+On rentre dans le container pour installer Mattermost, mais avant, on install quelques outils pratiques.
   lxc-attach tlcvl   lxc-attach tlcvl
   root@tlcvl   root@tlcvl
Ligne 23: Ligne 22:
   apt install wget curl nano iotop nload htop locate curl gnupg   apt install wget curl nano iotop nload htop locate curl gnupg
  
-==== Installation bdd et Mattermost ====+===== Installation bdd et Mattermost =====
 Ensuite il s'agit de suivre la [[https://docs.mattermost.com/install/install-debian.html#installing-debian-buster|procédure d'installation décrite ici]] : Ensuite il s'agit de suivre la [[https://docs.mattermost.com/install/install-debian.html#installing-debian-buster|procédure d'installation décrite ici]] :
  
Ligne 76: Ligne 75:
         "FeedbackEmail": "febot@futuretic.fr",         "FeedbackEmail": "febot@futuretic.fr",
         "ReplyToAddress": "febot@futuretic.fr",         "ReplyToAddress": "febot@futuretic.fr",
-        "FeedbackOrganization": "tl-cvl.futuretic.fr",+        "FeedbackOrganization": "mm.mondomaine.org",
         "EnableSMTPAuth": true,         "EnableSMTPAuth": true,
         "SMTPUsername": "febot@futuretic.fr",         "SMTPUsername": "febot@futuretic.fr",
Ligne 136: Ligne 135:
   root@tlcvl ~ #exit   root@tlcvl ~ #exit
  
-==== Configuration du vhost sur le serveur hote pour proxy du traffic vers le container ====+===== Configuration du vhost sur le serveur hote pour proxy du traffic vers le container =====
 On génère déjà un certificat avec certbot avec un vhost temporaire qui contient l'adresse du serveur et pointe vers /var/www/html On génère déjà un certificat avec certbot avec un vhost temporaire qui contient l'adresse du serveur et pointe vers /var/www/html
-  certbot certonly --http-01-address 135.181.129.123 -d tl-cvl.futuretic.fr --verbose+  certbot certonly --http-01-address 135.181.129.123 -d mm.mondomaine.org --verbose
 Une fois le certificat généré, config du vhost, on redirige les requêtes sur port 80 vers 443 et Une fois le certificat généré, config du vhost, on redirige les requêtes sur port 80 vers 443 et
-  nano /etc/apache2/sites-available/tl-cvl.futuretic.fr-le-ssl.conf +  nano /etc/apache2/sites-available/mm.mondomaine.org-le-ssl.conf 
-<file php tl-cvl.futuretic.fr-le-ssl.conf>+<file bash mm.mondomaine.org-le-ssl.conf>
 <IfModule mod_ssl.c> <IfModule mod_ssl.c>
  
         <VirtualHost *:443>         <VirtualHost *:443>
  
-                ServerAdmin     tech@futuretic.fr +                ServerAdmin     moi@mondomaine.org 
-                ServerName      tl-cvl.futuretic.fr+                ServerName      mm.mondomaine.org
  
 +                # Headers for security
 +                <IfModule mod_headers.c>
 +                        Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
 +                        Header set X-XSS-Protection "1; mode=block"
 +                        Header set X-Frame-Options "sameorigin"
 +                        Header set X-Content-Type-Options "nosniff"
 +                </IfModule>
 +
 +                # SSL config
                 SSLEngine on                 SSLEngine on
                 SSLProxyEngine On                 SSLProxyEngine On
 +                # ajout suite a default ssl handshake et suite à AH01097: pass request body failed
 +                SSLProxyVerify none
 +                SSLProxyCheckPeerCN off
 +                SSLProxyCheckPeerName off
 +                SSLProxyCheckPeerExpire off
  
-                SSLCertificateFile /etc/letsencrypt/live/tl-cvl.futuretic.fr/fullchain.pem +                # SSL certificates 
-                SSLCertificateKeyFile /etc/letsencrypt/live/tl-cvl.futuretic.fr/privkey.pem+                SSLCertificateFile /etc/letsencrypt/live/mm.mondomaine.org/fullchain.pem 
 +                SSLCertificateKeyFile /etc/letsencrypt/live/mm.mondomaine.org/privkey.pem
                 Include /etc/letsencrypt/options-ssl-apache.conf                 Include /etc/letsencrypt/options-ssl-apache.conf
-  
- ProxyPreserveHost       On 
  
- proxy pour cetificat +                Proxy base parameters 
- DocumentRoot /var/www/html +                ProxyPreserveHost On 
- ProxyPass /.well-known !+                ProxyRequests Off
  
- Set web sockets +                Proxy pour cetificat 
- RewriteEngine On +                DocumentRoot /var/www/html 
- RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC,OR] +                ProxyPass /.well-known !
- RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR] +
- RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] +
- RewriteRule .* ws://10.0.3.235:8065%{REQUEST_URI} [P,QSA,L]+
  
- <Location /> +                # Set web sockets 
- Require all granted +                RewriteEngine On 
- ProxyPass http://10.0.3.235:8065+                RewriteCond %{REQUEST_URI} /api/v[0-9]+/(users/)?websocket [NC,OR] 
- ProxyPassReverse http://10.0.3.235:8065+                RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR] 
- ProxyPassReverseCookieDomain 10.0.3.235 tl-cvl.futuretic.fr +                RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC] 
- </Location>+                RewriteRule .* ws://10.0.3.200:8065%{REQUEST_URI} [P,QSA,L]
  
 +                # Proxy to container
 +                ProxyPass / http://10.0.3.200:8065/
 +                ProxyPassReverse / http://10.0.3.200:8065/
 +                ProxyPassReverseCookieDomain 10.0.3.200 mm.mondomaine.org
  
-                ErrorLog /var/log/apache2/tl-cvl.futuretic.fr.error.log+                # Logs 
 +                ErrorLog /var/log/apache2/mm.mondomaine.org.error.log
                 LogLevel error                 LogLevel error
-                CustomLog /var/log/apache2/tl-cvl.futuretic.fr.access.log vhost_combined+                CustomLog /var/log/apache2/mm.mondomaine.org.access.log vhost_combined
  
         </VirtualHost>         </VirtualHost>
Ligne 186: Ligne 200:
 </file> </file>
 Ajouter ensuite ce vhost ainsi que celui pour port 80 et reload Ajouter ensuite ce vhost ainsi que celui pour port 80 et reload
-  a2ensite tl-cvl.futuretic.fr.conf tl-cvl.futuretic.fr-le-ssl.conf +  a2ensite mm.mondomaine.org.conf mm.mondomaine.org-le-ssl.conf 
   systemctl reload apache2   systemctl reload apache2
  
-==== Configuration de Mattermost ====+===== Configuration de Mattermost =====
 On doit maintenant pouvoir se rendre à l'url pour accéder à l'interface de Mattermost et créer ainsi le premier utilisateur administrateur du site On doit maintenant pouvoir se rendre à l'url pour accéder à l'interface de Mattermost et créer ainsi le premier utilisateur administrateur du site
  
Ligne 197: Ligne 211:
 {{::mattermost-notifications.png|}} {{::mattermost-notifications.png|}}
  
-==== Configurations complémentaires ==== +===== Configurations complémentaires ===== 
-=== On règle les locales pour être en français par défaut ===+==== On règle les locales pour être en français par défaut ====
  
   dpkg-reconfigure locales   dpkg-reconfigure locales
Ligne 205: Ligne 219:
 Ajout du plug-in jitsi pour permettre l'intégration de visioconf dans les canaux de discussion Mattermost Ajout du plug-in jitsi pour permettre l'intégration de visioconf dans les canaux de discussion Mattermost
  
-=== Désactiver la télémétrie de Mattermost qui envoie des datas anonymisés ===+==== Désactiver la télémétrie de Mattermost qui envoie des datas anonymisés ====
 Modifier à la ligne 168 dans  Modifier à la ligne 168 dans 
   nano /opt/mattermost/config/config.json   nano /opt/mattermost/config/config.json
Ligne 213: Ligne 227:
 Voir https://docs.mattermost.com/administration/telemetry.html Voir https://docs.mattermost.com/administration/telemetry.html
  
-=== Configurer les Headers pour la CSP Content-Security Policy ===+==== Configurer les Headers pour la CSP Content-Security Policy ====
   * https://forum.mattermost.org/t/set-custom-headers-for-content-security/11093/3   * https://forum.mattermost.org/t/set-custom-headers-for-content-security/11093/3
  
 +==== Utilitaire en ligne de commande pour supprimer un canal ou une équipe et plus ====
 +Depuis Mattermost 6, l'utilitaire [[https://medium.com/@santosjs/plugging-in-to-the-mattermost-cli-8cdcef2bd1f6|mattermost]] a été complété par mmctl, [[https://docs.mattermost.com/manage/mmctl-command-line-tool.html|voir la documentation]]
  
-=== Supprimer un canal à la main === +Pour faire marcher cet utilitaire mmctl, il faut faire plusieurs choses : 
-  /opt/mattermost/bin # ./mattermost channel delete zhkxa9qnc7yx7pspdbrt138nuc + 
-  /opt/mattermost/bin # ./mattermost channel delete tierslieux:transition-numerique +éditer Mattermost's config.json file,et mettre EnableLocalMode to "true" 
-   +  nano /opt/mattermost/config/config.json 
-=== Supprimer une Team à la main ==+vérifier le chemin de la socket locale dans ce fichier et ajouter dans le /root/.bashrc 
-  /opt/mattermost/bin # ./mattermost team list + 
-  /opt/mattermost/bin # ./mattermost team delete ateliersenfants+  export PATH=$PATH:/opt/mattermost/bin/ 
 +  export MMCTL_LOCAL=true 
 +  export MMCTL_LOCAL_SOCKET_PATH=/var/tmp/mattermost_local.socket 
 +Se relogguer et relancer mattermost 
 +  systemctl restart mattermost 
 + 
 +**Gestion d'équipe** 
 + 
 +<code> 
 +        mmctl team archive - Archive some teams 
 +        mmctl team create - Create teams 
 +        mmctl team delete - Delete teams 
 +        mmctl team list - List teams 
 +        mmctl team modify - Modify teams 
 +        mmctl team rename - Rename teams 
 +        mmctl team restore - Restore teams 
 +        mmctl team search - Search teams 
 +        mmctl team users - Manage team users 
 +</code>
  
-=== Intégrer les nouveaux utilisateurs dans les canaux publics === +==== Intégrer les nouveaux utilisateurs dans les canaux publics ==== 
-Modifier en utilisant __l'url__ du canal+Modifier en utilisant __l'url__ du canal : config supprimée le 1er juin 2022 car s'appliquait à toutes les équipes qui n'ont pas les mêmes noms de canaux
   nano /opt/mattermost/config/config.json   nano /opt/mattermost/config/config.json
           "ExperimentalDefaultChannels": [           "ExperimentalDefaultChannels": [
Ligne 241: Ligne 275:
  
      
-=== Désactiver les messages système (annonce de qui a rejoint le canal ...) ===+==== Désactiver les messages système (annonce de qui a rejoint le canal ...) ====
 Voir [[https://docs.mattermost.com/administration/config-settings.html#enable-default-channel-leave-join-system-messages|cette documentation]], à voir si cela ne s'applique qu'au canal centre ville Voir [[https://docs.mattermost.com/administration/config-settings.html#enable-default-channel-leave-join-system-messages|cette documentation]], à voir si cela ne s'applique qu'au canal centre ville
  
Ligne 247: Ligne 281:
   "ExperimentalEnableDefaultChannelLeaveJoinMessages": false   "ExperimentalEnableDefaultChannelLeaveJoinMessages": false
      
-=== Activer / Désactiver le plug-in Jitsi si marche plus ===+==== Activer / Désactiver le plug-in Jitsi si marche plus ====
 [[https://github.com/mattermost/mattermost-plugin-jitsi/issues/6|Essayer ceci]] si le plug-in jitsi ne marche plus [[https://github.com/mattermost/mattermost-plugin-jitsi/issues/6|Essayer ceci]] si le plug-in jitsi ne marche plus
      
 Chaque utilisateur a la possibiltié de désactiver ces messages dans [[https://docs.mattermost.com/help/settings/account-settings.html#enable-join-leave-messages|les paramètres avancés de son compte]] :  Chaque utilisateur a la possibiltié de désactiver ces messages dans [[https://docs.mattermost.com/help/settings/account-settings.html#enable-join-leave-messages|les paramètres avancés de son compte]] : 
  
-=== Mise à jour de Mattermost === +===== Mise à jour de Mattermost ===== 
-  Voir ici https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html#+Voir [[https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html|la doc officielle]]. 
 + 
 +En résumé : 
 + 
 +Telecharger puis décompresser la version de [[https://docs.mattermost.com/upgrade/extended-support-release.html#what-are-the-current-supported-extended-support-release-versions|Mattermost ESR]] désirée ou la [[https://docs.mattermost.com/upgrade/version-archive.html#mattermost-enterprise-edition|toute dernière]] dans /tmp : 
 + 
 +<code bash> 
 +cd /tmp 
 +wget https://releases.mattermost.com/7.9.1/mattermost-7.9.1-linux-amd64.tar.gz 
 +tar -xf mattermost*.gz --transform='s,^[^/]\+,\0-upgrade,' 
 +</code> 
 + 
 +Arrêter Mattermost : 
 + 
 +<code bash> 
 +systemctl stop mattermost 
 +</code> 
 + 
 +Nettoyer le dossier du mattermost actuel : 
 + 
 +<code bash> 
 +cd /opt 
 +find mattermost/ mattermost/client/ -mindepth 1 -maxdepth 1 \! \( -type d \( -path mattermost/client -o -path mattermost/client/plugins -o -path mattermost/config -o -path mattermost/logs -o -path mattermost/plugins -o -path mattermost/data \) -prune \) | sort | sudo xargs rm -r 
 +</code> 
 + 
 +Appliquer la mise à jour des fichiers et remettre les droits : 
 + 
 +<code bash> 
 +cp -an /tmp/mattermost-upgrade/. mattermost/ 
 +chown -R mattermost:mattermost /opt/mattermost 
 +</code> 
 + 
 +Redémarrer Mattermost : 
 + 
 +<code bash> 
 +systemctl start mattermost 
 +</code> 
 + 
 +Supprimer les fichiers temporaires : 
 + 
 +<code bash> 
 +rm -rf /tmp/mattermost-upgrade && rm -i /tmp/mattermost*.gz 
 +</code> 
 {{tag>bj serveur lxc mattermost futuretic}} {{tag>bj serveur lxc mattermost futuretic}}
mattermost_un_container_lxc.1633789903.txt.gz · Dernière modification : 2021/10/09 14:31 de Benjamin Labomedia