Mattermost est une plateforme de communication d'entreprise open source conçue pour la communication interne des équipes et des organisations. Elle prend en charge les chats textuels, le partage de fichiers, les appels vidéo et l'intégration avec divers services tiers. Mattermost peut être déployé sur vos propres serveurs pour un contrôle et une sécurité complets des données. Il s'agit d'une alternative à des solutions telles que Slack, avec la possibilité de personnaliser, d'automatiser et d'intégrer les processus DevOps.
Tout d'abord, vous devez vous connecter à votre serveur via SSH sous l'utilisateur root. Exécutez la commande suivante, en remplaçant IP_Address par l'adresse IP de votre serveur et Port_number par le numéro de port SSH :
ssh root@IP_Address -p Port_number
Pour vous assurer que vous avez installé la bonne version d'Ubuntu, exécutez la commande :
lsb_release -a
Résultat attendu :
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Mettre à jour le système d'exploitation :
apt update
apt upgrade
Créons maintenant une base de données PostgreSQL qui sera utilisée par le serveur Mattermost. Tapez la commande (cette commande installera postgresql) :
apt install postgresql
Connectez-vous à PostgreSQL :
sudo -u postgres psql
Créez une base de données Mattermost :
CREATE DATABASE mattermost;
Créez l'utilisateur mmuser (utilisez un mot de passe plus sûr au lieu de mmuser-password
) :
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Donner les permissions à l'utilisateur mmuser :
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;
Se déconnecter de PostgreSQL
q
Modifiez le fichier pg_hba.conf pour permettre au serveur Mattermost d'accéder à la base de données PostgreSQL.
Ouvrez le fichier :
nano /etc/postgresql/16/main/pg_hba.conf
Trouvez les lignes :
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Remplacer par :
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Enregistrez les modifications, fermez le fichier et mettez à jour la configuration de PostgreSQL :
systemctl reload postgresql
Vérifiez que nous pouvons nous connecter à la base de données à partir de l'utilisateur mmuser :
psql --dbname=mattermost --username=mmuser --password
Entrer le mot de passe que nous avons créé à la place de mmuser-password
Si nous avons tout fait correctement, la console PostgreSQL apparaîtra.
Quittez :
q
Téléchargez la dernière version du serveur Mattermost :
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Décompressez :
tar -xvzf mattermost*.gz
Transférer dans le répertoire /opt :
mv mattermost /opt
Par défaut, le serveur Mattermost utilise le répertoire /opt/mattermost/data.
Créez-le :
mkdir /opt/mattermost/data
Créez maintenant un groupe et un utilisateur mattermost :
useradd --system --user-group mattermost
Accordez les permissions :
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Pour gérer le serveur Mattermost, créons un service système.
Ouvrez l'éditeur pour créer un fichier de service :
nano /lib/systemd/system/mattermost.service
Le fichier ouvert, vide - remplissez-le avec le contenu suivant :
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Mettre à jour la configuration de systemd :
systemctl daemon-reload
Avant de lancer le serveur Mattermost, vous devez le configurer.
Créez une copie de sauvegarde du fichier de configuration :
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Ouvrez le fichier de configuration du serveur Mattermost dans un éditeur de texte :
nano /opt/mattermost/config/config.json
Nous devons faire les changements.
Chercher :
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Remplacer par :
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Où : <mmuser-password> - mot de passe de l'utilisateur pour PostgreS
<mmuser-password>
- mot de passe de l'utilisateur pour PostgreSQL.
<host-name-or-IP>
- Adresse IP du serveur ou son nom d'hôte.
<mattermost>
- Base de données PostgreSQL.
Enregistrez le fichier et quittez l'éditeur.
Activez le service pour qu'il s'exécute au démarrage du système et démarrez-le maintenant :
systemctl enable --now mattermost
Utilisez la commande pour vérifier l'état du serveur :
systemctl status mattermost
Ouvrez l'adresse IP de votre serveur ou son nom d'hôte
dans votre navigateur : 8065
Suivez les instructions de la page qui s'ouvre.
Le serveur Mattermost est maintenant installé et fonctionne sur votre serveur Ubuntu 24.04.