GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie das Mattermost Team Messaging System unter Ubuntu 20.04

Mattermost ist eine Open-Source- und selbst gehostete Messaging-Anwendung, die für Chat, Dateifreigabe, Suche und Integrationen verwendet wird. Es ist eine Alternative zum Slack-Chat, der Ihre gesamte Teamkommunikation an einem Ort zusammenbringt. Es ist in React und Golang geschrieben und verwendet im Backend eine PostgreSQL- oder MySQL-Datenbank. Es bietet eine Vielzahl von Funktionen, darunter Push-Benachrichtigungen, unbegrenzten Suchverlauf, benutzerdefinierte Emojis, Webhooks und Befehle, Active Directory, Unterstützung für die Bereitstellung von Datenbanken mit mehreren Knoten, Forum, Diskussionsforum und vieles mehr.

In diesem Tutorial zeigen wir Ihnen, wie Sie Mattermost mit Nginx und Let’s Encrypt SSL auf Ubuntu 20.04 installieren.

Voraussetzungen

  • Ein Server mit Ubuntu 20.04.
  • Ein gültiger Domainname, auf den Ihre Server-IP verweist.
  • Auf dem Server ist ein Root-Passwort konfiguriert.

Erste Schritte

Zunächst wird empfohlen, Ihre Systempakete mit der neuesten Version zu aktualisieren. Sie können sie aktualisieren, indem Sie den folgenden Befehl ausführen:

apt-get update -y

Nachdem alle Pakete aktualisiert wurden, installieren Sie andere erforderliche Abhängigkeiten, indem Sie den folgenden Befehl ausführen:

apt-get install curl wget vim git unzip gnupg2 -y

Nachdem Sie alle erforderlichen Pakete installiert haben, können Sie mit dem nächsten Schritt fortfahren.

MariaDB installieren und konfigurieren

Mattermost verwendet MySQL/MariaDB als Datenbank-Backend. Der MariaDB-Server muss also auf Ihrem Server installiert sein. Wenn es nicht installiert ist, können Sie es mit dem folgenden Befehl installieren:

apt-get install mariadb-server -y

Melden Sie sich nach der Installation des MariaDB-Servers mit dem folgenden Befehl bei MariaDB an:

mysql

Erstellen Sie nach der Anmeldung eine Datenbank und einen Benutzer für Mattermost mit dem folgenden Befehl:

MariaDB [(keine)]> DATENBANK ERSTELLEN mattermostdb;
MariaDB [(keine)]> BENUTZER ERSTELLEN 'mattermost'@'%' IDENTIFIZIERT DURCH 'Passwort';

Als nächstes gewähren Sie Mattermost alle Privilegien mit dem folgenden Befehl:

MariaDB [(none)]> GEWÄHRE ALLE PRIVILEGIEN AUF mattermostdb.* AN 'mattermost'@'%';

Leeren Sie als Nächstes die Berechtigungen und beenden Sie die MariaDB-Shell mit dem folgenden Befehl:

MariaDB [(keine)]> FLUSH PRIVILEGES;
MariaDB [(keine)]> EXIT;

Sobald Ihre MariaDB-Datenbank konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.

Installieren und konfigurieren Sie Mattermost

Zunächst müssen Sie die neueste Version von Mattermost von der offiziellen Website herunterladen. Sie können es mit dem folgenden Befehl herunterladen:

wget https://releases.mattermost.com/5.24.2/mattermost-5.24.2-linux-amd64.tar.gz

Extrahieren Sie die heruntergeladene Datei nach dem Herunterladen mit dem folgenden Befehl:

tar -xvzf mattermost-5.24.2-linux-amd64.tar.gz

Als nächstes kopieren Sie das extrahierte Verzeichnis nach /opt:

cp -r mattermost /opt

Als nächstes erstellen Sie ein Datenverzeichnis für Mattermost:

mkdir /opt/mattermost/data

Als nächstes müssen Sie einen separaten Benutzer erstellen, um Mattermost auszuführen. Sie können es mit dem folgenden Befehl erstellen:

useradd --system --user-group mattermost

