146 lines
4.1 KiB
Markdown
146 lines
4.1 KiB
Markdown
---
|
|
categories: chat
|
|
title: Howto Mattermost
|
|
...
|
|
|
|
* Documentation : <https://docs.mattermost.com>
|
|
|
|
|
|
[Mattermost](https://mattermost.com) est un logiciel libre de discussion instantanées
|
|
|
|
## Installation
|
|
|
|
### Pré-requis
|
|
|
|
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
|
|
|
|
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 version sur <https://mattermost.com/download/> (actuellement la 5.10.0) et on déroule :
|
|
|
|
~~~
|
|
# su - mattermost
|
|
$ wget https://releases.mattermost.com/5.10.0/mattermost-5.10.0-linux-amd64.tar.gz
|
|
$ tar mattermost-5.10.0-linux-amd64.tar.gz
|
|
$ cd mattermost
|
|
$ mkdir data
|
|
~~~
|
|
|
|
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'à mettre en place l'unité systemd :
|
|
|
|
~~~
|
|
[Unit]
|
|
Description=Mattermost
|
|
After=network.target
|
|
After=postgresql.service
|
|
Requires=postgresql.service
|
|
|
|
[Service]
|
|
Type=notify
|
|
Restart=always
|
|
WorkingDirectory=/home/mattermost/mattermost
|
|
ExecStart=/home/mattermost/mattermost/bin/mattermost
|
|
TimeoutStartSec=3600
|
|
LimitNOFILE=49152
|
|
RestartSec=10
|
|
User=mattermost
|
|
Group=mattermost
|
|
|
|
[Install]
|
|
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
|
|
|
|
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*
|
|
|
|
# FAQ
|
|
|
|
## Supprimer une équipe
|
|
|
|
~~~
|
|
$ /home/mattermost/mattermost/bin/mattermost -c /home/mattermost/config/config.json team <NomÉquipe> delete
|
|
~~~ |