Présentation
Mattermost est un chat en ligne auto-hébergé et open-source. Il est développé comme une conversation privée pour les organisations et les entreprises.
C'est un outil avec des fonctionnalités comme Slack et Microsoft Teams. Et Mattermost est souvent installé avec le serveur de base de données PostgreSQL.
Vous trouverez ci-dessous le guide sur la façon de déployer Mattermost sur Ubuntu 20.04 comme nous le verrons ci-dessous.
Étape 1 - Mettre à jour le système
Exécutez la commande apt :
$ sudo apt update
Exécutez ensuite la commande :
$ sudo apt upgrade
Production:
Enfin, définissez le nom d'hôte du serveur approprié :
$ sudo hostnamectl set-hostname NEW_HOSTNAME --static
Ici, nous définissons un nom d'hôte nommé "chat.ubuntu ”
$ sudo hostnamectl set-hostname chat.ubuntu --static
Étape 2 - Installer le serveur de base de données PostgreSQL
Exécutez la commande apt pour installer :
$ sudo apt install postgresql postgresql-contrib
Sortie :
Connectez-vous ensuite au compte postgres :
$ sudo --login --user postgres
Démarrez PostgeSQL sur le terminal et créez la base de données/l'utilisateur Mattermost. Ici, je l'ai nommé "linuxer " avec le mot de passe " [email protected] ”
psql
CREATE DATABASE mattermost;
CREATE USER linuxer WITH PASSWORD '[email protected]';
GRANT ALL PRIVILEGES ON DATABASE mattermost to linuxer;
\q
Étape 3 - Créer un utilisateur et un groupe système Mattermost
Nous allons créer un utilisateur système et un groupe nommés "mattermost ” :
$ sudo useradd --system --user-group mattermost
Vous pouvez confirmer par la commande :
$ id mattermost
Sortie :
Étape 4 - Installer Mattermost
Tout d'abord, vous devez créer un dossier nommé "mattermost ”
$ mkdir mattermost
Ensuite, accédez-y :
$ cd mattermost
Exécutez la commande wget pour télécharger Mattermost :
$ wget https://releases.mattermost.com/5.38.1/mattermost-5.38.1-linux-amd64.tar.gz
Sortie :
Extrayez le package :
$ tar -xvzf mattermost*.gz
Copiez le fichier extrait dans le répertoire /otp :
$ sudo cp -r mattermost /opt
Créez un dossier pour Mattermost afin de contenir les données utilisateur :
$ sudo mkdir /opt/mattermost/data
Définissez la propriété et les autorisations appropriées :
$ sudo chown -R mattermost:mattermost /opt/mattermost
Enfin, accordons l'autorisation d'écriture au répertoire /opt/mattermost :
$ sudo chmod -R g+w /opt/mattermost
Étape 5 - Configurer le serveur Mattermost
Paramètre de configuration dans le fichier /opt/mattermost/config/config.json
$ sudo nano /opt/mattermost/config/config.json
Configurez ensuite les paramètres de la base de données PostgreSQL :
Une fois l'éditeur de texte ouvert, appuyez sur Ctrl + W et recherchez "DriverName ”
Changez la ligne dans la partie rouge :
"postgres://matteruser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",
Enregistrez-le.
Étape 6 - Configurer le service Systemd
Créer Mattermost Systemd :
$ sudo vim /etc/systemd/system/mattermost.service
Tapez les lignes ci-dessous :
[Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Appuyez sur ESC + :wq pour enregistrer.
Chargez la nouvelle unité dans systemd :
$ sudo systemctl daemon-reload
Confirmer l'état d'exécution du service :
$ systemctl status mattermost.service
Production:
Activer le service le plus important :
$ sudo systemctl enable mattermost.service
Étape 7 - Installer Nginx
$ sudo apt -y install nginx
Vous devez saisir votre domaine dans le fichier de configuration de Mattermost :
$ sudo nano /opt/mattermost/config/config.json
Enregistrez-le.
Ouvrez l'éditeur de texte pour configurer l'accès à votre domaine :
$ sudo nano /etc/nginx/sites-available/mattermost.conf
Ajoutez les lignes ci-dessous :
upstream backend { 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 your domain; 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; } }
Enregistrez-le.
Pour que cette configuration de site fonctionne, vous devez créer un lien symbolique pour celle-ci dans le dossier /etc/nginx/sites-enabled :
$ sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
Exécutez cette commande pour vérifier la validité de la configuration :
$ sudo nginx -t
Production:
Redémarrez Nginx :
$ sudo systemctl restart nginx
Ensuite, démarrez le service le plus important :
$ sudo systemctl start mattermost
Vous pouvez essayer d'accéder à votre domaine.
Conclusion
Vous avez déjà parcouru les détails du déploiement de Mattermost sur Ubuntu 20.04. Merci d'avoir lu.