Als nächstes ändern Sie den Besitz des Mattermost-Verzeichnisses auf Mattermost und geben Sie die richtigen Berechtigungen mit dem folgenden Befehl:

chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Bearbeiten Sie als Nächstes die Mattermost-Standardkonfigurationsdatei und definieren Sie Ihre Datenbankeinstellungen und die Site-URL.

nano /opt/mattermost/config/config.json

Ändern Sie die folgenden Zeilen nach Bedarf:

 "SiteURL":"https://mattermost.linuxbuz.com", "DriverName":"mysql", "DataSource":"mattermost:[email protected](localhost:3306)/mattermostdb?charset=utf8mb4, utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erstellen Sie eine Systemd-Dienstdatei für Mattermost

Als nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den Mattermost-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:

nano /lib/systemd/system/mattermost.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=MattermostAfter=network.targetAfter=mysql.serviceRequires=mysql.service[Service]Type=notifyUser=mattermostGroup=mattermostExecStart=/opt/mattermost/bin/mattermostTimeoutStartSec=3600Restart=alwaysRestartSec=10WorkingDirectory=/opt/ mattermostLimitNOFILE=49152[Install]WantedBy=mariadb.service

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Mattermost-Dienst und ermöglichen Sie ihm, beim Systemneustart mit dem folgenden Befehl zu starten:

systemctl start mattermost
systemctl enable mattermost

Überprüfen Sie als Nächstes den Status des Mattermost-Dienstes mit dem folgenden Befehl:

systemctl status matters

Sie sollten die folgende Ausgabe erhalten:

