Android

Comment déployer le plus important sur Ubuntu 18.04

How to Install Docker on Ubuntu 18.04 LTS

How to Install Docker on Ubuntu 18.04 LTS

Table des matières:

Anonim

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:

/opt/mattermost/config/config.json

"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:

sudo systemctl reload nginx

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 ubuntu