mirroir readonly du Gitit wiki.evolix.org (attention, ne rien commiter/merger sur ce dépôt) https://wiki.evolix.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

HowtoMattermost.md 4.8 KiB

1 year ago
1 month ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. ---
  2. categories: chat
  3. title: Howto Mattermost
  4. ...
  5. * Documentation : <https://docs.mattermost.com>
  6. [Mattermost](https://mattermost.com) est un logiciel libre de discussion instantanées. C'est une alternative open source à Slack.
  7. ## Installation
  8. ### Pré-requis
  9. Une machine avec Debian 9 (Stretch) avec les logiciels suivants :
  10. * [Nginx](/HowtoNginx) - Servira de reverse proxy web
  11. * [MySQL](/HowtoMySQL) - Base de donnée pour l'application
  12. ### Mise en place
  13. Tout d'abord, on a besoin :
  14. * D'une base MySQL avec un utilisateur - login/base : `mattermost` / pass : `PASSWORD`
  15. * D'un utilisateur unix : `mattermost`
  16. On récupère donc la dernière version sur <https://mattermost.com/download/> (actuellement la 5.10.0) et on déroule :
  17. ~~~
  18. # su - mattermost
  19. $ wget https://releases.mattermost.com/5.10.0/mattermost-5.10.0-linux-amd64.tar.gz
  20. $ tar mattermost-5.10.0-linux-amd64.tar.gz
  21. $ cd mattermost
  22. $ mkdir data
  23. ~~~
  24. Il faut ensuite ajuster la configuration à ses besoins. Elle se trouve dans le fichier `config/config.json`.
  25. 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`.
  26. Dans notre exemple, on met la valeur suivante (à adapter) `mattermost:PASSWORD@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8`
  27. Enfin, il ne reste plus qu'à mettre en place l'unité systemd :
  28. ~~~
  29. [Unit]
  30. Description=Mattermost
  31. After=network.target
  32. After=postgresql.service
  33. Requires=postgresql.service
  34. [Service]
  35. Type=notify
  36. Restart=always
  37. WorkingDirectory=/home/mattermost/mattermost
  38. ExecStart=/home/mattermost/mattermost/bin/mattermost
  39. TimeoutStartSec=3600
  40. LimitNOFILE=49152
  41. RestartSec=10
  42. User=mattermost
  43. Group=mattermost
  44. [Install]
  45. WantedBy=multi-user.target
  46. ~~~
  47. Par défaut, Mattermost écoute sur le port 8065. En s'y connectant, on peut créer le premier compte qui sera automatiquement administrateur
  48. 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).
  49. > Note: La configuration proposée par les développeurs s'appuie sur le module de cache de nginx. Ce module permet de décharger de certaines requêtes le service mattermost. Mais il peut compliquer les test lors de soucis sur l'interface web.
  50. ~~~
  51. upstream backend {
  52. server 127.0.0.1:8065;
  53. keepalive 32;
  54. }
  55. #proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
  56. server {
  57. listen 80;
  58. listen [::]:80;
  59. listen 443 ssl;
  60. listen [::]:443 ssl;
  61. server_name mattermost.example.com;
  62. ssl_certificate /etc/ssl/certs/mattermost.example.com.pem;
  63. ssl_certificate_key /etc/ssl/private/mattermost.example.com.pem;
  64. location ~ /api/v[0-9]+/(users/)?websocket$ {
  65. proxy_set_header Upgrade $http_upgrade;
  66. proxy_set_header Connection "upgrade";
  67. client_max_body_size 50M;
  68. proxy_set_header Host $http_host;
  69. proxy_set_header X-Real-IP $remote_addr;
  70. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  71. proxy_set_header X-Forwarded-Proto $scheme;
  72. proxy_set_header X-Frame-Options SAMEORIGIN;
  73. proxy_buffers 256 16k;
  74. proxy_buffer_size 16k;
  75. client_body_timeout 60;
  76. send_timeout 300;
  77. lingering_timeout 5;
  78. proxy_connect_timeout 90;
  79. proxy_send_timeout 300;
  80. proxy_read_timeout 90s;
  81. proxy_pass http://backend;
  82. }
  83. location / {
  84. client_max_body_size 50M;
  85. proxy_set_header Connection "";
  86. proxy_set_header Host $http_host;
  87. proxy_set_header X-Real-IP $remote_addr;
  88. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  89. proxy_set_header X-Forwarded-Proto $scheme;
  90. proxy_set_header X-Frame-Options SAMEORIGIN;
  91. proxy_buffers 256 16k;
  92. proxy_buffer_size 16k;
  93. proxy_read_timeout 600s;
  94. #proxy_cache mattermost_cache;
  95. #proxy_cache_revalidate on;
  96. #proxy_cache_min_uses 2;
  97. #proxy_cache_use_stale timeout;
  98. #proxy_cache_lock on;
  99. proxy_http_version 1.1;
  100. proxy_pass http://backend;
  101. }
  102. }
  103. ~~~
  104. Pour aller plus loin, il y a [la documentation](https://docs.mattermost.com/install/install-debian.html)
  105. # Mise à jour
  106. Voir [la documentation officielle](https://docs.mattermost.com/administration/upgrade.html#upgrading-to-the-latest-version) pour référence.
  107. *TODO*
  108. # Plugins
  109. Mattermost est extensible avec de nombreux plugins.
  110. La plupart du temps, il suffit de décompacter une archive dans le répertoire `plugins/` puis de l'activer dans la console système.
  111. # FAQ / Plomberie
  112. ## Supprimer une équipe
  113. ~~~
  114. $ /home/mattermost/mattermost/bin/mattermost -c /home/mattermost/config/config.json team <NomÉquipe> delete
  115. ~~~