22
0
Fork 0

(WIP) Mattermost - Relecture et compléments

This commit is contained in:
Ludovic Poujol 2019-05-10 12:06:03 +02:00
parent 57537d024c
commit a018aa2907
1 changed files with 82 additions and 8 deletions

View File

@ -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 <https://mattermost.com/download/> et on déroule
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
@ -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
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*