Installation · 9 min read · Oct 12, 2025
So installieren Sie das Mattermost Team-Messaging-System auf Ubuntu 20.04

Mattermost ist eine Open-Source- und selbstgehostete Messaging-Anwendung, die für Chat, Dateifreigabe, Suche und Integrationen verwendet wird. Es ist eine Alternative zu Slack-Chat, die alle Ihre Teamkommunikation an einem Ort zusammenbringt. Es ist in React und Golang geschrieben und verwendet PostgreSQL oder MySQL-Datenbanken im Backend. Es bietet eine umfangreiche Palette von Funktionen, darunter Push-Benachrichtigungen, unbegrenzte Suchhistorie, benutzerdefinierte Emojis, Webhooks & Befehle, Active Directory, Unterstützung für die Bereitstellung von Multi-Node-Datenbanken, Foren, Diskussionsforen 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, der Ubuntu 20.04 ausführt.
- Ein gültiger Domainname, der auf Ihre Server-IP zeigt.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erste Schritte
Zuerst wird empfohlen, Ihre Systempakete auf die neueste Version zu aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
apt-get update -ySobald alle Pakete aktualisiert sind, installieren Sie die anderen erforderlichen Abhängigkeiten, indem Sie den folgenden Befehl ausführen:
apt-get install curl wget vim git unzip gnupg2 -yNachdem 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. Daher muss der MariaDB-Server auf Ihrem Server installiert sein. Wenn er nicht installiert ist, können Sie ihn mit dem folgenden Befehl installieren:
apt-get install mariadb-server -yNach der Installation des MariaDB-Servers melden Sie sich mit dem folgenden Befehl bei MariaDB an:
mysqlSobald Sie angemeldet sind, erstellen Sie eine Datenbank und einen Benutzer für Mattermost mit dem folgenden Befehl:
MariaDB [(none)]> CREATE DATABASE mattermostdb;
MariaDB [(none)]> CREATE USER 'mattermost'@'%' IDENTIFIED BY 'password';Als nächstes gewähren Sie Mattermost alle Berechtigungen mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mattermost'@'%';Als nächstes spülen Sie die Berechtigungen und verlassen die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Sobald Ihre MariaDB-Datenbank konfiguriert ist, können Sie mit dem nächsten Schritt fortfahren.
Mattermost installieren und konfigurieren
Zuerst müssen Sie die neueste Version von Mattermost von der offiziellen Website herunterladen. Sie können dies mit dem folgenden Befehl tun:
wget https://releases.mattermost.com/5.24.2/mattermost-5.24.2-linux-amd64.tar.gzSobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf mattermost-5.24.2-linux-amd64.tar.gzAls nächstes kopieren Sie das extrahierte Verzeichnis nach /opt:
cp -r mattermost /optAls nächstes erstellen Sie ein Datenverzeichnis für Mattermost:
mkdir /opt/mattermost/dataAls nächstes müssen Sie einen separaten Benutzer erstellen, um Mattermost auszuführen. Sie können ihn mit dem folgenden Befehl erstellen:
useradd --system --user-group mattermostAls nächstes ändern Sie den Eigentümer des Mattermost-Verzeichnisses in mattermost und geben die entsprechenden Berechtigungen mit dem folgenden Befehl:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermostAls nächstes bearbeiten Sie die Standardkonfigurationsdatei von Mattermost und definieren 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:password@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",Speichern Sie die Datei und schließen Sie sie, wenn Sie fertig sind.
Eine Systemd-Dienstdatei für Mattermost erstellen
Als nächstes müssen Sie eine systemd-Dienstdatei erstellen, um den Mattermost-Dienst zu verwalten. Sie können dies mit dem folgenden Befehl tun:
nano /lib/systemd/system/mattermost.serviceFügen Sie die folgenden Zeilen hinzu:
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.service
[Service]
Type=notify
User=mattermost
Group=mattermost
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
LimitNOFILE=49152
[Install]
WantedBy=mariadb.serviceSpeichern Sie die Datei und schließen Sie sie, und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reloadAls nächstes starten Sie den Mattermost-Dienst und aktivieren ihn, damit er beim Systemneustart gestartet wird, mit dem folgenden Befehl:
systemctl start mattermost
systemctl enable mattermostÜberprüfen Sie als nächstes den Status des Mattermost-Dienstes mit dem folgenden Befehl:
systemctl status mattermostSie sollten die folgende Ausgabe erhalten:
? mattermost.service - Mattermost
Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2020-08-01 09:12:52 UTC; 17s ago
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-amd64
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.131499,"caller":"mlog/sugar.go:19","msg":"Sent notification of ne>
Aug 01 09:12:52 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":"Starting schedule>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.20063,"caller":"app/web_hub.go:83","msg":"Starting websocket hubs>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2099638,"caller":"app/license.go:37","msg":"License key from http>
Aug 01 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 is listening o>
Aug 01 09:12:52 ubuntu2004 mattermost[4106]: {"level":"info","ts":1596273172.2211802,"caller":"commands/server.go:106","msg":"Sending systemd >
Aug 01 09:12:52 ubuntu2004 systemd[1]: Started Mattermost.An diesem Punkt läuft Mattermost und hört auf Port 8065.
Nginx als Reverse-Proxy konfigurieren
Als nächstes müssen Sie Nginx als Reverse-Proxy für Mattermost konfigurieren. Zuerst installieren Sie das Nginx-Paket mit dem folgenden Befehl:
apt-get install nginx -ySobald es installiert ist, erstellen Sie eine Nginx-virtuelle Hostkonfigurationsdatei mit dem folgenden Befehl:
nano /etc/nginx/sites-available/mattermost.confFügen Sie die folgenden Zeilen hinzu:
upstream mattermost {
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 mattermost.linuxbuz.com;
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://mattermost;
}
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://mattermost;
}
}Speichern Sie die Datei und schließen Sie sie, und aktivieren Sie dann die virtuelle Hostkonfiguration 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:
ginx -tSie sollten die folgende Ausgabe erhalten:
ginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreichStarten Sie schließlich den Nginx-Dienst neu, um die Änderungen anzuwenden:
systemctl restart nginxMattermost mit Let’s Encrypt SSL sichern
Zuerst müssen Sie den Certbot-Client in Ihrem System installieren, um das Let’s Encrypt SSL zu verwalten. Sie können ihn mit dem folgenden Befehl installieren:
apt-get install python3-certbot-nginx -yNach der Installation von Certbot führen Sie den folgenden Befehl aus, um das Let’s Encrypt SSL für Ihre Website zu installieren.
certbot --nginx -d mattermost.linuxbuz.comSie werden aufgefordert, eine gültige E-Mail-Adresse anzugeben und den Nutzungsbedingungen zuzustimmen, wie unten gezeigt:
Speichern des Debug-Protokolls in /var/log/letsencrypt/letsencrypt.log
Ausgewählte Plugins: Authenticator nginx, Installer nginx
Geben Sie die E-Mail-Adresse ein (verwendet für dringende Erneuerungen und Sicherheitsbenachrichtigungen) (Geben Sie 'c' ein, um abzubrechen): [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)kzeptieren/(C)ancel: 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 Webs, EFF-Nachrichten, Kampagnen und Möglichkeiten zur Unterstützung der digitalen Freiheit senden.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(J)a/(N)ein: Y
Erwerb eines neuen Zertifikats
Durchführung der folgenden Herausforderungen:
http-01-Herausforderung für mattermost.linuxbuz.com
Warten auf Überprüfung...
Bereinigung der Herausforderungen
Zertifikat für VirtualHost /etc/nginx/sites-enabled/mattermost.conf bereitstellenWählen Sie als nächstes, ob Sie den HTTP-Verkehr auf HTTPS umleiten möchten:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Keine Umleitung - Keine weiteren Änderungen an der Webserver-Konfiguration vornehmen.
2: Umleiten - Alle Anfragen auf sicheren HTTPS-Zugriff umleiten. 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 drücken Sie [Enter] (drücken Sie 'c', um abzubrechen): 2Geben Sie 2 ein und drücken Sie die Eingabetaste, um das Let’s Encrypt SSL auf Ihrer Domain zu installieren. Nach der Installation sollten Sie die folgende Ausgabe sehen:
Umleitung aller Datenverkehr auf Port 80 zu ssl in /etc/nginx/sites-enabled/mattermost.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Herzlichen Glückwunsch! Sie haben erfolgreich https://mattermost.linuxbuz.com 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 die 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
Ihr Zertifikat läuft am 2020-10-30 ab. Um in Zukunft eine neue oder angepasste Version dieses Zertifikats zu erhalten, führen Sie einfach erneut certbot mit der Option "certonly" aus. Um *alle* Ihre Zertifikate nicht-interaktiv zu erneuern, führen Sie "certbot renew" aus
- Ihre Kontodaten wurden in Ihrem Certbot-Konfigurationsverzeichnis unter /etc/letsencrypt gespeichert. Sie sollten jetzt eine sichere Sicherung dieses Ordners erstellen. Dieses Konfigurationsverzeichnis enthält auch Zertifikate und private Schlüssel, die von Certbot erhalten wurden, sodass regelmäßige Sicherungen dieses Ordners ideal sind.
- Wenn Sie Certbot mögen, ziehen Sie bitte in Betracht, unsere Arbeit zu unterstützen, indem Sie:
Spenden an ISRG / Let's Encrypt: https://letsencrypt.org/donate
Spenden an EFF: https://eff.org/donate-le
- Wir konnten Sie nicht für die EFF-Newsletterliste anmelden, da Ihre E-Mail-Adresse ungültig zu sein scheint. Sie können es später erneut versuchen, indem Sie https://act.eff.org besuchen.Zugriff auf die Mattermost-Weboberfläche
Öffnen Sie jetzt Ihren Webbrowser und geben Sie die URL https://mattermost.linuxbuz.com ein. Sie werden zur Anmeldeseite von Mattermost weitergeleitet:

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

Klicken Sie auf die Schaltfläche Ein Team erstellen. Sie sollten den folgenden Bildschirm sehen:

Geben Sie Ihren Teamnamen ein und klicken Sie auf die Schaltfläche Weiter. Sie sollten den folgenden Bildschirm sehen:

Geben Sie Ihre Team-URL ein und klicken Sie auf die Schaltfläche Fertigstellen. Sie sollten den Willkommensbildschirm von Mattermost sehen:

Klicken Sie auf die Schaltfläche Tutorials überspringen. Sie sollten das Mattermost-Dashboard im folgenden Bildschirm sehen:

Fazit
In diesem Leitfaden 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 es mit Let’s Encrypt SSL sichern. Sie können jetzt die Dienste von Mattermost erkunden und gemeinsam mit Ihrem Team arbeiten.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.