How to Install Docker on Ubuntu 18.04 LTS
Table des matières:
- Conditions préalables
- Créer une base de données MySQL
- Créer un nouvel utilisateur système
- Installer le serveur Mattermost
- Créer une unité Systemd
- Configurer un proxy inverse avec Nginx
- Configuration de Mattermost
- Conclusion
Mattermost est une plate-forme de messagerie instantanée de niveau entreprise, une alternative Slack auto-hébergée open source. Il est écrit en Golang et React et peut utiliser MySQL ou PostgreSQL comme backend de base de données. Mattermost rassemble toutes vos communications d'équipe en un seul endroit et offre diverses fonctionnalités, notamment le partage de fichiers, la messagerie individuelle et de groupe, les emojis personnalisés, les appels vidéo et plus encore.
Dans ce tutoriel, nous allons installer Mattermost sur un serveur Ubuntu 18.04 et configurer Nginx comme proxy inverse SSL.
Conditions préalables
Assurez-vous que vous avez rempli les conditions préalables suivantes avant de poursuivre ce didacticiel:
- Vous êtes connecté en tant qu'utilisateur avec les privilèges sudo. Vous avez un nom de domaine pointant vers l'adresse IP de votre serveur. nous utiliserons
example.com
Vous avez installé Nginx, sinon consultez ce guide. Vous avez un certificat SSL installé pour votre domaine. Vous pouvez installer un certificat SSL Let's Encrypt gratuit en suivant ce guide.
Créer une base de données MySQL
Nous utiliserons MySQL comme base de données pour Mattermost. Si MySQL ou MariaDB n'est pas installé sur votre serveur, vous pouvez l'installer en suivant ces instructions.
Connectez-vous au shell MySQL:
mysql -u root
Créez une nouvelle base de données et un nouvel utilisateur pour notre installation Mattermost avec:
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Assurez-vous que vous utilisez un mot de passe plus sûr que
P4ssvv0rD
.
Créer un nouvel utilisateur système
Créez un nouvel utilisateur et groupe qui exécutera notre instance Mattermost. Nous nommerons l'utilisateur le plus
mattermost
:
sudo useradd -U -M -d /opt/mattermost mattermost
Installer le serveur Mattermost
Au moment de la rédaction de cet article, la dernière version stable de Mattermost est la version 5.1.0. Téléchargez l'archive avec la commande curl suivante:
sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
Une fois le téléchargement terminé, extrayez l'archive et déplacez-la dans le répertoire
/opt
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
Créez le répertoire de stockage des fichiers:
sudo mkdir -p /opt/mattermost/data
Changez la propriété de l'annuaire pour l'utilisateur le plus important:
sudo chown -R mattermost: /opt/mattermost
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:
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s",
Pour nous assurer que notre instance Mattermost fonctionne comme prévu, nous testerons le serveur Mattermost. Accédez au répertoire
/opt/mattermost
et démarrez le serveur avec les commandes suivantes:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Si tout fonctionne bien, le serveur démarrera et la sortie ressemblera à ceci:
{"level":"info", "ts":1532546921.941638, "caller":"app/server.go:115", "msg":"Starting Server…"} {"level":"info", "ts":1532546921.9421031, "caller":"app/server.go:154", "msg":"Server is listening on:8065"} {"level":"info", "ts":1532546921.9541554, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"}
Nous pouvons maintenant arrêter le serveur Mattermost avec
CTRL+C
et continuer avec les étapes suivantes.
Créer une unité Systemd
Afin d'exécuter notre instance Mattermost en tant que service, nous allons créer un fichier d'unité
mattermost.service
dans le répertoire
/etc/systemd/system/
.
Ouvrez votre éditeur de texte et créez le fichier suivant:
/etc/systemd/system/mattermost.service
Description=Mattermost After=network.target After=mysql.service Requires=mysql.service Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 WantedBy=mysql.service
Informez systemd que nous avons créé un nouveau fichier d'unité et démarrez le service Mattermost avec les commandes suivantes:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Nous pouvons maintenant vérifier l'état du service avec:
sudo systemctl status mattermost
● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; ven Active: active (running) since Wed 2018-07-25 18:39:05 UTC; 41s ago Main PID: 3091 (mattermost) Tasks: 18 (limit: 507) CGroup: /system.slice/mattermost.service ├─3091 /opt/mattermost/bin/mattermost
S'il n'y a aucune erreur, activez le service Mattermost pour qu'il démarre automatiquement au démarrage:
sudo systemctl enable mattermost
Configurer un proxy inverse avec Nginx
Nous devons maintenant configurer un nouveau bloc serveur pour l'instance Mattermost. Ouvrez votre éditeur de texte et créez le fichier suivant:
/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+/(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; } }
Rechargez le service Nginx pour que les modifications prennent effet:
Configuration de Mattermost
Ouvrez votre navigateur, saisissez votre domaine et vous serez redirigé vers la page sugnup.
Saisissez votre adresse e-mail, choisissez un nom d'utilisateur et un mot de passe et cliquez sur le bouton
Create Account
pour créer votre premier compte.
Vous pouvez utiliser tous les services de messagerie transactionnelle populaires tels que SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet et Postmark ou vous pouvez configurer votre propre serveur de messagerie en suivant ce didacticiel.
Enfin, nous devons redémarrer le service Mattermost pour que les modifications prennent effet:
sudo systemctl restart mattermost
Conclusion
Vous avez correctement installé Mattermost sur votre serveur Ubuntu 18.04 et configuré Nginx comme proxy inverse. Vous pouvez maintenant commencer à utiliser Mattermost pour collaborer avec votre équipe.
rocketchat nodejs ubuntuComment déployer Odoo 11 sur Ubuntu 18.04
Ce guide couvre les étapes nécessaires pour installer et configurer Odoo pour la production en utilisant la source Git et l'environnement virtuel Python sur un système Ubuntu 18.04.
Comment déployer Odoo 12 sur Ubuntu 18.04
Ce didacticiel couvre les étapes requises pour installer et configurer Odoo 12 pour la production à l'aide de la source Git et de l'environnement virtuel Python sur un système Ubuntu 18.04.
Comment déployer le plus important sur Centos 7
Mattermost rassemble toutes les communications de votre équipe en un seul endroit et fournit diverses fonctionnalités, notamment le partage de fichiers, la messagerie individuelle et de groupe, les emojis personnalisés, les appels vidéo et plus encore.