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.