Installation Mattermost · 10 min read · Oct 12, 2025
Comment installer le système de messagerie d'équipe Mattermost sur Ubuntu 20.04

Mattermost est une application de messagerie open-source et auto-hébergée utilisée pour le chat, le partage de fichiers, la recherche et les intégrations. C’est une alternative au chat Slack qui regroupe toute votre communication d’équipe en un seul endroit. Elle est écrite en React et Golang, et utilise une base de données PostgreSQL ou MySQL en arrière-plan. Elle offre un ensemble riche de fonctionnalités, y compris des notifications push, un historique de recherche illimité, des emojis personnalisés, des webhooks et des commandes, un annuaire actif, un support de déploiement de base de données multi-nœuds, un forum, un tableau de discussion et bien plus encore.
Dans ce tutoriel, nous allons vous montrer comment installer Mattermost avec Nginx et le SSL Let’s Encrypt sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé vers l’IP de votre serveur.
- Un mot de passe root configuré sur le serveur.
Mise en route
Tout d’abord, il est recommandé de mettre à jour les paquets de votre système avec la dernière version. Vous pouvez les mettre à jour en exécutant la commande suivante :
apt-get update -yUne fois tous les paquets mis à jour, installez les autres dépendances requises en exécutant la commande suivante :
apt-get install curl wget vim git unzip gnupg2 -yAprès avoir installé tous les paquets requis, vous pouvez passer à l’étape suivante.
Installer et configurer MariaDB
Mattermost utilise MySQL/MariaDB comme base de données en arrière-plan. Donc, le serveur MariaDB doit être installé sur votre serveur. S’il n’est pas installé, vous pouvez l’installer avec la commande suivante :
apt-get install mariadb-server -yAprès avoir installé le serveur MariaDB, connectez-vous à MariaDB avec la commande suivante :
mysqlUne fois connecté, créez une base de données et un utilisateur pour Mattermost avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> CREATE USER 'mattermost'@'%' IDENTIFIED BY 'password';Ensuite, accordez tous les privilèges à Mattermost avec la commande suivante :
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'%';Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Une fois votre base de données MariaDB configurée, vous pouvez passer à l’étape suivante.
Installer et configurer Mattermost
Tout d’abord, vous devrez télécharger la dernière version de Mattermost depuis son site officiel. Vous pouvez le télécharger avec la commande suivante :
wget https://releases.mattermost.com/5.24.2/mattermost-5.24.2-linux-amd64.tar.gzUne fois téléchargé, extrayez le fichier téléchargé avec la commande suivante :
tar -xvzf mattermost-5.24.2-linux-amd64.tar.gzEnsuite, copiez le répertoire extrait dans /opt :
cp -r mattermost /optEnsuite, créez un répertoire de données pour Mattermost :
mkdir /opt/mattermost/dataEnsuite, vous devrez créer un utilisateur séparé pour exécuter Mattermost. Vous pouvez le créer avec la commande suivante :
useradd --system --user-group mattermostEnsuite, changez la propriété du répertoire mattermost à mattermost et donnez les permissions appropriées avec la commande suivante :
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermostEnsuite, éditez le fichier de configuration par défaut de Mattermost et définissez vos paramètres de base de données et l’URL du site.
nano /opt/mattermost/config/config.jsonChangez les lignes suivantes selon vos besoins :
"SiteURL": "https://mattermost.linuxbuz.com",
"DriverName": "mysql",
"DataSource": "mattermost:password@tcp(localhost:3306)/mattermostdb?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 gérer le service Mattermost. Vous pouvez le créer avec la commande suivante :
nano /lib/systemd/system/mattermost.serviceAjoutez les lignes suivantes :
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service
[Service]
Type=notify
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
LimitNOFILE=49152
[Install]
WantedBy=mariadb.serviceEnregistrez et fermez le fichier, puis rechargez le démon systemd avec la commande suivante :
systemctl daemon-reloadEnsuite, démarrez le service Mattermost et activez-le pour qu’il démarre au redémarrage du système avec la commande suivante :
systemctl start mattermost
systemctl enable mattermostEnsuite, vérifiez l’état du service Mattermost avec la commande suivante :
systemctl status mattermostVous devriez obtenir la sortie suivante :
? mattermost.service - Mattermost
Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2020-08-01 09:12:52 UTC; 17s ago
Main PID: 4106 (mattermost)
Tasks: 20 (limit: 2353)
Memory: 85.9M
CGroup: /system.slice/mattermost.service
??4106 /opt/mattermost/bin/mattermost
??4198 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.131499,"caller":"mlog/sugar.go:19","msg":"Sent notification of ne>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.1841655,"caller":"jobs/workers.go:73","msg":"Starting workers"}
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.1842792,"caller":"bleveengine/bleve.go:267","msg":"UpdateConf Ble>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.1930475,"caller":"jobs/schedulers.go:74","msg":"Starting schedule>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.20063,"caller":"app/web_hub.go:83","msg":"Starting websocket hubs>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2099638,"caller":"app/license.go:37","msg":"License key from http>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2205582,"caller":"app/server.go:525","msg":"Starting Server..."}
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2208374,"caller":"app/server.go:594","msg":"Server is listening o>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2211802,"caller":"commands/server.go:106","msg":"Sending systemd >
Aug 01 09:12:52 ubuntu2004 systemd[1]: Started Mattermost.À ce stade, Mattermost fonctionne et écoute sur le port 8065.
Configurer Nginx comme proxy inverse
Ensuite, vous devrez configurer Nginx comme proxy inverse pour Mattermost. Tout d’abord, installez le paquet Nginx avec la commande suivante :
apt-get install nginx -yUne fois installé, créez un fichier de configuration d’hôte virtuel Nginx avec la commande suivante :
nano /etc/nginx/sites-available/mattermost.confAjoutez 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.linuxbuz.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 activez la configuration de l’hôte virtuel avec la commande suivante :
ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.confEnsuite, vérifiez Nginx pour toute erreur de configuration :
ginx -tVous devriez obtenir la sortie suivante :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulEnfin, redémarrez le service Nginx pour appliquer les modifications :
systemctl restart nginxSécuriser Mattermost avec Let’s Encrypt SSL
Tout d’abord, vous devrez installer le client Certbot sur votre système pour gérer le SSL Let’s Encrypt. Vous pouvez l’installer avec la commande suivante :
apt-get install python3-certbot-nginx -yAprès avoir installé Certbot, exécutez la commande suivante pour installer le SSL Let’s Encrypt pour votre site web.
certbot --nginx -d mattermost.linuxbuz.comOn vous demandera de fournir une adresse e-mail valide et d’accepter les conditions de service comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for mattermost.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/mattermost.confEnsuite, sélectionnez si vous souhaitez ou non rediriger le trafic HTTP vers HTTPS :
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2Tapez 2 et appuyez sur Entrée pour installer le SSL Let’s Encrypt sur votre domaine. Une fois installé, vous devriez voir la sortie suivante :
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/mattermost.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://mattermost.linuxbuz.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=mattermost.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/mattermost.linuxbuz.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/mattermost.linuxbuz.com/privkey.pem
Your cert will expire on 2020-10-30. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
- We were unable to subscribe you the EFF mailing list because your
e-mail address appears to be invalid. You can try again later by
visiting https://act.eff.org.Accéder à l’interface Web de Mattermost
Maintenant, ouvrez votre navigateur web et tapez l’URL https://mattermost.linuxbuz.com. Vous serez redirigé vers l’écran d’inscription de Mattermost :

Fournissez votre adresse e-mail, votre nom, votre mot de passe et cliquez sur le bouton Créer un compte. Vous devriez voir l’écran suivant :

Cliquez sur le bouton Créer une équipe. Vous devriez voir l’écran suivant :

Fournissez le nom de votre équipe et cliquez sur le bouton Suivant. Vous devriez voir l’écran suivant :

Fournissez l’URL de votre équipe et cliquez sur le bouton Terminer. Vous devriez voir l’écran de bienvenue de Mattermost :

Cliquez sur le bouton Passer les tutoriels. Vous devriez voir le tableau de bord Mattermost à l’écran suivant :

Conclusion
Dans ce guide, vous avez appris comment installer l’application de messagerie d’équipe Mattermost sur un serveur Ubuntu 20.04. Vous avez également appris à configurer Nginx comme proxy inverse et à le sécuriser avec le SSL Let’s Encrypt. Vous pouvez maintenant explorer les services de Mattermost et travailler ensemble avec votre équipe.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.