Installation · 6 min read · Oct 12, 2025

Comment installer Mattermost sur Debian 11

Mattermost est une plateforme de collaboration et de messagerie gratuite et open-source créée avec la sécurité à l’esprit. C’est une alternative à Discord ou Slack et offre de nombreuses fonctionnalités utiles, y compris la messagerie individuelle, un historique de recherche illimité et des capacités de partage de fichiers, l’autorisation à deux facteurs et des notifications. C’est un service de chat en ligne auto-hébergé écrit en Golang et React. Il est spécialement conçu pour les organisations et les entreprises et permet aux équipes de communiquer en toute sécurité depuis n’importe où.

Dans ce tutoriel, nous allons vous montrer comment installer le serveur de chat Mattermost sur Debian 11.

Prérequis

  • Un serveur exécutant Debian 11.
  • Un nom de domaine valide pointé vers l’adresse IP de votre serveur.
  • Un mot de passe root configuré sur le serveur.

Installer et configurer le serveur de base de données MariaDB

Mattermost utilise MySQL ou MariaDB comme backend de base de données. Vous devrez donc installer le serveur MariaDB sur votre serveur. Vous pouvez l’installer en utilisant la commande suivante :

apt-get install mariadb-server -y

Une fois que MariaDB est installé, démarrez le service MariaDB et activez-le pour qu’il démarre au redémarrage du système :

systemctl start mariadb  
systemctl enable mariadb

Ensuite, connectez-vous à l’interface de commande de MariaDB avec la commande suivante :

mysql

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

MariaDB [(none)]> create database mattermost;  
MariaDB [(none)]> create user mattermost@localhost identified by 'password';

Ensuite, accordez tous les privilèges à la base de données Mattermost avec la commande suivante :

MariaDB [(none)]> grant all privileges on mattermost.* to mattermost@localhost;

Ensuite, videz les privilèges et quittez l’interface de commande de MariaDB avec la commande suivante :

MariaDB [(none)]> flush privileges;  
MariaDB [(none)]> exit;

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Installer Mattermost

Tout d’abord, créez un utilisateur dédié pour Mattermost en utilisant la commande suivante :

useradd --system --user-group mattermost

Ensuite, téléchargez la dernière version de Mattermost avec la commande suivante :

wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf mattermost-6.0.2-linux-amd64.tar.gz

Ensuite, déplacez le répertoire extrait vers /opt avec la commande suivante :

mv mattermost /opt

Ensuite, créez un répertoire de données pour Mattermost en utilisant la commande suivante :

mkdir /opt/mattermost/data

Ensuite, changez la propriété du répertoire Mattermost avec la commande suivante :

chown -R mattermost:mattermost /opt/mattermost  
chmod -R g+w /opt/mattermost

Ensuite, éditez le fichier config.json avec la commande suivante :

nano /opt/mattermost/config/config.json

Trouvez les lignes suivantes :

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",

Et remplacez-les par les lignes suivantes selon vos paramètres de base de données :

"DriverName": "mysql",
"DataSource": "mattermost:password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer un fichier de service Systemd pour Mattermost

Ensuite, vous devrez créer un fichier de service systemd pour Mattermost. Vous pouvez le créer en utilisant la commande suivante :

nano /etc/systemd/system/mattermost.service

Ajoutez les lignes suivantes :

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Enregistrez et fermez le fichier, puis rechargez le démon systemd pour appliquer les modifications :

systemctl daemon-reload

Ensuite, démarrez Mattermost et activez-le pour qu’il démarre au redémarrage du système :

systemctl start mattermost  
systemctl enable mattermost

Ensuite, vérifiez l’état de Mattermost avec la commande suivante :

systemctl status mattermost

Vous obtiendrez la sortie suivante :

