Mattermost ist eine Open-Source-Kommunikationsplattform für Unternehmen, die für die interne Kommunikation von Teams und Organisationen entwickelt wurde. Sie unterstützt Textchats, Dateifreigabe, Videoanrufe und die Integration mit verschiedenen Diensten von Drittanbietern. Mattermost kann auf Ihren eigenen Servern implementiert werden, um eine vollständige Datenkontrolle und -sicherheit zu gewährleisten. Es ist eine Alternative zu Lösungen wie Slack und bietet die Möglichkeit zur Anpassung, Automatisierung und Integration in DevOps-Prozesse.
Als Erstes müssen Sie sich über SSH unter dem Root-Benutzer mit Ihrem Server verbinden. Führen Sie den folgenden Befehl aus, wobei Sie IP_Address durch die IP-Adresse Ihres Servers und Port_number durch die Nummer des SSH-Ports ersetzen:
ssh root@IP_Address -p Port_number
Um sicherzustellen, dass Sie die richtige Ubuntu-Version installiert haben, führen Sie den Befehl aus:
lsb_release -a
Erwartetes Ergebnis:
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Aktualisieren Sie das Betriebssystem:
apt update
apt upgrade
Erstellen wir nun eine PostgreSQL-Datenbank zur Verwendung durch den Mattermost-Server. Geben Sie den Befehl ein (dieser Befehl wird postgresql installieren):
apt install postgresql
Melden Sie sich bei PostgreSQL an:
sudo -u postgres psql
Erstellen Sie eine Mattermost-Datenbank:
CREATE DATABASE mattermost;
Erstellen Sie den Benutzer mmuser (verwenden Sie ein sichereres Passwort anstelle von mmuser-password
):
CREATE USER mmuser WITH PASSWORD 'mmuser-password';
Geben Sie dem Benutzer mmuser Rechte:
GRANT ALL PRIVILEGES ON DATABASE mattermost to mmuser;
GRANT ALL ON DATABASE mattermost TO mmuser;
ALTER DATABASE mattermost OWNER TO mmuser;
GRANT USAGE, CREATE ON SCHEMA PUBLIC TO mmuser;
Melden Sie sich von PostgreSQL ab
q
Nehmen Sie Änderungen an der Datei pg_hba.conf vor, die dem Mattermost-Server Zugriff auf die PostgreSQL-Datenbank geben.
Öffnen Sie die Datei:
nano /etc/postgresql/16/main/pg_hba.conf
Suchen Sie die Zeilen:
local all all peer
host all all 127.0.0.1/32 scram-sha-256
host all all ::1/128 scram-sha-256
Ersetzen Sie sie durch:
local all all trust
host all all 127.0.0.1/32 trust
host all all ::1/128 trust
Speichern Sie die Änderungen, schließen Sie die Datei und aktualisieren Sie die PostgreSQL-Konfiguration:
systemctl reload postgresql
Prüfen Sie, ob wir uns mit dem Benutzer mmuser mit der Datenbank verbinden können:
psql --dbname=mattermost --username=mmuser --password
Geben Sie das von uns erstellte Passwort anstelle von mmuser-password
ein
Wenn wir alles richtig gemacht haben, wird die PostgreSQL-Konsole angezeigt.
Beenden:
q
Laden Sie die neueste Version des Mattermost-Servers herunter:
wget https://releases.mattermost.com/10.0.1/mattermost-10.0.1-linux-amd64.tar.gz
Entpacken:
tar -xvzf mattermost*.gz
Übertragen Sie sie in das Verzeichnis /opt:
mv mattermost /opt
Standardmäßig verwendet der Mattermost-Server das Verzeichnis /opt/mattermost/data
Erstellen Sie es:
mkdir /opt/mattermost/data
Erstellen Sie nun eine Gruppe und einen Benutzer mattermost:
useradd --system --user-group mattermost
Erteilen Sie die Berechtigungen:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Um den Mattermost-Server zu verwalten, müssen wir einen Systemdienst erstellen.
Öffnen Sie den Editor, um eine Dienstdatei zu erstellen:
nano /lib/systemd/system/mattermost.service
Die geöffnete, leere Datei - füllen Sie sie mit den folgenden Inhalten:
[Unit]
Description=Mattermost
After=network.target
After=postgresql.service
BindsTo=postgresql.service
[Service]
Type=notify
ExecStart=/opt/mattermost/bin/mattermost
TimeoutStartSec=3600
KillMode=mixed
Restart=always
RestartSec=10
WorkingDirectory=/opt/mattermost
User=mattermost
Group=mattermost
LimitNOFILE=49152
[Install]
WantedBy=multi-user.target
Aktualisieren Sie die systemd-Konfiguration:
systemctl daemon-reload
Bevor Sie den Mattermost-Server starten, müssen Sie ihn konfigurieren.
Erstellen Sie eine Sicherungskopie der Konfigurationsdatei:
cp /opt/mattermost/config/config.json /opt/mattermost/config/config.defaults.json
Öffnen Sie die Konfigurationsdatei des Mattermost-Servers in einem Texteditor:
nano /opt/mattermost/config/config.json
Wir müssen die Änderungen vornehmen.
Suchen:
"DataSource": "postgres://mmuser:@localhost/mattermost_test?sslmode=disableu0026connect_timeout=10u0026binary_parameters=yes"
Ersetzen Sie durch:
"DataSource to "postgres://mmuser: <mmuser-password>@<host-name-or-IP>:5432/<mattermost>?sslmode=disable&connect_timeout=10"
Wo.
<mmuser-password>
- mmuser-Passwort für PostgreSQL.
<host-name-or-IP>
- IP-Adresse des Servers oder sein Hostname.
<mattermost>
- PostgreSQL-Datenbank.
Speichern Sie die Datei und beenden Sie den Editor.
Aktivieren Sie den Dienst, damit er beim Systemstart ausgeführt wird, und starten Sie ihn jetzt:
systemctl enable --now mattermost
Verwenden Sie den Befehl, um den Serverstatus zu überprüfen:
systemctl status mattermost
Öffnen Sie die <IP-Adresse Ihres Servers oder seinen Hostnamen>
in Ihrem Browser : 8065
Folgen Sie den Anweisungen auf der Seite, die sich öffnet.
Der Mattermost-Server ist nun installiert und läuft auf Ihrem Ubuntu 24.04-Server.