Android

Wie stelle ich es unter Ubuntu bereit? 18.04

Some techniques for welding when there is a gap between thin stainless steel pipes. TIG welding

Some techniques for welding when there is a gap between thin stainless steel pipes. TIG welding

Inhaltsverzeichnis:

Anonim

Mattermost ist eine Instant Messaging-Plattform für Unternehmen, eine selbst gehostete Open Source-Alternative zu Slack. Es ist in Golang and React geschrieben und kann MySQL oder PostgreSQL als Datenbank-Backend verwenden. Mit Mattermost wird die gesamte Teamkommunikation an einem Ort zusammengefasst und es stehen verschiedene Funktionen zur Verfügung, darunter Dateifreigabe, Einzel- und Gruppen-Messaging, benutzerdefinierte Emojis, Videoanrufe und mehr.

In diesem Tutorial werden wir Mattermost auf einem Ubuntu 18.04-Server installieren und Nginx als SSL-Reverse-Proxy konfigurieren.

Voraussetzungen

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Sie sind als Benutzer mit sudo-Berechtigungen angemeldet. Sie haben einen Domainnamen, der auf Ihre Server-IP-Adresse verweist. Wir verwenden example.com Wenn Sie Nginx installiert haben, lesen Sie diese Anleitung nicht. Sie haben ein SSL-Zertifikat für Ihre Domain installiert. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie dieser Anleitung folgen.

Erstellen Sie eine MySQL-Datenbank

Wir werden MySQL als Datenbank für Mattermost verwenden. Wenn Sie MySQL oder MariaDB nicht auf Ihrem Server installiert haben, können Sie es installieren, indem Sie diese Anweisungen befolgen.

Melden Sie sich bei der MySQL-Shell an:

mysql -u root

Erstellen Sie eine neue Datenbank und einen neuen Benutzer für unsere Mattermost-Installation mit:

CREATE DATABASE mattermost; GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD'; P4ssvv0rD Sie sicher, dass Sie ein Passwort verwenden, das sicherer als P4ssvv0rD .

Erstellen Sie einen neuen Systembenutzer

Erstellen Sie einen neuen Benutzer und eine neue Gruppe, die unsere Mattermost-Instanz ausführen. Wir werden den Benutzer am mattermost :

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

Installieren Sie den Mattermost Server

Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste stabile Version von Mattermost Version 5.1.0. Laden Sie das Archiv mit dem folgenden Befehl herunter:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz

Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv und verschieben Sie es in das Verzeichnis /opt

sudo tar zxf /tmp/mattermost.tar.gz -C /opt

Erstellen Sie das Speicherverzeichnis für Dateien:

sudo mkdir -p /opt/mattermost/data

Ändern Sie den Verzeichnisbesitz auf den mattermost Benutzer:

sudo chown -R mattermost: /opt/mattermost

Öffnen Sie die Datei /opt/mattermost/config/config.json , setzen Sie den Datenbanktreiber auf mysql und geben Sie die Datenbankinformationen ein:

/opt/mattermost/config/config.json

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

Um sicherzustellen, dass unsere Mattermost-Instanz wie erwartet funktioniert, testen wir den Mattermost-Server. Wechseln Sie in das Verzeichnis /opt/mattermost und starten Sie den Server mit den folgenden Befehlen:

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

Wenn alles gut funktioniert, startet der Server und die Ausgabe sieht ungefähr so ​​aus:

{"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"}

Wir können jetzt den Mattermost-Server mit STRG CTRL+C stoppen und mit den nächsten Schritten fortfahren.

Erstellen Sie eine Systemd-Einheit

Um unsere Mattermost-Instanz als Service mattermost.service , erstellen wir eine mattermost.service Unit-Datei im Verzeichnis /etc/systemd/system/ .

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

/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

Benachrichtigen Sie systemd, dass wir eine neue Unit-Datei erstellt haben, und starten Sie den Mattermost-Dienst mit den folgenden Befehlen:

sudo systemctl daemon-reload sudo systemctl start mattermost

Wir können jetzt den Servicestatus überprüfen mit:

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

Wenn keine Fehler vorliegen, aktivieren Sie den Mattermost-Dienst, damit er beim Start automatisch gestartet wird:

sudo systemctl enable mattermost

Richten Sie mit Nginx einen Reverse-Proxy ein

Jetzt müssen wir einen neuen Serverblock für die Mattermost-Instanz einrichten. Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:

/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; } }

Laden Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:

sudo systemctl reload nginx

Konfigurieren von Mattermost

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und Sie werden zur sugnup-Seite weitergeleitet.

Geben Sie Ihre E-Mail-Adresse ein, wählen Sie einen Benutzernamen und ein Passwort und klicken Sie auf die Schaltfläche Create Account erstellen, um Ihr erstes Konto zu erstellen.

Sie können alle gängigen Transaktions-E-Mail-Dienste wie SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet und Poststempel verwenden oder anhand dieses Lernprogramms Ihren eigenen Mailserver einrichten.

Schließlich müssen wir den Mattermost-Dienst neu starten, damit die Änderungen wirksam werden:

sudo systemctl restart mattermost

Fazit

Sie haben Mattermost erfolgreich auf Ihrem Ubuntu 18.04-Server installiert und Nginx als Reverse-Proxy eingerichtet. Sie können nun Mattermost verwenden, um mit Ihrem Team zusammenzuarbeiten.

rocketchat nodejs ubuntu