? mattermost.service - Mattermost
     Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:56:25 UTC; 4s ago
   Main PID: 2888 (mattermost)
      Tasks: 31 (limit: 4679)
     Memory: 273.3M
        CPU: 12.191s
     CGroup: /system.slice/mattermost.service
             ??2888 /opt/mattermost/bin/mattermost
             ??2915 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
             ??2925 plugins/playbooks/server/dist/plugin-linux-amd64
             ??2931 plugins/focalboard/server/dist/plugin-linux-amd64

Nov 12 13:56:24 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:24.681 Z","level":"info","msg":"Scheduling next survey for Dec 3, 2>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.064 Z","level":"info","msg":"Post.Message has size restrictions">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.084 Z","level":"info","msg":"info [2021-11-12 13:56:25.083 Z] co>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.131 Z","level":"info","msg":"\n    -- collation of mattermost's >
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.491 Z","level":"info","msg":"debug [2021-11-12 13:56:25.488 Z] i>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.777 Z","level":"info","msg":"info [2021-11-12 13:56:25.777 Z] Se>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.963 Z","level":"info","msg":"Starting Server...","caller":"app/s>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Server is listening on [::]:8065",">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Sending systemd READY notification.>
Nov 12 13:56:25 debian11 systemd[1]: Started Mattermost.

Configurer Nginx comme proxy inverse pour Mattermost

Par défaut, Mattermost écoute sur le port 8065. Il est donc judicieux d’installer et de configurer Nginx comme proxy inverse pour accéder à Mattermost sur le port 80. Tout d’abord, installez Nginx avec la commande suivante :

apt-get install nginx -y

Une fois Nginx installé, créez un fichier de configuration d’hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/conf.d/mattermost.conf

Ajoutez les lignes suivantes :

upstream mattermost {
   server localhost: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;
   server_name mattermost.example.com;

   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://mattermost;
   }

   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://mattermost;
   }
}

Enregistrez et fermez le fichier, puis vérifiez la configuration de Nginx pour toute erreur de syntaxe avec la commande suivante :

ginx -t

Vous devriez voir la sortie suivante :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ensuite, démarrez le service Nginx pour appliquer les modifications :

systemctl start nginx

Vous pouvez également vérifier l’état de Nginx en utilisant la commande suivante :

systemctl status nginx

Vous devriez obtenir la sortie suivante :

? nginx.service - Un serveur web haute performance et un serveur proxy inverse
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:57:02 UTC; 1min 12s ago
       Docs: man:nginx(8)
    Process: 3384 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3392 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3602 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 6.6M
        CPU: 55ms
     CGroup: /system.slice/nginx.service
             ??3602 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3604 nginx: worker process
             ??3605 nginx: worker process

Nov 12 13:57:01 debian11 systemd[1]: Starting Un serveur web haute performance et un serveur proxy inverse...
Nov 12 13:57:02 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Nov 12 13:57:02 debian11 systemd[1]: Started Un serveur web haute performance et un serveur proxy inverse.

À ce stade, Nginx est installé et configuré comme proxy inverse pour Mattermost. Vous pouvez maintenant passer à l’étape suivante.

Accéder à l’interface web de Mattermost

Maintenant, ouvrez votre navigateur web et accédez à l’interface web de Mattermost en utilisant l’URL http://mattermost.example.com. Vous serez redirigé vers la page suivante :

Connexion Mattermost

Fournissez votre adresse e-mail d’administrateur, votre nom d’utilisateur, votre mot de passe, et cliquez sur le bouton Créer un compte. Vous devriez voir la page suivante :

Mattermost

Maintenant, cliquez sur Aller au tableau de bord système. Vous serez redirigé vers le tableau de bord Mattermost comme indiqué ci-dessous :

Tableau de bord Mattermost

Conclusion

Félicitations ! Vous avez réussi à installer Mattermost avec Nginx comme proxy inverse sur Debian 11. Vous pouvez maintenant mettre en œuvre Mattermost dans votre organisation et permettre aux équipes de communiquer entre elles depuis n’importe où.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.