GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer le système de messagerie d'équipe Mattermost sur Debian 10

Mattermost est un système de messagerie open source écrit dans les langages de programmation Golang et React. C'est une alternative slack, nous pouvons l'utiliser pour créer notre propre service de messagerie comme slack ou hipchat avec.

Mattermost rassemble la communication de votre équipe en un seul endroit et la rend accessible partout. Vous pouvez y accéder depuis votre ordinateur de bureau, votre appareil Android et votre iPhone.

Dans ce didacticiel, nous allons vous montrer comment installer Mattermost sur Debian Buster 10. Nous allons installer Mattermost avec le serveur de base de données MySQL, le serveur Web Nginx et exécuter Mattermost en tant que service Systemd sur la dernière version Debian Buster 10.

Prérequis

Pour ce didacticiel, nous testerons l'installation de Mattermost sur Debian 10 avec 2 Go de RAM, 25 d'espace disque libre et 2 processeurs.

Qu'allons-nous faire ?

  • Installer le serveur MySQL
  • Créer une base de données MySQL pour Mattermost
  • Ajouter un utilisateur système et télécharger Mattermost
  • Configurer Mattermost
  • Configurer Mattermost en tant que service Systemd
  • Générer SSL Letsencrypt
  • Installer et configurer Nginx en tant que proxy inverse
  • Test

Étape 1 - Installer la base de données MySQL

Tout d'abord, nous allons installer le serveur MySQL 8.0 du référentiel officiel sur notre serveur Debian. Sp, nous allons ajouter le référentiel MySQL officiel et installer les packages MySQL.

Installez l'outil 'gnupg2' sur le serveur Debian en utilisant la commande apt ci-dessous.

sudo apt install curl wget gnupg2

Téléchargez et ajoutez le référentiel MySQL pour le système Debian à l'aide de la commande suivante.

wget https://dev.mysql.com/get/mysql-apt-config_0.8.13-1_all.deb
dpkg -i mysql-apt-config_0.8.13-1_all.deb

Maintenant, mettez à jour tous les référentiels Debian et installez les packages MySQL Server.

sudo apt update
sudo apt install mysql-server -y

Lors de l'installation du serveur MySQL, il vous sera demandé de configurer le mot de passe root pour votre serveur MySQL.

Tapez votre mot de passe root pour MySQL et répétez-le.

Une fois l'installation terminée, démarrez le service MySQL et ajoutez-le au

systemctl démarrer mysql
systemctl activer mysql

En conséquence, le serveur MySQL est maintenant installé sur Debian Buster 10. Et le mot de passe root pour le serveur MySQL a été configuré.

Étape 2 - Créer une base de données MySQL pour Mattermost

Par défaut, Mattermost prend en charge deux pilotes de base de données, les bases de données PostgreSQL et MySQL. Et pour ce tutoriel, nous utiliserons MySQL comme base de données par défaut pour Mattermost.

Dans cette étape, nous allons créer une nouvelle base de données et un nouvel utilisateur pour l'installation de Mattermost.

Connectez-vous au shell MySQL en utilisant votre utilisateur root et votre mot de passe comme ci-dessous.

mysql -u root -p

Créez maintenant une nouvelle base de données et un nouvel utilisateur pour Mattermost. Nous allons créer une nouvelle base de données 'mattermost' avec l'utilisateur 'mmuser' et le mot de passe 'mmuser-password'.

créer la base de données le plus important ;
créer un utilisateur [email protected] identifié par 'mmuser-password' ;
accorder tous les privilèges sur le plus important.* à [email protected] ;
vider les privilèges ;

Tapez maintenant 'exit' pour vous déconnecter du shell MySQL.

Et en conséquence, la base de données MySQL et l'utilisateur pour l'installation de Mattermost ont été créés.

Étape 3 - Ajouter un utilisateur et télécharger Mattermost

Dans cette étape, nous allons créer un nouvel utilisateur système et télécharger le code source de Mattermost. Le logiciel Mattermost fonctionnera sous l'utilisateur nommé 'mattermost', il sera installé dans le répertoire '/opt/mattermost'.

Créez un nouvel utilisateur système nommé "mattermost" à l'aide de la commande ci-dessous.

useradd --system --user-group important

Allez maintenant dans le répertoire '/opt' et téléchargez le code source de Mattermost à l'aide de la commande curl ci-dessous.

cd /opt/
curl -o mattermost.tar.gz https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz

Extrayez le code source de Mattermost et créez un nouveau répertoire 'data'.

