Installation · 6 min read · Oct 12, 2025

Wie man Mattermost auf Debian 11 installiert

Mattermost ist eine kostenlose und Open-Source-Kollaborations- und Messaging-Plattform, die mit Sicherheit im Hinterkopf entwickelt wurde. Es ist eine Alternative zu Discord oder Slack und bietet viele nützliche Funktionen, darunter Eins-zu-eins-Nachrichten, unbegrenzte Suchhistorie und Dateiübertragungsmöglichkeiten, Zwei-Faktor-Authentifizierung und Benachrichtigungen. Es ist ein selbstgehosteter Online-Chat-Service, der in Golang und React geschrieben ist. Es ist speziell für Organisationen und Unternehmen konzipiert und ermöglicht es Teams, sicher von überall zu kommunizieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie den Mattermost-Chat-Server auf Debian 11 installieren.

Voraussetzungen

  • Ein Server, der Debian 11 ausführt.
  • Ein gültiger Domainname, der auf Ihre Server-IP zeigt.
  • Ein Root-Passwort ist auf dem Server konfiguriert.

MariaDB-Datenbankserver installieren und konfigurieren

Mattermost verwendet MySQL oder MariaDB als Datenbank-Backend. Daher müssen Sie den MariaDB-Server auf Ihrem Server installieren. Sie können dies mit dem folgenden Befehl tun:

apt-get install mariadb-server -y

Sobald MariaDB installiert ist, starten Sie den MariaDB-Dienst und aktivieren Sie ihn, damit er beim Systemneustart startet:

systemctl start mariadb  
systemctl enable mariadb

Verbinden Sie sich als Nächstes mit der MariaDB-Shell mit dem folgenden Befehl:

mysql

Sobald Sie verbunden sind, erstellen Sie eine Datenbank und einen Benutzer mit dem folgenden Befehl:

MariaDB [(none)]> create database mattermost;  
MariaDB [(none)]> create user mattermost@localhost identified by 'password';

Gewähren Sie als Nächstes alle Berechtigungen für die Mattermost-Datenbank mit dem folgenden Befehl:

MariaDB [(none)]> grant all privileges on mattermost.* to mattermost@localhost;

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

MariaDB [(none)]> flush privileges;  
MariaDB [(none)]> exit;

Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Mattermost installieren

Zuerst erstellen Sie einen dedizierten Benutzer für Mattermost mit dem folgenden Befehl:

useradd --system --user-group mattermost

Laden Sie als Nächstes die neueste Version von Mattermost mit dem folgenden Befehl herunter:

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

Sobald der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl:

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

Bewegen Sie als Nächstes das extrahierte Verzeichnis mit dem folgenden Befehl nach /opt:

mv mattermost /opt

Erstellen Sie als Nächstes ein Datenverzeichnis für Mattermost mit dem folgenden Befehl:

mkdir /opt/mattermost/data

Ändern Sie als Nächstes den Besitz des Mattermost-Verzeichnisses mit dem folgenden Befehl:

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

Bearbeiten Sie als Nächstes die config.json-Datei mit dem folgenden Befehl:

nano /opt/mattermost/config/config.json

Suchen Sie die folgenden Zeilen:

    "DriverName": "postgres",
    "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",

Und ersetzen Sie sie durch die folgenden Zeilen gemäß Ihren Datenbankeinstellungen:

"DriverName": "mysql",
"DataSource": "mattermost:password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",

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

Erstellen Sie eine Systemd-Dienstdatei für Mattermost

Als Nächstes müssen Sie eine Systemd-Dienstdatei für Mattermost erstellen. Sie können dies mit dem folgenden Befehl tun:

nano /etc/systemd/system/mattermost.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]
Description=Mattermost
After=syslog.target network.target mysqld.service

[Service]
Type=notify
WorkingDirectory=/opt/mattermost
User=mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und schließen Sie sie, und laden Sie dann den Systemd-Daemon neu, um die Änderungen anzuwenden:

systemctl daemon-reload

Starten Sie als Nächstes Mattermost und aktivieren Sie es, damit es beim Systemneustart startet:

systemctl start mattermost  
systemctl enable mattermost

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

systemctl status mattermost

Sie erhalten die folgende Ausgabe:

