Einführung
Mattermost ist ein selbst gehosteter Open-Source-Online-Chat. Es wurde als privates Gespräch für Organisationen und Unternehmen entwickelt.
Es ist ein Tool mit Funktionen wie Slack und Microsoft Teams. Und Mattermost wird oft zusammen mit dem PostgreSQL-Datenbankserver installiert.
Nachfolgend finden Sie die Anleitung zum Bereitstellen von Mattermost auf Ubuntu 20.04, wie wir unten durchgehen.
Schritt 1 – System aktualisieren
Führen Sie den apt-Befehl aus:
$ sudo apt update
Führen Sie dann den Befehl aus:
$ sudo apt upgrade
Ausgabe:
Stellen Sie zuletzt den richtigen Server-Hostnamen ein:
$ sudo hostnamectl set-hostname NEW_HOSTNAME --static
Hier legen wir einen Hostnamen namens „chat.ubuntu fest ”
$ sudo hostnamectl set-hostname chat.ubuntu --static
Schritt 2 – PostgreSQL-Datenbankserver installieren
Führen Sie den apt-Befehl zum Installieren aus:
$ sudo apt install postgresql postgresql-contrib
Ausgabe:

Melden Sie sich dann beim Postgres-Konto an:
$ sudo --login --user postgres

Starten Sie PostgeSQL auf dem Terminal und erstellen Sie die Mattermost-Datenbank/den Benutzer. Hier habe ich es „linuxer“ genannt “ mit dem Passwort „[email protected] ”
psql
CREATE DATABASE mattermost;
CREATE USER linuxer WITH PASSWORD '[email protected]';
GRANT ALL PRIVILEGES ON DATABASE mattermost to linuxer;
\q

Schritt 3 – Mattermost-Systembenutzer und -Gruppe erstellen
Wir erstellen einen Systembenutzer und eine Gruppe mit dem Namen „Mattermost “:
$ sudo useradd --system --user-group mattermost
Sie können mit dem Befehl bestätigen:
$ id mattermost
Ausgabe:

Schritt 4 – Mattermost installieren
Zuerst müssen Sie einen Ordner mit dem Namen „Mattermost“ erstellen ”
$ mkdir mattermost
Navigieren Sie dann dorthin:
$ cd mattermost
Führen Sie den Befehl wget aus, um Mattermost herunterzuladen:
$ wget https://releases.mattermost.com/5.38.1/mattermost-5.38.1-linux-amd64.tar.gz
Ausgabe:

Extrahieren Sie das Paket:
$ tar -xvzf mattermost*.gz
Kopieren Sie die extrahierte Datei in das /otp-Verzeichnis:
$ sudo cp -r mattermost /opt
Erstellen Sie einen Ordner für Mattermost, der Benutzerdaten enthält:
$ sudo mkdir /opt/mattermost/data
Legen Sie die richtigen Eigentumsrechte und Berechtigungen fest:
$ sudo chown -R mattermost:mattermost /opt/mattermost
Lassen Sie uns abschließend Schreibrechte für das /opt/mattermost-Verzeichnis erteilen:
$ sudo chmod -R g+w /opt/mattermost
Schritt 5 – Mattermost Server konfigurieren
Konfigurationseinstellung in der Datei /opt/mattermost/config/config.json
$ sudo nano /opt/mattermost/config/config.json
Konfigurieren Sie dann die PostgreSQL-Datenbankeinstellungen:
Drücken Sie nach dem Öffnen des Texteditors Strg + W und suchen Sie nach „DriverName ” 
Ändern Sie die Zeile im roten Teil:
"postgres://matteruser:[email protected]:5432/mattermost?sslmode=disable&connect_timeout=10",

Speichern.
Schritt 6 – Systemd-Dienst konfigurieren
Erstellen Sie Mattermost Systemd:
$ sudo vim /etc/systemd/system/mattermost.service
Geben Sie die folgenden Zeilen ein:
[Unit] Description=Mattermost After=network.target After=postgresql.service Requires=postgresql.service [Service] Type=notify ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target

Drücken Sie ESC + :wq zum Speichern.
Laden Sie die neue Unit in systemd:
$ sudo systemctl daemon-reload
Bestätigen Sie den Ausführungsstatus des Dienstes:
$ systemctl status mattermost.service
Ausgabe:
Wichtigsten Dienst aktivieren:
$ sudo systemctl enable mattermost.service
Schritt 7 – Nginx installieren
$ sudo apt -y install nginx

Sie müssen Ihre Domain in die Mattermost-Konfigurationsdatei eingeben:
$ sudo nano /opt/mattermost/config/config.json

Speichern.
Öffnen Sie den Texteditor, um den Zugriff auf Ihre Domain zu konfigurieren:
$ sudo nano /etc/nginx/sites-available/mattermost.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream backend {
server localhost:8065;
keepalive 32;
}
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;
server {
listen 80;
server_name your domain;
location ~ /api/v[0-9]+/(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;
client_body_timeout 60;
send_timeout 300;
lingering_timeout 5;
proxy_connect_timeout 90;
proxy_send_timeout 300;
proxy_read_timeout 90s;
proxy_pass http://backend;
}
location / {
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_http_version 1.1;
proxy_pass http://backend;
}
}

Speichern.
Damit diese Site-Konfiguration funktioniert, müssen Sie einen Softlink dafür im Ordner /etc/nginx/sites-enabled:
erstellen$ sudo ln -s /etc/nginx/sites-available/mattermost.conf /etc/nginx/sites-enabled/mattermost.conf
Führen Sie diesen Befehl aus, um die Gültigkeit der Konfiguration zu überprüfen:
$ sudo nginx -t
Ausgabe:
Starten Sie Nginx neu:
$ sudo systemctl restart nginx
Starten Sie dann den Mattermost-Dienst:
$ sudo systemctl start mattermost
Sie können versuchen, auf Ihre Domain zuzugreifen.
Schlussfolgerung
Sie haben bereits die Details zur Bereitstellung von Mattermost auf Ubuntu 20.04 durchgegangen. Danke fürs Lesen.