Mattermost est un service de messagerie instantanée open source. Il existe en versions gratuite et payante. Il peut être utilisé dans le cloud ou sur site en tant qu'application Web. Nous apprenons ici comment installer et configurer Mattermost sur Rocky Linux.
Mattermost permet la communication entre les individus et les groupes. La communication peut prendre la forme d'un chat, d'un appel vidéo ou d'un appel téléphonique normal. L'échange de données et de liens est également possible. Mattermost peut être considéré comme un concurrent direct de MS Teams ou Slack à cet égard. Si vous êtes des utilisateurs du cloud tels qu'AWS, Google, Azure et d'autres, des images open source pré-construites sont disponibles avec eux pour installer et déployer Mattermost sur le cloud aussi rapidement que possible. Après l'installation, son interface Web est accessible à l'aide du navigateur ou des applications mobiles et de bureau sous Windows, Linux et Mac, iOS et Android.
Sous le nom d'Omnibus, le package publié par Mattermost, une pile complète du système de messagerie gratuit, peut être installé en quelques commandes seulement. En plus de Mattermost lui-même, l'administrateur peut configurer PostgreSQL en tant que base de données, Nginx en tant que serveur Web proxy et Certbot pour émettre et renouveler des certificats SSL en un rien de temps. Cependant, Omnibus est uniquement pour Debian basé sur le système et ne fonctionnera pas sur RHEL ou ses dérivés, nous devons donc configurer Mattermost sur Rocky Linux étape par étape.
Étapes pour installer Mattermost sur Rocky Linux 8
1. Exécutez la mise à jour du système
Tout d'abord, mettez à jour les packages existants disponibles sur votre Rocky Linux pour vous assurer que tout sera dans son dernier état.
sudo dnf update
2. Installer le serveur MySQL sur Rocky Linux
Si vous avez déjà installé un serveur avec la base de données MySQL, vous pouvez ignorer cette étape. Sinon, utilisez la commande ci-dessous pour installer le serveur MySQL sur Rocky Linux afin de stocker les données qui seront générées par Mattermost.
sudo dnf install mysql-server
Une fois l'installation terminée, assurez-vous que leservice MySQL est activé et en cours d'exécution…
sudo systemctl enable --now mysqld sudo systemctl start mysqld
Vérifier l'état-
sudo systemctl status mysqld
Sécurisez l'installation de votre serveur de base de données.
sudo mysql_secure_installation
Lorsque nous exécutons la commande ci-dessus, elle nous demandera de définir un mot de passe pour Mysql et de supprimer les autres éléments qui rendent la base de données vulnérable.
3. Créer une base de données pour Mattermost
Maintenant, connectons-nous à notre serveur MySQL et créons une base de données à utiliser plus tard avec l'installation de Mattermost.
Pour vous connecter en tant qu'utilisateur root, tapez-
mysql -u root -p
Créer une base de données :
Remplacez h2sdb avec le nom que vous souhaitez donner à votre base de données.
CREATE DATABASE h2sdb;
Ensuite, créez un utilisateur de base de données.
Ici h2suser le nom d'utilisateur et le pass est le mot de passe que nous avons utilisé pour cela. Vous pouvez modifier ces valeurs…
CREATE USER 'h2suser'@'localhost' IDENTIFIED BY 'pass';
Attribuer tous les droits de la base de données à l'utilisateur créé.
grant all privileges on h2sdb.* to h2suser@localhost;
Rechargez les tables de subvention et quittez-
flush privileges; exit;
4. Installez Mattermost Server sur Rocky Linux 8
Maintenant, téléchargeons la dernière version du serveur Mattermost à installer. Pour cela rendez-vous sur lesite officiel télécharger la page et copier la dernière URL de téléchargement du fichier tar et l'utiliser avec wget
commande sur votre terminal Rocky Linux pour l'obtenir. Lors de la rédaction de cet article, la dernière version disponible était la 5.34.2, si c'est la même chose dans votre cas, vous pouvez également utiliser la commande ci-dessous.
sudo dnf instal wget -y
wget https://releases.mattermost.com/5.34.2/mattermost-5.34.2-linux-amd64.tar.gz
Extraire et déplacez le fichier téléchargé vers /opt annuaire. Ainsi, nous ne le supprimerons pas accidentellement.
tar -xf mattermost-*-linux-amd64.tar.gz
sudo mv mattermost /opt
Créer un répertoire de données dans le dossier copié pour stocker les données-
sudo mkdir /opt/mattermost/data
5. Créer un utilisateur et un groupe
Pour des raisons de sécurité, nous allons créer un utilisateur et un groupe distincts pour Mattermost sur Rocky Linux. Il aura le droit de gérer et d'accéder aux services Mattermost.
Ajouter un utilisateur et un groupe appelé mattermost –
sudo useradd --system --user-group mattermost
Donnez à l'utilisateur nouvellement créé un droit de gérer le dossier copié dans /opt répertoire.
sudo chown -R mattermost:mattermost /opt/mattermost
Définissez les autorisations de lecture et d'écriture.
sudo chmod -R g+w /opt/mattermost
6. Configurer le pilote de base de données et la source de données dans
Modifiez le fichier de configuration et changez deux choses :le nom du pilote de la base de données et la source de données
sudo dnf install nano -y
sudo nano /opt/mattermost/config/config.json
Pilote de base de données :
Utilisez les touches fléchées de votre clavier et faites défiler jusqu'à ce que vous trouviez les valeurs DriverName sous Paramètres SQL. Par défaut, il sera défini pour PostgreSQL et si vous utilisez MySQL, changez-le en mysql
.
Définissez "Nom du pilote ” :”mysql ”
Ensuite, juste en dessous, vous trouverez la source de données ligne qui est-"postgres://mmuser:<mmuser-password>@<host-name-or-IP>:5432/mattermost?sslmode=disable&connect_timeout=10".
Modifier celui ci-dessous et remplacez également le gras texte
"mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Remplacer –
mmuser
– Avec votre utilisateur de base de données MySQL
mmuser-password-
Remplacez par le mot de passe de la base de données
<host-name-or-IP>
– Saisissez l'adresse IP de votre serveur de base de données . Si vous utilisez le même serveur pour la base de données Mattermost et MySQL, puis remplacez-la par localhost
ou 127.0.0.1
mattermost
– Supprimez-le tapez le nom de votre base de données.
Exemple – Si vous utilisez notre valeur de base de données MySQL, cette ligne de source de données ressemblera à ceci
"h2suser:pass@tcp(127.0.0.1:3306)/h2sdb?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"
Enregistrez et fermez le fichier en appuyant sur Ctrl+X , tapez o, et appuyez sur Entrée Clé.
Testez que tout fonctionne correctement
Basculez vers le répertoire le plus important et démarrez son serveur-
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Vous verrez un texte où le serveur écoute sur le port 8065 indiquant qu'il fonctionne et que le fichier de configuration est valide. Pour l'arrêter, appuyez sur Ctrl+C.
7. Créer un fichier de service des systèmes Mattermost sur Rocky Linux
Pour exécuter le service de cette plate-forme de messagerie gratuite en arrière-plan qui peut être arrêté ou démarrer à l'aide de la commande systemctl, créons un fichier de configuration pour le même.
sudo nano /etc/systemd/system/mattermost.service
Copiez le code ci-dessous.
[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 le fichier en appuyant sur ctrl+x puis tapez- Y et appuyez sur Entrée Clé.
Rendre le fichier exécutable-
sudo chmod 664 /etc/systemd/system/mattermost.service
Rechargez les services systemd-
sudo systemctl daemon-reload
8. Activer et démarrer son service
Maintenant, activez le fichier de service créé ci-dessus pour qu'il s'exécute avec le démarrage du système et démarrez-le également.
sudo systemctl enable mattermost.service
Démarrez-
sudo systemctl start mattermost.service
Vérifier l'état-
sudo systemctl status mattermost.service
Pour quitter- Ctrl+C
9. Accéder à l'interface Web de Mattermost
Si vous souhaitez accéder à ce serveur de chat en utilisant l'adresse IP, ouvrez d'abord le numéro de port 8065 sur votre Rocky Linux
sudo firewall-cmd --zone=public --add-port=8065/tcp
Maintenant, ouvrez votre navigateur Web et pointez-le vers l'adresse IP du serveur où vous avez installé le Mattermost. Par exemple, si l'adresse IP de votre serveur est 192.168.0.108, l'URL ressemblera à ceci-
192.168.0.108:8065
Vous trouverez ceci-
Entrez votre adresse e-mail et d'autres éléments pour créer un compte.
10 :Utilisez un domaine complet et un port 80/443
Il existe deux façons d'utiliser FQDn, cependant, les deux nécessitent d'abord le mappage du domaine avec l'adresse IP du serveur à l'aide du serveur DNS.
1ère méthode :
Si vous souhaitez utiliser le FQDn standard au lieu de l'adresse IP pour accéder au serveur, pointez d'abord le domaine vers l'adresse IP du service Mattermost, puis accédez à la console système et sélectionnez serveur Web .
Là, entrez le domaine ou l'URL du site Web que vous devez pointer vers son serveur. Et si vous ne souhaitez pas utiliser le numéro de port 8065 avec le domaine, remplacez-le par 80 ou 445.
Une fois défini, testez l'URL en direct. Si cela fonctionne correctement, vous pouvez utiliser l'option Let's Encrypt qui y est proposée pour obtenir le certificat SSL gratuit.
2ème méthode
Utilisation du proxy inverse Nginx
Bien que nous puissions pointer directement le nom de domaine vers l'adresse IP de votre serveur pour accéder à Mattermost en utilisant un domaine pleinement qualifié, cependant, pour améliorer la sécurité, installons Nginx en tant que proxy inverse.
sudo dnf install epel-release sudo dnf install nginx
Activer et démarrer
sudo systemctl enable --now nginx sudo systemctl start nginx
Créer un fichier de configuration
sudo nano /etc/nginx/conf.d/mattermost.conf
Collez le code ci-dessous et remplacez mattermost.how2shout.com avec le nom de domaine que vous souhaitez utiliser…
upstream backend { server 127.0.0.1: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.how2shout.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://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 fichier - Ctrl+X , appuyez sur Y, et appuyez sur Entrée clé.
Vérifier que le fichier de configuration fonctionne sans aucune erreur-
sudo nginx -t
Redémarrer le serveur Nginx
sudo systemctl restart nginx
Ouvrir les ports 80 et 443 sur le pare-feu du serveur
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Maintenant, si vous avez pointé votre domaine vers l'adresse IP du serveur, vous pourrez y accéder dans le navigateur. Cependant, une erreur de certificat SSL sera là. Ainsi, pour supprimer cette installation, utilisez Let's Encrypt.
Pour en savoir plus, consultez la documentation officielle de Mattermost.