Android

Comment déployer le plus important sur Centos 7

Using bbb-install.sh to install BigBlueButton 2.0 in about 15 minutes

Using bbb-install.sh to install BigBlueButton 2.0 in about 15 minutes

Table des matières:

Anonim

Mattermost est une plate-forme de messagerie instantanée open source, une alternative Slack auto-hébergée. Il est écrit en Golang et React et peut utiliser MySQL ou PostgreSQL comme backend de base de données. 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. Dans ce didacticiel, nous vous montrerons comment déployer Mattermost sur un serveur CentOS 7 et configurer Nginx en tant que 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 linuxize-test.com Vous avez Nginx installé, 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 MariaDB 10.3 comme back-end de base de données. Mattermost ne fonctionnera pas avec MariaDB version 5.5.

Connectez-vous au shell MySQL:

mysql -u root -p

Et exécutez les commandes suivantes pour créer une nouvelle base de données et un nouvel utilisateur pour notre installation Mattermost:

create database mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';

Créer un nouvel utilisateur système

Pour créer un nouvel utilisateur et groupe nommé mattermost , qui exécutera l'installation Mattermost, exécutez la commande suivante:

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.4.0. Avant de passer à l'étape suivante, vous devriez vérifier la page de téléchargement de Mattermost pour voir si une version plus récente est disponible.

Téléchargez l'archive avec la commande curl suivante:

sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.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 /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 config.json avec votre éditeur de texte préféré:

sudo nano /opt/mattermost/config/config.json

Définissez le pilote de base de données sur mysql , entrez le nom de la base de données et le mot de passe de l'utilisateur de la base de données que nous avons créés précédemment dans ce didacticiel:

/opt/mattermost/config/config.json

… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…

Afin de tester notre installation pour vous assurer que tout fonctionne avant de créer l'unité systemd et de configurer un proxy inverse avec Nginx, nous allons démarrer le serveur Mattermost.

Accédez au répertoire /opt/mattermost et démarrez le serveur:

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

La sortie doit montrer que le serveur Mattermost écoute sur le port 8065 :

{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}

Vous pouvez maintenant arrêter le serveur Mattermost avec CTRL+C et passer aux é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/ avec le contenu suivant:

/etc/systemd/system/mattermost.service

Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target

Informez systemd que nous avons créé un nouveau fichier d'unité et démarrez le service Mattermost en exécutant:

sudo systemctl daemon-reload sudo systemctl start mattermost

Nous pouvons maintenant vérifier l'état du service avec la commande suivante:

sudo systemctl status mattermost

● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost

Enfin, activez le service Mattermost pour qu'il démarre automatiquement au démarrage:

sudo systemctl enable mattermost

Configurer un proxy inverse avec Nginx

/etc/nginx/conf.d/linuxize-test.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 linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.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 créez votre premier compte:

et entrez vos paramètres SMTP. 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.

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 CentOS 7 et configuré Nginx en tant que proxy inverse. Vous pouvez maintenant commencer à utiliser Mattermost pour collaborer avec votre équipe.

plus important nodejs centos