GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer Mattermost sur Ubuntu 18.04

Dans cet article, nous aurons expliqué les étapes nécessaires pour installer et configurer Mattermost sur Ubuntu 18.04 LTS. Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec des privilèges sudo. Toutes les commandes de ce didacticiel doivent être exécutées en tant qu'utilisateur non root.

Mattermost est une plate-forme open source écrite en React et Golang. Il peut être utilisé comme plate-forme de messagerie alternative et utilise la base de données PostgreSQL ou MySQL dans le backend. La fonction principale de Mattermost est de rassembler la communication d'équipe et d'offrir plusieurs fonctionnalités telles que le partage de fichiers, les emojis personnalisés, les appels vidéo, la messagerie (individuelle ou de groupe), etc.

Installer Mattermost sur Ubuntu 18.04

Étape 1. Tout d'abord, avant de commencer à installer un package sur votre serveur Ubuntu, nous vous recommandons de toujours vous assurer que tous les packages système sont mis à jour.

sudo apt update
sudo apt upgrade

Étape 2. Installez la base de données MySQL.

Installation du package MySQL avec la commande suivante :

sudo apt install mysql-server

Le package serveur MySQL est fourni avec un script appelé mysql_secure_installation qui peut effectuer plusieurs opérations liées à la sécurité. Exécutez le script en tapant :

sudo mysql_secure_installation

Ensuite, créez une nouvelle base de données et un nouvel utilisateur pour notre installation Mattermost avec :

$ mysql -u root
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO [email protected] IDENTIFIED BY 'PassWD';

Maintenant, créez un nouvel utilisateur système et un groupe pour le bien de l'instance Mattermost. Dans ce cas, nous nommerons notre utilisateur important :

sudo useradd -U -M -d /opt/mattermost mattermost

Étape 3. Installez Mattermost sur Ubuntu.

Tout d'abord, téléchargez la dernière version stable de Mattermost :

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
sudo mkdir -p /opt/mattermost/data

Assurez-vous de changer la propriété du répertoire pour l'utilisateur le plus important :

sudo chown -R mattermost: /opt/mattermost

Ensuite, ouvrez le fichier /opt/mattermost/config/config.json, définissez le pilote de base de données sur mysql et entrez les informations de la base de données :

nano /opt/mattermost/config/config.json
"SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Maintenant, nous devons tester si le serveur Mattermost fonctionne correctement. Pour cela, allez dans le répertoire /opt/mattermost puis exécutez la commande ci-dessous pour démarrer le serveur :

cd /opt/mattermost
sudo -u mattermost bin/mattermost

Étape 4. Création d'une unité Systemd.

Nous allons créer un fichier unité mattermost.service dans le répertoire /etc/systemd/system/ :

nano /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service

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

[Install]
WantedBy=mysql.service

Redémarrez ensuite le service Mattermost à l'aide des commandes ci-dessous :

sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost

Étape 5. Configurez un proxy inverse à l'aide de Nginx.

Si vous n'avez pas installé nginx, suivez ce tutoriel. Nous devons maintenant configurer un nouveau bloc de serveur pour l'instance Mattermost :

nano /etc/nginx/conf.d/example.com.conf
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

upstream mattermost_backend {
  server 127.0.0.1:8065;
}

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

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    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;
       proxy_read_timeout 600s;
       proxy_pass http://mattermost_backend;
    }

    location / {
       proxy_http_version 1.1;
       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_pass http://mattermost_backend;
    }
}

Étape 6. Accéder à Mattermost.

Pour configurer le service Mattermost, accédez à votre navigateur et entrez le nom de domaine où vous serez redirigé vers la page d'inscription.

C'est tout ce que vous avez à faire pour installer Mattermost sur Ubuntu 18.04. J'espère que vous trouverez cette astuce rapide utile. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire ci-dessous.


Ubuntu
  1. Comment installer Docker sur Ubuntu 18.04

  2. Comment installer Apache sur Ubuntu 18.04

  3. Comment installer MariaDB 10.4 sur Ubuntu 18.04

  4. Comment installer MongoDB sur Ubuntu 18.04

  5. Comment installer Jenkins sur Ubuntu 18.04

Comment installer Tomcat 8.5 sur Ubuntu 18.04

Comment installer Asterisk sur Ubuntu 18.04

Comment installer Tomcat 9 sur Ubuntu 18.04

Comment installer Webmin sur Ubuntu 18.04

Comment installer Kodi sur Ubuntu 18.04

Comment installer Mattermost sur Ubuntu 18.04 LTS