mattermost_un_container_lxc
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 | ||
| mattermost_un_container_lxc [2021/03/31 13:22] – Benjamin Labomedia | mattermost_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 |
| - | ==== On commence par installer un container | + | |
| 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 | NAME STATE | ||
| - | tlcvl RUNNING 0 | + | tlcvl RUNNING 0 |
| 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 / | nano / | ||
| # 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:// | Ensuite il s'agit de suivre la [[https:// | ||
| Ligne 76: | Ligne 75: | ||
| " | " | ||
| " | " | ||
| - | " | + | " |
| " | " | ||
| " | " | ||
| 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' | On génère déjà un certificat avec certbot avec un vhost temporaire qui contient l' | ||
| - | 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 / | + | nano / |
| - | < | + | < |
| < | < | ||
| < | < | ||
| - | ServerAdmin | + | ServerAdmin |
| - | ServerName | + | ServerName |
| + | # Headers for security | ||
| + | < | ||
| + | Header always set Strict-Transport-Security " | ||
| + | Header set X-XSS-Protection "1; mode=block" | ||
| + | Header set X-Frame-Options " | ||
| + | Header set X-Content-Type-Options " | ||
| + | </ | ||
| + | |||
| + | # 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 / | + | |
| - | SSLCertificateKeyFile / | + | |
| + | SSLCertificateKeyFile / | ||
| Include / | Include / | ||
| - | |||
| - | ProxyPreserveHost | ||
| - | # proxy pour cetificat | + | |
| - | DocumentRoot / | + | |
| - | ProxyPass / | + | |
| - | # Set web sockets | + | |
| - | RewriteEngine On | + | |
| - | RewriteCond %{REQUEST_URI} | + | |
| - | RewriteCond %{HTTP: | + | |
| - | RewriteCond %{HTTP: | + | |
| - | RewriteRule .* ws://10.0.3.235: | + | |
| - | < | + | # Set web sockets |
| - | Require all granted | + | |
| - | ProxyPass http://10.0.3.235:8065/ | + | |
| - | ProxyPassReverse http://10.0.3.235:8065/ | + | |
| - | ProxyPassReverseCookieDomain 10.0.3.235 tl-cvl.futuretic.fr | + | RewriteCond %{HTTP: |
| - | </ | + | RewriteRule .* ws://10.0.3.200:8065%{REQUEST_URI} [P,QSA,L] |
| + | # Proxy to container | ||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | ProxyPassReverseCookieDomain 10.0.3.200 mm.mondomaine.org | ||
| - | ErrorLog / | + | |
| + | | ||
| LogLevel error | LogLevel error | ||
| - | CustomLog / | + | CustomLog / |
| </ | </ | ||
| Ligne 186: | Ligne 200: | ||
| </ | </ | ||
| 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 | + | a2ensite |
| systemctl reload apache2 | systemctl reload apache2 | ||
| - | ==== Configuration de Mattermost ==== | + | ===== Configuration de Mattermost |
| On doit maintenant pouvoir se rendre à l'url pour accéder à l' | On doit maintenant pouvoir se rendre à l'url pour accéder à l' | ||
| Ligne 197: | Ligne 211: | ||
| {{:: | {{:: | ||
| - | ==== 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' | Ajout du plug-in jitsi pour permettre l' | ||
| - | === 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 / | nano / | ||
| Ligne 213: | Ligne 227: | ||
| Voir https:// | Voir https:// | ||
| - | === Configurer les Headers pour la CSP Content-Security Policy === | + | ==== Configurer les Headers pour la CSP Content-Security Policy |
| * https:// | * https:// | ||
| + | ==== Utilitaire en ligne de commande pour supprimer un canal ou une équipe et plus ==== | ||
| + | Depuis Mattermost 6, l' | ||
| - | === Supprimer un canal à la main === | + | Pour faire marcher cet utilitaire mmctl, il faut faire plusieurs choses : |
| - | / | + | |
| - | + | ||
| - | === Supprimer une Team à la main === | + | |
| - | / | + | |
| - | / | + | |
| - | === Intégrer les nouveaux utilisateurs dans les canaux publics === | + | éditer Mattermost' |
| - | Modifier en utilisant __l' | + | nano / |
| + | vérifier le chemin de la socket locale dans ce fichier et ajouter dans le / | ||
| + | |||
| + | export PATH=$PATH:/ | ||
| + | export MMCTL_LOCAL=true | ||
| + | export MMCTL_LOCAL_SOCKET_PATH=/ | ||
| + | Se relogguer et relancer mattermost | ||
| + | systemctl restart mattermost | ||
| + | |||
| + | **Gestion d' | ||
| + | |||
| + | < | ||
| + | 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 | ||
| + | </ | ||
| + | |||
| + | ==== Intégrer les nouveaux utilisateurs dans les canaux publics | ||
| + | Modifier en utilisant __l' | ||
| nano / | nano / | ||
| " | " | ||
| - | "Formation-professionnelle", | + | "chantier-formation-professionnelle", |
| - | "Appel-a-projets", | + | "chantier-accompagnement-de-projet-essis", |
| - | "www", | + | " |
| - | "zzz" | + | " |
| + | " | ||
| + | " | ||
| + | "appel-a-projets", | ||
| + | "cest-quoi-un-tiers-lieux", | ||
| + | "culture-du-faire" | ||
| ] | ] | ||
| | | ||
| + | ==== Désactiver les messages système (annonce de qui a rejoint le canal ...) ==== | ||
| + | Voir [[https:// | ||
| + | |||
| + | nano / | ||
| + | " | ||
| + | | ||
| + | ==== Activer / Désactiver le plug-in Jitsi si marche plus ==== | ||
| + | [[https:// | ||
| + | | ||
| + | Chaque utilisateur a la possibiltié de désactiver ces messages dans [[https:// | ||
| + | |||
| + | ===== Mise à jour de Mattermost ===== | ||
| + | Voir [[https:// | ||
| + | |||
| + | En résumé : | ||
| + | |||
| + | Telecharger puis décompresser la version de [[https:// | ||
| + | |||
| + | <code bash> | ||
| + | cd /tmp | ||
| + | wget https:// | ||
| + | tar -xf mattermost*.gz --transform=' | ||
| + | </ | ||
| + | |||
| + | Arrêter Mattermost : | ||
| + | |||
| + | <code bash> | ||
| + | systemctl stop mattermost | ||
| + | </ | ||
| + | |||
| + | Nettoyer le dossier du mattermost actuel : | ||
| + | |||
| + | <code bash> | ||
| + | cd /opt | ||
| + | find mattermost/ mattermost/ | ||
| + | </ | ||
| + | |||
| + | Appliquer la mise à jour des fichiers et remettre les droits : | ||
| + | |||
| + | <code bash> | ||
| + | cp -an / | ||
| + | chown -R mattermost: | ||
| + | </ | ||
| + | |||
| + | Redémarrer Mattermost : | ||
| + | |||
| + | <code bash> | ||
| + | systemctl start mattermost | ||
| + | </ | ||
| + | |||
| + | Supprimer les fichiers temporaires : | ||
| + | <code bash> | ||
| + | rm -rf / | ||
| + | </ | ||
| {{tag>bj serveur lxc mattermost futuretic}} | {{tag>bj serveur lxc mattermost futuretic}} | ||
mattermost_un_container_lxc.1617196944.txt.gz · Dernière modification : de Benjamin Labomedia