? mattermost.service - Mattermost Geladen:geladen (/lib/systemd/system/mattermost.service; deaktiviert; Herstellervoreinstellung:aktiviert) Aktiv:aktiv (läuft) seit Sa 01.08.2020 09:12:52 UTC; vor 17s Main PID:4106 (mattermost) Tasks:20 (limit:2353) Memory:85.9M CGroup:/system.slice/mattermost.service ??4106 /opt/mattermost/bin/mattermost ??4198 plugins/com.mattermost .nps/server/dist/plugin-linux-amd64Aug 01 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.131499,"caller":"mlog/sugar.go:19","msg":"Benachrichtigung vom 01. August 09:12:52 gesendet ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.1841655,"caller":"jobs/workers. go:73","msg":"Starting workers"}Aug 01 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.1842792,"caller":"bleveengine/bleve .go:267","msg":"UpdateConf Ble>Aug 01 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.1930475,"caller":"jobs/schedulers .go:74","msg":"Startplan>01. August 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.20063,"caller":"app/web_hub .go:83","msg":"Websocket-Hubs starten>01. August 09:12:52 ubuntu2004 matt rmost[4106]:{"level":"info","ts":1596273172.2099638,"caller":"app/license.go:37","msg":"Lizenzschlüssel von http> 01. August 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.2205582,"caller":"app/server.go:525","msg":"Starting Server..."}Aug 01 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.2208374,"caller":"app/server.go:594","msg":"Server hört o> 1. August 09:12:52 ubuntu2004 mattermost[4106]:{"level":"info","ts":1596273172.2211802,"caller":"commands/server.go:106","msg":"Sending systemd> 1. August 09:12:52 ubuntu2004 systemd[1]:Mattermost gestartet.

An diesem Punkt läuft Mattermost und lauscht auf Port 8065.

Nginx als Reverse-Proxy konfigurieren

Als nächstes müssen Sie Nginxx als Reverse-Proxy für Mattermost konfigurieren. Installieren Sie zuerst das Nginx-Paket mit dem folgenden Befehl:

apt-get install nginx -y

Erstellen Sie nach der Installation eine Konfigurationsdatei für den virtuellen Nginx-Host mit dem folgenden Befehl:

nano /etc/nginx/sites-available/mattermost.conf

Fügen Sie die folgenden Zeilen hinzu:

Upstream Mattermost { server localhost:8065; keepalive 32;}proxy_cache_path /var/cache/nginx level=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;server { listen 80; Servername mattermost.linuxbuz.com; Standort ~ /api/v[0-9]+/(users/)?websocket$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Verbindung "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 $schema; proxy_set_header X-Frame-Optionen SAMEORIGIN; Proxy_buffers 256 16k; Proxy_buffer_size 16k; client_body_timeout 60; send_timeout 300; verweilendes_timeout 5; Proxy_connect_timeout 90; proxy_send_timeout 300; Proxy_read_timeout 90s; Proxy_pass http://mattermost; } Ort / { Client_max_body_size 50M; proxy_set_header Verbindung ""; 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 $schema; proxy_set_header X-Frame-Optionen SAMEORIGIN; Proxy_buffers 256 16k; Proxy_buffer_size 16k; Proxy_read_timeout 600s; proxy_cache mattermost_cache; proxy_cache_revalidate an; Proxy_cache_min_uses 2; Proxy_cache_use_stale Zeitüberschreitung; proxy_cache_lock an; Proxy_http_Version 1.1; Proxy_pass http://mattermost; }}

Speichern und schließen Sie die Datei und aktivieren Sie dann die Konfiguration des virtuellen Hosts mit dem folgenden Befehl:

ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf

Überprüfen Sie als Nächstes Nginx auf Konfigurationsfehler:

nginx -t

Sie sollten die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie abschließend den Nginx-Dienst neu, um die Änderungen zu übernehmen:

systemctl startet nginx neu

Sichern Sie Mattermost mit Let's Encrypt SSL

Zunächst müssen Sie den Certbot-Client in Ihrem System installieren, um Let’s Encrypt SSL zu verwalten. Sie können es mit dem folgenden Befehl installieren:

apt-get install python3-certbot-nginx -y

Führen Sie nach der Installation von Certbot den folgenden Befehl aus, um Let's Encrypt SSL für Ihre Website zu installieren.

certbot --nginx -d mattermost.linuxbuz.com

Sie werden aufgefordert, eine gültige E-Mail-Adresse anzugeben und die unten aufgeführten Nutzungsbedingungen zu akzeptieren:

Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.logAusgewählte Plugins:Authenticator nginx, Installer nginxE-Mail-Adresse eingeben (wird für dringende Verlängerungs- und Sicherheitshinweise verwendet) (Geben Sie „c“ zum Abbrechen ein):[email protected]- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bitte lesen Sie die Nutzungsbedingungen unter https://letsencrypt.org /documents/LE-SA-v1.2-November-15-2017.pdf. Sie müssen zustimmen, um sich beim ACME-Server unter https://acme-v02.api.letsencrypt.org/directory- - - - - - - - - - - - - - - - - - - - - - - - - zu registrieren - - - - - - - - - - - - - - -(A)gree/(C)cancel:A- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Wären Sie bereit, Ihre E-Mail-Adresse mit der Electronic Frontier Foundation, einem Gründungspartner des Let's Encrypt-Projekts und der gemeinnützigen Organisation, die Certbot entwickelt, zu teilen? Wir möchten Ihnen E-Mails über unsere Arbeit zur Verschlüsselung des Internets, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(Y)es/(N)o:YBeziehen eines neuen ZertifikatsDurchführen der folgenden Herausforderungen:http-01-Herausforderung für mattermost.linuxbuz.comWarten auf Überprüfung...Reinigung upherausforderungenBereitstellen des Zertifikats auf VirtualHost /etc/nginx/sites-enabled/mattermost.conf

Wählen Sie als Nächstes aus, ob HTTP-Datenverkehr an HTTPS umgeleitet werden soll:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -1:Keine Weiterleitung - Machen Sie keine weitere Änderungen an der Webserver-Konfiguration.2:Umleitung - Alle Anfragen werden auf sicheren HTTPS-Zugriff umgeleitet. Wählen Sie dies für neue Websites oder wenn Sie sicher sind, dass Ihre Website auf HTTPS funktioniert. Sie können diese Änderung rückgängig machen, indem Sie die Konfiguration Ihres Webservers bearbeiten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Wählen Sie die entsprechende Nummer [1-2] und dann [enter] (drücken Sie 'c' zum Abbrechen):2

Geben Sie 2 ein und drücken Sie die Eingabetaste, um Let’s Encrypt SSL auf Ihrer Domain zu installieren. Nach der Installation sollten Sie die folgende Ausgabe sehen:

Umleitung des gesamten Datenverkehrs auf Port 80 zu SSL in /etc/nginx/sites-enabled/mattermost.conf- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Herzliche Glückwünsche! Sie haben https://mattermost.linuxbuz.com erfolgreich aktiviert. Sie sollten Ihre Konfiguration testen unter:https://www.ssllabs.com/ssltest/analyze.html?d=mattermost.linuxbuz.com- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -WICHTIGE HINWEISE:- Herzlichen Glückwunsch! Ihr Zertifikat und Ihre Kette wurden gespeichert unter:/etc/letsencrypt/live/mattermost.linuxbuz.com/fullchain.pem Ihre Schlüsseldatei wurde gespeichert unter:/etc/letsencrypt/live/mattermost.linuxbuz.com/privkey.pem Ihre Das Zertifikat läuft am 30.10.2020 ab. Um in Zukunft eine neue oder optimierte Version dieses Zertifikats zu erhalten, führen Sie einfach certbot erneut mit der Option „certonly“ aus. Um *alle* Ihre Zertifikate nicht interaktiv zu erneuern, führen Sie „certbot renew“ aus – Ihre Kontoanmeldeinformationen wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt ein sicheres Backup dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, daher ist es ideal, regelmäßige Backups dieses Ordners zu erstellen. - Wenn Sie Certbot mögen, erwägen Sie bitte, unsere Arbeit zu unterstützen, indem Sie:an ISRG / Let's Encrypt spenden:https://letsencrypt.org/donate an EFF spenden:https://eff.org/donate-le - Wir konnten uns nicht anmelden Sie die EFF-Mailingliste, weil Ihre E-Mail-Adresse ungültig zu sein scheint. Sie können es später erneut versuchen, indem Sie https://act.eff.org.
besuchen

Greifen Sie auf die Mattermost-Webschnittstelle zu

Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://mattermost.linuxbuz.com ein. Sie werden zum Anmeldebildschirm von Mattermost weitergeleitet:

Geben Sie Ihre E-Mail-Adresse, Ihren Namen und Ihr Passwort ein und klicken Sie auf Konto erstellen Taste. Sie sollten den folgenden Bildschirm sehen:

Klicken Sie auf Erstellen ein Team Taste. Sie sollten den folgenden Bildschirm sehen:

Geben Sie Ihren Teamnamen ein und klicken Sie auf Weiter Taste. Sie sollten den folgenden Bildschirm sehen:

Geben Sie Ihre Team-URL ein und klicken Sie auf Fertig stellen Taste. Sie sollten den Willkommensbildschirm von Mattermost sehen:

Klicken Sie auf Überspringen Anleitungen Taste. Sie sollten das Mattermost-Dashboard auf dem folgenden Bildschirm sehen:

Schlussfolgerung

In diesem Handbuch haben Sie gelernt, wie Sie die Mattermost Team Messaging-Anwendung auf einem Ubuntu 20.04-Server installieren. Sie haben auch gelernt, wie Sie Nginx als Reverse-Proxy konfigurieren und mit Let’s Encrypt SSL sichern. Sie können jetzt die Dienste von Mattermost erkunden und mit Ihrem Team zusammenarbeiten.


Ubuntu
  1. So installieren Sie OpenProject unter Ubuntu 16.04

  2. So installieren Sie Logstash unter Ubuntu 18.04

  3. So installieren Sie das Mattermost Team Messaging System unter Debian 10

  4. So installieren Sie Gradle unter Ubuntu 18.04

  5. So installieren Sie Elasticsearch unter Ubuntu 20.04

So installieren Sie die Ferdi Messaging Suite unter Ubuntu 20.10 Edition

So installieren Sie Lynis unter Ubuntu 20.04

So installieren Sie XAMPP auf Ihrem Ubuntu 20.04 LTS-System

So installieren Sie urBackup auf Ubuntu 20.04

So installieren Sie Dropbox unter Ubuntu 18.04 und 16.04

So installieren Sie AnyDesk unter Ubuntu 20.04