tar -xf mattermost.tar.gz
mkdir -p /opt/mattermost/data

Après cela, changez la propriété du répertoire '/opt/mattermost' en l'utilisateur 'mattermost' et rendez-le accessible en écriture.

chown -R important:important /opt/important
chmod -R g+w /opt/important

En conséquence, l'utilisateur 'mattermost' a été créé et le code source Mattermost a été téléchargé dans le répertoire '/opt/mattermost'.

Étape 4 - Configurer Mattermost

Dans cette étape, nous allons configurer l'adresse d'écoute et la base de données Mattermost. Le service Mattermost fonctionnera sur l'adresse IP locale sur le port par défaut 8065 et utilisera MySQL comme système de base de données.

Allez dans le répertoire '/opt/mattermost' et modifiez le fichier de configuration 'config.json' dans le répertoire 'config'.

cd /opt/mattermost/
vim config/config.json

Sur l'option 'ListenAddress', changez l'adresse IP en '127.0.0.1'.

    "ListenAddress":"127.0.0.1:8065",

Un 'SqlSettings', changez le DriverName en 'mysql' et changez le 'DataSource' avec la base de données MySQL et l'utilisateur que nous avons créé.

  "SqlSettings":{
    "DriverName":"mysql",
    "DataSource":"dbuser :[email protected](localhost:3306)/dbname?charset=utf8mb4,utf8\u0026readTimeout =30s\u0026writeTimeout=30s",    

Enregistrez et fermez.

Ensuite, initialisez l'installation de Mattermost à l'aide de la commande suivante.

sudo -u important ./bin/important

Vous trouverez ci-dessous le résultat que vous obtiendrez.

En conséquence, le Mattermost est opérationnel sur l'adresse IP locale '127.0.0.1' avec le port '8065', appuyez maintenant sur le bouton 'Ctrl+c' pour quitter.

Étape 5 - Configurer Mattermost en tant que service

Dans cette étape, nous allons configurer Mattermost en tant que service systemd, et il s'exécutera automatiquement au démarrage du système après l'exécution du service de base de données MySQL.

Allez maintenant dans le répertoire '/lib/systemd/system' et créez un nouveau fichier de service 'mattermost.service'.

cd /lib/systemd/system/
vim mattermost.service

Collez-y maintenant la configuration suivante.

[Unité]
Description=Mattermost
Après=network.target
Après=mysql.service
Requires=mysql.service

[Service ]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/ opt/mattermost
Utilisateur=mattermost
Groupe=mattermost
LimitNOFILE=49152

[Installer]
WantedBy=multi-user.target

Enregistrez et fermez.

Ensuite, rechargez le gestionnaire systemd sur le système Debian.

rechargement du démon systemctl

Après cela, démarrez le service Mattermost et ajoutez-le au démarrage du système.

systemctl démarrer le plus important
systemctl activer le plus important

Le service Mattermost est opérationnel, vérifiez-le à l'aide de la commande suivante.

le statut de systemctl est le plus important

Vous trouverez ci-dessous le résultat que vous obtiendrez.

Par conséquent, le service Mattermost est opérationnel sur le système Debian et s'exécutera automatiquement au démarrage du système.

Étape 6 - Installer Certbot Letsencrypt

Dans cette étape, nous allons installer l'outil certbot et générer le SSL Letsencrypt. Nous sécuriserons l'installation de Mattermost en utilisant le SSL de Letsencrypt.

Installez l'outil certbot à l'aide de la commande apt ci-dessous.

sudo apt install certbot

Une fois l'installation terminée, générez le SSL letsencrypt à l'aide de la commande certbot ci-dessous.

certbot certonly --standalone --agree-tos -m [email protected] -d mattermost.hakase-labs.io

En conséquence, vos certificats SSL seront générés dans le répertoire '/etc/letsencrypt/live/mattermost-hakase-labs.io'.

Étape 7 - Installer et configurer Nginx en tant que proxy inverse

Dans cette étape, nous allons installer le serveur Web Nginx et le configurer en tant que proxy inverse pour le service Mattermost.

Installez Nginx à l'aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l'installation terminée, démarrez le service Nginx et ajoutez-le au démarrage du système.

systemctl démarrer nginx 
systemctl activer nginx

Le serveur Web Nginx est opérationnel.

Ensuite, allez dans le répertoire de configuration '/etc/nginx' et créez une nouvelle configuration d'hôte virtuel pour la plupart.

cd /etc/nginx/
vim sites-available/mattermost

Modifiez le nom de domaine et le chemin des certificats SSL par les vôtres, puis collez-y la configuration.

backend en amont {
   serveur 127.0.0.1:8065 ;
   keepalive 32 ;
}

proxy_cache_path /var/cache/nginx niveaux=1:2 keys_zone =mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off ;

serveur {
   écoute         80 ;
   nom_serveur    edu.initrc.fun ;
   return         301 https ://$server_name$request_uri ;
}
 
server {
    listen 443 ssl http2 ;
    server_name    edu.initrc.fun

    ssl sur ;
    certificat_ssl /etc/letsencrypt/live/edu.initrc.fun/fullchain.pem ;
    clé_certificat_ssl /etc/letsencrypt/live/edu.initrc.fun/privkey.pem ;
ssl_session_timeout 1d ;
    ssl_protocols TLSv1.2 ;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA- CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE- RSA-AES128-SHA256 ';
    ssl_prefer_server_ciphers sur ;
    ssl_session_cache partagé :SSL :50 m ;
    # HSTS (ngx_http_headers_module est requis) (15768000 secondes =6 mois)
    add_header Strict-Transport-Security max- age=15768000 ;
    # Agrafage OCSP ---
    # Récupérer les enregistrements OCSP à partir de l'URL dans ssl_certificate et les mettre en cache
    ssl_stapling activé ;
    ssl_stapling_verify activé ;

   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 Hôte $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 16 k ;
       proxy_buffer_size 16 k ;
       client_body_timeout 60 ;
       se nd_timeout 300 ;
       lingering_timeout 5 ;
       proxy_connect_timeout 90 ;
       proxy_send_timeout 300 ;
       proxy_read_timeout 90 s ;
       proxy_pass http://backend ;
   }

   emplacement / {
       client_max_body_size 50 M ;
       proxy_set_header Connexion "" ;
       proxy_set_header Hôte $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_buffer_size 16k;
       proxy_buffer_size 16k; br />       proxy_read_timeout 600 s ;
       proxy_cache mattermost_cache ;
       proxy_cache_revalidate on ;
       proxy_cache_min_uses 2 ;
       timeout proxy_cache_use_stale ;
        proxy version 1. http  lock on ;
/>       proxy_pass http://backend;
   }
}

