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

So installieren Sie Mattermost unter Ubuntu 18.04

In diesem Artikel haben wir die notwendigen Schritte zur Installation und Konfiguration von Mattermost auf Ubuntu 18.04 LTS erklärt. Bevor Sie mit diesem Tutorial fortfahren, vergewissern Sie sich, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind. Alle Befehle in diesem Tutorial sollten als Nicht-Root-Benutzer ausgeführt werden.

Mattermost ist eine Open-Source-Plattform, die in React und Golang geschrieben ist. Es kann als alternative Messaging-Plattform verwendet werden und nutzt die PostgreSQL- oder MySQL-Datenbank im Backend. Die Hauptfunktion von Mattermost besteht darin, die Teamkommunikation zusammenzubringen und verschiedene Funktionen wie Dateifreigabe, benutzerdefinierte Emojis, Videoanrufe, Nachrichten (Einzel- oder Gruppennachrichten) usw. anzubieten.

Installieren Sie Mattermost auf Ubuntu 18.04

Schritt 1. Bevor Sie mit der Installation eines Pakets auf Ihrem Ubuntu-Server beginnen, empfehlen wir immer, sicherzustellen, dass alle Systempakete aktualisiert sind.

sudo apt update
sudo apt upgrade

Schritt 2. MySQL-Datenbank installieren.

Installation des MySQL-Pakets mit folgendem Befehl:

sudo apt install mysql-server

Das MySQL-Serverpaket enthält ein Skript namens mysql_secure_installation, das mehrere sicherheitsrelevante Vorgänge ausführen kann. Führen Sie das Skript aus, indem Sie Folgendes eingeben:

sudo mysql_secure_installation

Erstellen Sie als Nächstes eine neue Datenbank und einen neuen Benutzer für unsere Mattermost-Installation mit:

$ mysql -u root
CREATE DATABASE mattermost;
GRANT ALL ON mattermost.* TO [email protected] IDENTIFIED BY 'PassWD';

Erstellen Sie jetzt einen neuen Systembenutzer und eine neue Gruppe für die Mattermost-Instanz. In diesem Fall nennen wir unseren Benutzer am wichtigsten:

sudo useradd -U -M -d /opt/mattermost mattermost

Schritt 3. Installieren Sie Mattermost auf Ubuntu.

Laden Sie zuerst die neueste stabile Mattermost-Version herunter:

sudo curl -L https://releases.mattermost.com/5.1.0/mattermost-5.1.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
sudo mkdir -p /opt/mattermost/data

Stellen Sie sicher, dass Sie den Eigentümer des Verzeichnisses auf den wichtigsten Benutzer ändern:

sudo chown -R mattermost: /opt/mattermost

Öffnen Sie dann die Datei /opt/mattermost/config/config.json, stellen Sie den Datenbanktreiber auf mysql ein und geben Sie die Datenbankinformationen ein:

nano /opt/mattermost/config/config.json
"SqlSettings": {
    "DriverName": "mysql",
    "DataSource": "mattermost:[email protected](localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Jetzt müssen wir testen, ob der Mattermost-Server richtig funktioniert. Wechseln Sie dazu in das Verzeichnis /opt/mattermost und führen Sie dann den folgenden Befehl aus, um den Server zu starten:

cd /opt/mattermost
sudo -u mattermost bin/mattermost

Schritt 4. Systemd-Unit erstellen.

Wir werden eine Mattermost.service Unit-Datei im Verzeichnis /etc/systemd/system/ erstellen:

nano /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=network.target
After=mysql.service
Requires=mysql.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=mysql.service

Starten Sie dann den Mattermost-Dienst mit den folgenden Befehlen neu:

sudo systemctl daemon-reload
sudo systemctl start mattermost
sudo systemctl enable mattermost

Schritt 5. Richten Sie einen Reverse-Proxy mit Nginx ein.

Falls Sie Nginx nicht installiert haben, folgen Sie diesem Tutorial. Jetzt müssen wir einen neuen Serverblock für die Mattermost-Instanz einrichten:

nano /etc/nginx/conf.d/example.com.conf
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

upstream mattermost_backend {
  server 127.0.0.1:8065;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    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;
       proxy_read_timeout 600s;
       proxy_pass http://mattermost_backend;
    }

    location / {
       proxy_http_version 1.1;
       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_pass http://mattermost_backend;
    }
}

Schritt 6. Zugriff auf Mattermost.

Um den Mattermost-Dienst zu konfigurieren, gehen Sie zu Ihrem Browser und geben Sie den Domainnamen ein, wo Sie zur Anmeldeseite weitergeleitet werden.

Das ist alles, was Sie tun müssen, um Mattermost auf Ubuntu 18.04 zu installieren. Ich hoffe, Sie finden diesen schnellen Tipp hilfreich. Wenn Sie Fragen oder Anregungen haben, können Sie unten einen Kommentar hinterlassen.


Ubuntu
  1. So installieren Sie Docker unter Ubuntu 18.04

  2. So installieren Sie Apache unter Ubuntu 18.04

  3. So installieren Sie MariaDB 10.4 auf Ubuntu 18.04

  4. So installieren Sie MongoDB unter Ubuntu 18.04

  5. So installieren Sie Jenkins unter Ubuntu 18.04

So installieren Sie Tomcat 8.5 auf Ubuntu 18.04

So installieren Sie Asterisk auf Ubuntu 18.04

So installieren Sie Tomcat 9 unter Ubuntu 18.04

So installieren Sie Webmin unter Ubuntu 18.04

So installieren Sie Kodi unter Ubuntu 18.04

So installieren Sie Mattermost unter Ubuntu 18.04 LTS