GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Mattermost sur Alma Linux 8

Mattermost est une plateforme gratuite, open source et sécurisée pour la communication, la collaboration et l'orchestration des flux de travail entre les outils et les équipes. Il s'agit d'un service de chat auto-hébergé conçu pour les organisations et les entreprises afin de mettre en place un service de chat interne. Il offre plusieurs fonctionnalités utiles, notamment la messagerie individuelle, l'historique de recherche illimité, le partage de fichiers, l'authentification à deux facteurs, les notifications, etc. Si vous cherchez une solution alternative pour Slack, alors Mattermost est le meilleur choix pour vous.

Dans ce tutoriel, nous allons vous montrer comment installer Mattermost avec Nginx sur Alma Linux 8.

Prérequis

  • Un serveur exécutant Alma Linux 8.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer le serveur MySQL

Mattermost utilise MySQL comme backend de base de données. MySQL doit donc être installé sur votre serveur. Vous pouvez l'installer en exécutant la commande suivante :

dnf install mysql-server -y

Une fois le serveur MySQL installé, démarrez et activez le service MySQL avec la commande suivante :

systemctl start mysqld
systemctl enable mysqld

Maintenant, vous pouvez sécuriser l'installation de MySQL en exécutant le script suivant :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous pour définir le mot de passe root MySQL et sécuriser l'installation :

Press y|Y for Yes, any other key for No: N
Please set the password for root here.
New password: 
Re-enter new password: 
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Créer une base de données pour Mattermost

Ensuite, vous devrez créer une base de données et un utilisateur pour Mattermost. Tout d'abord, connectez-vous à MySQL avec la commande suivante :

mysql -u root -p

Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :

mysql> CREATE DATABASE matterdb;
mysql> CREATE USER 'matteruser'@'localhost' IDENTIFIED BY 'password';

Ensuite, accordez tous les privilèges à la base de données Mattermost :

mysql> GRANT ALL PRIVILEGES ON matterdb.* TO [email protected];

Ensuite, videz les privilèges et quittez MySQL avec la commande suivante :

mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Installer Mattermost sur Alma Linux 8

Commencez par créer un utilisateur dédié pour exécuter Mattermost à l'aide de la commande suivante :

useradd --system --user-group mattermost

Ensuite, téléchargez la dernière version de Mattermost à l'aide de la commande suivante :

wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar -xf mattermost-6.0.2-linux-amd64.tar.gz

Ensuite, déplacez le répertoire extrait vers le /opt :

mv mattermost /opt

Ensuite, créez un répertoire de données pour Mattermost et modifiez la propriété et l'autorisation de Mattermost :

mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Modifiez ensuite le fichier de configuration de Mattermost :

nano /opt/mattermost/config/config.json

Définissez l'URL de votre site Web Mattermost comme indiqué ci-dessous :

    "SiteURL": "http://mattermost.example.com",

Ensuite, recherchez les lignes suivantes :

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:[email protected]/mattermost_test?sslmode=disable\u0026connect_timeout=10",

Et les remplacer par les lignes suivantes :

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer un fichier de service Systemd pour Mattermost

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Mattermost. Vous pouvez le créer en exécutant la commande suivante :

nano /etc/systemd/system/mattermost.service

Ajoutez les lignes suivantes :