Enregistrez et fermez.

Ensuite, créez le répertoire de cache Nginx et changez la propriété de ce répertoire en utilisateur par défaut "www-data".

mkdir -p /var/cache/nginx
chown -R www-data:www-data /var/cache/nginx

Après cela, activez l'hôte virtuel Mattermost, puis testez la configuration nginx et assurez-vous qu'il n'y a pas d'erreur.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/
nginx -t

Redémarrez maintenant le service Nginx à l'aide de la commande systemctl ci-dessous.

systemctl redémarrer nginx

En conséquence, l'installation et la configuration de Nginx en tant que proxy inverse pour Mattermost sont terminées. Et nous sommes prêts à tester l'installation de Mattermost.

Étape 8 - Tester

Ouvrez votre navigateur Web et saisissez le nom de domaine de votre URL d'installation Mattermost dans la barre d'adresse. Le mien est :

https://mattermost.hakase-labs.io/

Vous devez maintenant créer un nouveau premier compte de Mattermost, ce sera l'administrateur de Mattermost.

Saisissez les détails de votre nom d'utilisateur, de votre adresse e-mail et de votre mot de passe, puis cliquez sur le bouton "Créer un compte".

Créez une nouvelle première équipe sur Mattermost.

Tapez le nom de votre première équipe et cliquez sur "Suivant".

Et l'URL de l'équipe sera le nom de l'équipe, cliquez sur "Terminer" pour continuer.

Et vous rejoindrez automatiquement le canal par défaut "Hors-sujet" et "Place de la ville".

En conséquence, l'installation de Mattermost sur Debian Buster 10 avec la base de données MySQL et le serveur Web Nginx s'est terminée avec succès.


Debian
  1. Comment installer MySQL 8.0 / 5.7 sur Debian 11 / Debian 10

  2. Comment installer Gradle sur Debian 10

  3. Comment installer AnyDesk sur Debian 10

  4. Comment installer MySQL sur Debian 11

  5. Comment installer MySQL Workbench sur Debian 11

Comment installer MySQL 8 sur Debian 10

Comment installer PostgreSQL 14 sur Debian 11

Comment installer LAMP (Apache, MySQL, PHP) sur Debian 10

Comment installer Webmin sur Debian 11

Comment installer Mattermost sur Debian 11

Comment installer Mattermost sur Debian 11