diff --git a/HowtoMattermost.md b/HowtoMattermost.md index cb39bd7c..6bb81cba 100644 --- a/HowtoMattermost.md +++ b/HowtoMattermost.md @@ -12,17 +12,19 @@ title: Howto Mattermost ### Pré-requis -Une machine avec Debian 9 (Stretch) avec d'installé : +Une machine avec Debian 9 (Stretch) avec les logiciels suivants : * [Nginx](/HowtoNginx) - Servira de reverse proxy web * [MySQL](/HowtoMySQL) - Base de donnée pour l'application ### Mise en place -On part du principe qu'il y a déjà une base de donnée `mattermost`, avec un utilisateur `mattermost` et un mot de passe `PASSWORD` -Un compte unix `mattermost` servira pour faire rouler le programme. +Tout d'abord, on a besoin : +* D'une base MySQL avec un utilisateur - login/base : `mattermost` / pass : `PASSWORD` +* D'un utilisateur unix : `mattermost` -On récupère donc la dernière release sur et on déroule + +On récupère donc la dernière version sur (actuellement la 5.10.0) et on déroule : ~~~ # su - mattermost @@ -32,11 +34,12 @@ $ cd mattermost $ mkdir data ~~~ -On ajuste la connexion à la base de donnée dans le fichier `config/config.json` au niveau de `DataSource` dans `SqlSettings` -avec la valeur suivante (à adapter) `mattermost:PASSWORD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8` +Il faut ensuite ajuster la configuration à ses besoins. Elle se trouve dans le fichier `config/config.json`. +C'est là qu'il faut aussi paramétrer la connexion à la base de donnée MySQL. Celle-ci se règle via la valeur `DataSource` dans `SqlSettings`. +Dans notre exemple, on met la valeur suivante (à adapter) `mattermost:PASSWORD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8` -Enfin, il ne reste plus qu'a mettre en place l'unité systemd : +Enfin, il ne reste plus qu'à mettre en place l'unité systemd : ~~~ [Unit] @@ -61,4 +64,75 @@ WantedBy=multi-user.target ~~~ -Par défaut, mattermost écoute sur le port 8065. En s'y connectant, on peut créer le premier compte qui sera automatiquement administrateur \ No newline at end of file +Par défaut, Mattermost écoute sur le port 8065. En s'y connectant, on peut créer le premier compte qui sera automatiquement administrateur + +On peut aussi configurer nginx comme reverse proxy en s'inspirant de la configuration conseillée dans [la documentation officielle](https://docs.mattermost.com/install/install-debian.html#configuring-nginx-as-a-proxy-for-mattermost-server) + +~~~ +upstream backend { + server 127.0.0.1:8065; + keepalive 32; +} + +proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; + +server { + listen 80; + listen [::]:80; + listen 443 ssl; + listen [::]:443 ssl; + + server_name mattermost.example.com; + + ssl_certificate /etc/ssl/certs/mattermost.example.com.pem; + ssl_certificate_key /etc/ssl/private/mattermost.example.com.pem; + + location ~ /api/v[0-9]+/(users/)?websocket$ { + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + client_max_body_size 50M; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Frame-Options SAMEORIGIN; + proxy_buffers 256 16k; + proxy_buffer_size 16k; + client_body_timeout 60; + send_timeout 300; + lingering_timeout 5; + proxy_connect_timeout 90; + proxy_send_timeout 300; + proxy_read_timeout 90s; + proxy_pass http://backend; + } + + location / { + client_max_body_size 50M; + proxy_set_header Connection ""; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Frame-Options SAMEORIGIN; + proxy_buffers 256 16k; + proxy_buffer_size 16k; + proxy_read_timeout 600s; + proxy_cache mattermost_cache; + proxy_cache_revalidate on; + proxy_cache_min_uses 2; + proxy_cache_use_stale timeout; + proxy_cache_lock on; + proxy_http_version 1.1; + proxy_pass http://backend; + } +} + +~~~ + + +Pour aller plus loin, il y a [la documentation](https://docs.mattermost.com/install/install-debian.html) + +# Mise à jour + +*TODO* \ No newline at end of file