Comment installer Mattermost sur Ubuntu
Mattermost est une plateforme de messagerie open-source conçue pour la collaboration et la communication en équipe. Elle offre une alternative sécurisée et auto-hébergée à des outils comme Slack. Ce guide vous guidera à travers le processus d’installation de Mattermost sur un serveur Ubuntu.
1. Prérequis
Avant de commencer, assurez-vous que vous disposez des éléments suivants :
- Un serveur fonctionnant sous Ubuntu 18.04 ou une version ultérieure.
- Des privilèges Sudo sur le serveur.
- Un nom de domaine pointant vers votre serveur (facultatif mais recommandé pour la production).
2. Mettre à jour votre système
Commencez par mettre à jour l’index des paquets de votre système :
sudo apt update sudo apt upgrade -y
3. Installer les dépendances requises
Mattermost nécessite certains logiciels pour fonctionner correctement. Installez-les en utilisant la commande suivante :
sudo apt install -y postgresql postgresql-contrib sudo apt install -y nginx sudo apt install -y certbot python3-certbot-nginx
4. Installer Mattermost
Étape 1 : Télécharger Mattermost
Allez sur la page de téléchargement de Mattermost et téléchargez la dernière version de Mattermost. Vous pouvez utiliser wget pour la télécharger directement sur votre serveur :
wget https://releases.mattermost.com/7.5.0/mattermost-team-7.5.0-linux-amd64.tar.gz
(Note : Remplacez 7.5.0 par la dernière version disponible)
Étape 2 : Extraire le fichier téléchargé
Extraire le fichier téléchargé :
tar -xvzf mattermost-team-7.5.0-linux-amd64.tar.gz
Étape 3 : Déplacer Mattermost dans le répertoire désiré
Déplacez le dossier extrait dans le répertoire /opt :
sudo mv mattermost /opt
Étape 4 : Créer un utilisateur Mattermost
Créez un utilisateur dédié à Mattermost :
sudo useradd -r -m mattermost
Définissez la propriété du répertoire Mattermost :
sudo chown -R mattermost:mattermost /opt/mattermost
5. Configuration de la base de données PostgreSQL
Etape 1 : Passer à l’utilisateur PostgreSQL
sudo -i -u postgres
Étape 2 : Créer une base de données et un utilisateur pour Mattermost
Exécutez les commandes suivantes dans le shell PostgreSQL :
CREATE DATABASE mattermost_db ; CREATE USER mattermost WITH PASSWORD 'your_password' ; GRANT ALL PRIVILEGES ON DATABASE mattermost_db TO mattermost ;
Remplacez “votre_mot_de_passe” par un mot de passe fort.
Etape 3 : Quitter le Shell PostgreSQL
\q
6. Configurer Mattermost
Etape 1 : Editer le fichier de configuration
Naviguez jusqu’au répertoire de configuration de Mattermost :
cd /opt/mattermost/config
Ouvrez config.json dans un éditeur de texte :
sudo nano config.json
Trouvez la section SqlSettings et mettez-la à jour avec les détails de votre base de données :
"SqlSettings" : {"DriverName" : "postgres", "DataSource" : "mattermost:your_password@localhost/mattermost_db?sslmode=disable" }
Veillez à remplacer your_password par le mot de passe que vous avez défini pour l’utilisateur mattermost.
Étape 2 : Sauvegarder et quitter
Enregistrez les modifications et quittez l’éditeur de texte.
7. Démarrer Mattermost
Pour démarrer Mattermost, accédez au répertoire Mattermost et exécutez la commande suivante :
sudo -u mattermost /opt/mattermost/bin/mattermost
8. Configurer Nginx
Étape 1 : Créer un fichier de configuration Nginx
Créez un nouveau fichier de configuration pour Mattermost :
sudo nano /etc/nginx/sites-available/mattermost
Ajoutez la configuration suivante :
server { listen 80 ; server_name your_domain.com ; # Remplacez par l'emplacement de votre domaine / { proxy_pass http://localhost:8065 ; proxy_set_header Host $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 ; } }
Étape 2 : Activation de la configuration
Créez un lien symbolique pour activer le site :
sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
Étape 3 : Tester la configuration de Nginx
Vérifiez qu’il n’y a pas d’erreurs de syntaxe dans la configuration de Nginx :
sudo nginx -t
Étape 4 : Redémarrer Nginx
Redémarrez Nginx pour appliquer les modifications :
sudo systemctl restart nginx