[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 et fermez le fichier puis rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarrez le service Mattermost et activez-le au redémarrage du système :

systemctl start mattermost
systemctl enable mattermost

Vous pouvez maintenant vérifier l'état du service Mattermost avec la commande suivante :

systemctl status mattermost

Vous obtiendrez le résultat suivant :

? mattermost.service - Mattermost
   Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:12:29 UTC; 7s ago
 Main PID: 15201 (mattermost)
    Tasks: 32 (limit: 11411)
   Memory: 265.2M
   CGroup: /system.slice/mattermost.service
           ??15201 /opt/mattermost/bin/mattermost
           ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
           ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64
           ??15308 plugins/playbooks/server/dist/plugin-linux-amd64
           ??15313 plugins/focalboard/server/dist/plugin-linux-amd64

Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>
Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n    -- collation of mattermost>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>
Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>
Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost.
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065>
Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>

À ce stade, Mattermost est démarré et s'exécute sur le port 8065. Vous pouvez le vérifier avec la commande suivante :

ss -antpl | grep 8065

Vous obtiendrez le résultat suivant :

LISTEN 0      128                *:8065             *:*    users:(("mattermost",pid=15201,fd=35))                   

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer Nginx en tant que proxy inverse pour Mattermost

Il est recommandé d'installer et de configurer Nginx en tant que proxy inverse pour Mattermost. Pour ce faire, vous devrez installer le serveur Nginx sur votre serveur. Vous pouvez l'installer en exécutant la commande suivante :

dnf install nginx -y

Une fois le Nginx installé, créez un fichier de configuration d'hôte virtuel Nginx avec la commande suivante :

nano /etc/nginx/conf.d/mattermost.conf

Ajoutez les lignes suivantes :

 server {
        listen       80;
        server_name  mattermost.example.com;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
	proxy_pass http://localhost:8065/;
            index  index.html index.htm;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

Enregistrez et fermez le fichier puis vérifiez le Nginx pour toute erreur de configuration :

nginx -t

Si tout va bien, vous obtiendrez le résultat suivant :

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Maintenant, démarrez et activez le service Nginx pour qu'il démarre au redémarrage du système :

systemctl start nginx
systemctl enable nginx

Vous pouvez vérifier l'état du Nginx à l'aide de la commande suivante :

systemctl status nginx

Vous obtiendrez le résultat suivant :

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-01-15 14:14:05 UTC; 7s ago
  Process: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 15358 (nginx)
    Tasks: 2 (limit: 11411)
   Memory: 3.8M
   CGroup: /system.slice/nginx.service
           ??15358 nginx: master process /usr/sbin/nginx
           ??15359 nginx: worker process

Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Succeeded.
Jan 15 14:14:05 almalinux8 systemd[1]: Stopped The nginx HTTP and reverse proxy server.
Jan 15 14:14:05 almalinux8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 15 14:14:05 almalinux8 nginx[15354]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 15 14:14:05 almalinux8 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jan 15 14:14:05 almalinux8 systemd[1]: Started The nginx HTTP and reverse proxy server.

À ce stade, Nginx est installé et configuré pour servir Mattermost. Vous pouvez maintenant passer à l'étape suivante.

Configurer le pare-feu

Ensuite, vous devrez autoriser le port 80 à travers le pare-feu. Vous pouvez l'autoriser en exécutant la commande suivante :

firewall-cmd --add-service=http --permanent

Ensuite, rechargez le pare-feu pour appliquer les modifications :

firewall-cmd --reload

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'interface utilisateur Web de Mattermost

Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web de Mattermost à l'aide de l'URL http://mattermost.example.com . Vous serez redirigé vers l'écran suivant :

Indiquez votre adresse e-mail, votre nom d'utilisateur administrateur, votre mot de passe et cliquez sur Créer Compte bouton. Vous obtiendrez l'écran suivant :

Cliquez sur Créer un équipe . Vous obtiendrez l'écran suivant :

Indiquez le nom de votre équipe et cliquez sur Suivant bouton. Vous obtiendrez l'écran suivant :

Fournissez l'URL de votre équipe Mattermost et cliquez sur Terminer bouton. Vous obtiendrez le tableau de bord Mattermost sur l'écran suivant :

Conclusion

Dans le guide ci-dessus, vous avez appris comment installer le service de chat Mattermost avec Nginx sur Alma Linux 8. Vous pouvez maintenant implémenter Mattermost dans votre organisation et commencer à l'utiliser comme chat interne. N'hésitez pas à me demander si vous avez des questions.


Linux
  1. Comment installer MySQL 5.7 sur Amazon Linux

  2. Comment installer Mysql 8 sur Rocky Linux/Centos 8

  3. Comment installer Erlang sur Rocky Linux/Alma Linux/CentOS 8

  4. Comment installer FFmpeg sur Rocky Linux/Alma Linux 8

  5. Comment installer MySQL sur Linux Mint 19

Comment installer Rabbitmq dans Rocky Linux/Alma Linux/Centos 8

Comment installer Mattermost sur Rocky Linux 8

Comment installer Mattermost sur CentOS 7

Comment installer MySQL 8.0 sur Rocky Linux 8

Comment installer OpenLiteSpeed ​​Webserver sur Alma Linux 8

Comment installer Mattermost sur Rocky Linux 8