Dans ce didacticiel, nous allons vous montrer comment installer Mattermost sur CentOS 8. Pour ceux d'entre vous qui ne le savaient pas, Mattermost est une alternative open-source et privée à Slack. système de messagerie pour le Web, les PC et les téléphones, publié sous licence MIT. En tant qu'alternative à la messagerie SaaS propriétaire, Mattermost rassemble toutes les communications de votre équipe en un seul endroit, ce qui les rend consultables et accessibles partout. Mattermost est "compatible avec Slack, pas Slack -limited", prenant en charge un sur-ensemble d'intégrations de webhooks entrants et sortants de Slack, y compris la compatibilité avec les intégrations Slack existantes. À partir de vos équipes Slack existantes, vous pouvez importer des utilisateurs, l'historique des chaînes publiques et même des couleurs de paramétrage de thème dans Mattermost.
Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo
‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer l'installation étape par étape de Mattermost sur un CentOS 8.
Prérequis
- Un serveur exécutant l'un des systèmes d'exploitation suivants :CentOS 8.
- Il est recommandé d'utiliser une nouvelle installation du système d'exploitation pour éviter tout problème potentiel.
- Un
non-root sudo user
ou l'accès à l'root user
. Nous vous recommandons d'agir en tant qu'non-root sudo user
, cependant, car vous pouvez endommager votre système si vous ne faites pas attention lorsque vous agissez en tant que root.
Installer Mattermost sur CentOS 8
Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.
sudo dnf clean all sudo dnf install epel-release sudo dnf update
Étape 2. Installation du serveur de base de données.
Exécutez la commande suivante pour installer MariaDB :
sudo dnf install mariadb-server
Par défaut, MariaDB n'est pas renforcée. Vous pouvez sécuriser MariaDB à l'aide de mysql_secure_installation
scénario. vous devez lire attentivement et en dessous de chaque étape qui définira un mot de passe root, supprimera les utilisateurs anonymes, interdira la connexion root à distance et supprimera la base de données de test et l'accès à MariaDB sécurisé :
mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. ... Success! Remove anonymous users? [Y/n] y ... Success! Disallow root login remotely? [Y/n] y ... Success! Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reload privilege tables now? [Y/n] y ... Success! Cleaning up... Thanks for using MariaDB!
Ensuite, redémarrez le serveur de base de données MariaDB et activez-le pour qu'il démarre au démarrage du système en utilisant :
sudo systemctl restart mariadb sudo systemctl status mariadb sudo systemctl enable mariadb
Après l'installation de la base de données, connectez-vous au shell MariaDB et créez une base de données et un utilisateur pour Mattermost :
$ mysql -u root -p CREATE DATABASE mattermost; GRANT ALL PRIVILEGES ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'Your-Strong-Passwd'; FLUSH PRIVILEGES; QUIT;
Étape 3. Installer Mattermost sur CentOS 8.
Tout d'abord, vous devrez créer un utilisateur distinct pour exécuter Mattermost. Vous pouvez le créer avec la commande suivante :
sudo useradd -d /opt/mattermost -U -M mattermost
Ensuite, téléchargez la dernière version de Mattermost :
wget https://releases.mattermost.com/5.20.2/mattermost-5.20.2-linux-amd64.tar.gz
Décompressez l'archive Mattermost dans le répertoire racine du document sur votre serveur :
tar xf *.gz mv mattermost /opt/
Créez le répertoire de stockage des fichiers :
mkdir /opt/mattermost/data
Définissez également la propriété et les autorisations :
sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
Ensuite, nous devrons configurer le pilote de base de données dans le fichier /opt/mattermost/config/config.json
en apportant quelques modifications à son contenu. Recherchez "nom du conducteur ” et “Source de données ” lignes et modifiez-les comme suit :
nano /opt/mattermost/config/config.json
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:Str0ngP@ss@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", "DataSourceReplicas": [], "DataSourceSearchReplicas": [], "MaxIdleConns": 20, "ConnMaxLifetimeMilliseconds": 3600000, "MaxOpenConns": 300, "Trace": false, "AtRestEncryptKey": "myyti1r597i99qrk7eu91ywqhaawz4md", "QueryTimeout": 30 },
Enregistrez et fermez le fichier. Ensuite, changez le répertoire en /opt/mattermost
et démarrez le serveur Mattermost avec la commande suivante :
cd /opt/mattermost sudo -u mattermost ./bin/mattermost
Étape 4. Configurez le service Mattermost Systemd.
Tout d'abord, nous allons créer un nouveau systemd
fichier unité à l'aide de la commande suivante :
nano /etc/systemd/system/mattermost.service
[Unit] Description=Mattermost After=syslog.target network.target mariadb.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/run/mattermost.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Ensuite, démarrez le service Mattermost et activez-le après le redémarrage du système avec la commande suivante :
sudo systemctl daemon-reload sudo systemctl start mattermost.service sudo systemctl enable mattermost.service
Vérifiez que Mattermost s'exécute et écoute sur le port 8065. Vous pouvez le vérifier avec la commande suivante :
curl http://localhost:8065
Étape 5. Configurer Nginx avec Mattermost.
Installez et configurez Nginx en tant que proxy inverse pour de meilleures performances et une meilleure sécurité. Nous installons maintenant Nginx sur le système CentOS :
sudo dnf install nginx
Après avoir installé le serveur Web Nginx, démarrez le service Nginx et activez-le après le redémarrage du système avec la commande suivante :
sudo systemctl start nginx sudo systemctl enable nginx
Ensuite, configurez le serveur Web Nginx en tant que proxy pour Mattermost :
sudo nano /etc/nginx/conf.d/mattermost.conf
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.example.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; } }
Enfin, redémarrez le service Nginx pour appliquer les modifications :
nginx -t sudo systemctl restart nginx
Étape 6. Configurez le pare-feu.
Autoriser l'accès au pare-feu sur les ports HTTP et HTTPS :
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
Étape 7. Accéder à l'interface Web de Mattermost.
Mattermost sera disponible sur le port HTTP 80 par défaut. Ouvrez votre navigateur préféré et accédez à http://mattermost.example.com
et continuez à configurer Mattermost en saisissant une adresse e-mail et en créant un compte.
Félicitations ! Vous avez installé Mattermost avec succès. Merci d'avoir utilisé ce didacticiel pour installer Mattermost sur le système CentOS 8. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le site Web officiel de Mattermost.