? mattermost.service - Mattermost
     Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:56:25 UTC; 4s ago
   Main PID: 2888 (mattermost)
      Tasks: 31 (limit: 4679)
     Memory: 273.3M
        CPU: 12.191s
     CGroup: /system.slice/mattermost.service
             ??2888 /opt/mattermost/bin/mattermost
             ??2915 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64
             ??2925 plugins/playbooks/server/dist/plugin-linux-amd64
             ??2931 plugins/focalboard/server/dist/plugin-linux-amd64

Nov 12 13:56:24 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:24.681 Z","level":"info","msg":"Scheduling next survey for Dec 3, 2>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.064 Z","level":"info","msg":"Post.Message has size restrictions">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.084 Z","level":"info","msg":"info [2021-11-12 13:56:25.083 Z] co>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.131 Z","level":"info","msg":"\n    -- collation of mattermost's >
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.491 Z","level":"info","msg":"debug [2021-11-12 13:56:25.488 Z] i>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.777 Z","level":"info","msg":"info [2021-11-12 13:56:25.777 Z] Se>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.963 Z","level":"info","msg":"Starting Server...","caller":"app/s>
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Server is listening on [::]:8065",">
Nov 12 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Sending systemd READY notification.>
Nov 12 13:56:25 debian11 systemd[1]: Started Mattermost.

Nginx als Reverse-Proxy für Mattermost konfigurieren

Standardmäßig hört Mattermost auf Port 8065. Daher ist es eine gute Idee, Nginx als Reverse-Proxy zu installieren und zu konfigurieren, um auf Mattermost über Port 80 zuzugreifen. Installieren Sie zuerst Nginx mit dem folgenden Befehl:

apt-get install nginx -y

Sobald Nginx installiert ist, erstellen Sie eine Nginx-virtuelle Host-Konfigurationsdatei mit dem folgenden Befehl:

nano /etc/nginx/conf.d/mattermost.conf

Fü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.example.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 überprüfen Sie dann die Nginx-Konfiguration auf Syntaxfehler mit dem folgenden Befehl:

ginx -t

Sie sollten die folgende Ausgabe sehen:

ginx: die Konfigurationsdatei /etc/nginx/nginx.conf Syntax ist ok
nginx: Konfigurationsdatei /etc/nginx/nginx.conf Test war erfolgreich

Starten Sie als Nächstes den Nginx-Dienst, um die Änderungen anzuwenden:

systemctl start nginx

Sie können auch den Status von Nginx mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service - Ein leistungsstarker Webserver und ein Reverse-Proxy-Server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 13:57:02 UTC; 1min 12s ago
       Docs: man:nginx(8)
    Process: 3384 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 3392 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 3602 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 6.6M
        CPU: 55ms
     CGroup: /system.slice/nginx.service
             ??3602 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??3604 nginx: worker process
             ??3605 nginx: worker process

Nov 12 13:57:01 debian11 systemd[1]: Starting Ein leistungsstarker Webserver und ein Reverse-Proxy-Server...
Nov 12 13:57:02 debian11 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Nov 12 13:57:02 debian11 systemd[1]: Started Ein leistungsstarker Webserver und ein Reverse-Proxy-Server.

An diesem Punkt ist Nginx installiert und als Reverse-Proxy für Mattermost konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.

Zugriff auf die Mattermost-Weboberfläche

Öffnen Sie jetzt Ihren Webbrowser und greifen Sie auf die Mattermost-Weboberfläche über die URL http://mattermost.example.com zu. Sie werden auf die folgende Seite weitergeleitet:

Mattermost Login

Geben Sie Ihre Admin-E-Mail-Adresse, Ihren Benutzernamen, Ihr Passwort ein und klicken Sie auf die Schaltfläche Konto erstellen. Sie sollten die folgende Seite sehen:

Mattermost

Klicken Sie nun auf Gehe zur Systemkonsole. Sie werden zum Mattermost-Dashboard weitergeleitet, wie unten gezeigt:

Mattermost-Dashboard

Fazit

Herzlichen Glückwunsch! Sie haben Mattermost erfolgreich mit Nginx als Reverse-Proxy auf Debian 11 installiert. Sie können Mattermost jetzt in Ihrer Organisation implementieren und Teams ermöglichen, von überall miteinander zu kommunizieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.