Motherless Brooklyn
Inhaltsverzeichnis:
- Voraussetzungen
- Erstellen Sie eine MySQL-Datenbank
- Erstellen Sie einen neuen Systembenutzer
- Installieren Sie den Mattermost Server
- Erstellen Sie eine Systemd Unit
- Richten Sie mit Nginx einen Reverse Proxy ein
- Konfigurieren von Mattermost
- Fazit
Mattermost ist eine Open-Source-Instant-Messaging-Plattform, eine selbst gehostete Slack-Alternative. Es ist in Golang and React geschrieben und kann MySQL oder PostgreSQL als Datenbank-Backend verwenden. Mit Mattermost haben Sie die gesamte Teamkommunikation an einem Ort und können verschiedene Funktionen wie Filesharing, Einzel- und Gruppen-Messaging, benutzerdefinierte Emojis, Videoanrufe und mehr nutzen. In diesem Tutorial zeigen wir Ihnen, wie Sie Mattermost auf einem CentOS 7-Server bereitstellen und Nginx als SSL-Reverse-Proxy konfigurieren.
Voraussetzungen
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:
- Sie sind als Benutzer mit sudo-Berechtigungen angemeldet. Sie haben einen Domainnamen, der auf Ihre Server-IP-Adresse verweist. Wir verwenden
linuxize-test.com
Sie haben Nginx installiert, wenn Sie dieses Handbuch nicht lesen. Sie haben ein SSL-Zertifikat für Ihre Domain installiert. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren, indem Sie dieser Anleitung folgen.
Erstellen Sie eine MySQL-Datenbank
Wir werden MariaDB 10.3 als Datenbank-Backend verwenden. Mattermost funktioniert nicht mit MariaDB Version 5.5.
Melden Sie sich bei der MySQL-Shell an:
mysql -u root -p
Führen Sie die folgenden Befehle aus, um eine neue Datenbank und einen neuen Benutzer für unsere Mattermost-Installation zu erstellen:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Erstellen Sie einen neuen Systembenutzer
Führen Sie den folgenden Befehl aus, um einen neuen Benutzer und eine neue Gruppe mit dem Namen
mattermost
zu
mattermost
, die die Mattermost-Installation ausführen:
sudo useradd -U -M -d /opt/mattermost mattermost
Installieren Sie den Mattermost Server
Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste stabile Version von Mattermost Version 5.4.0. Bevor Sie mit dem nächsten Schritt fortfahren, sollten Sie auf der Mattermost-Download-Seite nachsehen, ob eine neuere Version verfügbar ist.
Laden Sie das Archiv mit dem folgenden Befehl herunter:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv und verschieben Sie es in das
opt
Verzeichnis:
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
Erstellen Sie das Speicherverzeichnis für Dateien:
sudo mkdir /opt/mattermost/data
Ändern Sie den Verzeichnisbesitz auf den
mattermost
Benutzer:
sudo chown -R mattermost: /opt/mattermost
Öffnen Sie die Datei
config.json
mit Ihrem bevorzugten Texteditor:
sudo nano /opt/mattermost/config/config.json
Setzen Sie den Datenbanktreiber auf
mysql
, geben Sie den Datenbanknamen und das Kennwort des Datenbankbenutzers ein, die wir zuvor in diesem Lernprogramm erstellt haben:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
Um unsere Installation zu testen, um sicherzustellen, dass alles funktioniert, bevor systemd unit erstellt und ein Reverse-Proxy mit Nginx eingerichtet wird, starten wir den Mattermost-Server.
Wechseln Sie in das Verzeichnis
/opt/mattermost
und starten Sie den Server:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Die Ausgabe sollte zeigen, dass der Mattermost-Server Port
8065
:
{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}
Sie können den Mattermost-Server jetzt mit STRG
CTRL+C
anhalten und mit den nächsten Schritten fortfahren.
Erstellen Sie eine Systemd Unit
Um unsere Mattermost-Instanz als Service
mattermost.service
, erstellen wir eine
mattermost.service
Unit-Datei im Verzeichnis
/etc/systemd/system/
mit folgendem Inhalt:
Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target
Benachrichtigen Sie systemd, dass wir eine neue Unit-Datei erstellt haben, und starten Sie den Mattermost-Dienst, indem Sie Folgendes ausführen:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Wir können jetzt den Servicestatus mit dem folgenden Befehl überprüfen:
sudo systemctl status mattermost
● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost
Aktivieren Sie schließlich, dass der Mattermost-Dienst beim Booten automatisch gestartet wird:
sudo systemctl enable mattermost
Richten Sie mit Nginx einen Reverse Proxy ein
/etc/nginx/conf.d/linuxize-test.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 linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.com-error.log; location ~ /api/v+/(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; } }
Laden Sie den Nginx-Dienst neu, damit die Änderungen wirksam werden:
Konfigurieren von Mattermost
Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und erstellen Sie Ihr erstes Konto:
und geben Sie Ihre SMTP-Parameter ein. Sie können alle gängigen Transaktions-E-Mail-Dienste wie SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet und Poststempel verwenden oder Ihren eigenen Mailserver einrichten.
Schließlich müssen wir den Mattermost-Dienst neu starten, damit die Änderungen wirksam werden:
sudo systemctl restart mattermost
Fazit
Sie haben Mattermost erfolgreich auf Ihrem CentOS 7-Server installiert und Nginx als Reverse-Proxy eingerichtet. Sie können nun Mattermost verwenden, um mit Ihrem Team zusammenzuarbeiten.
mattermost nodejs centosWie lange dauert es, bis ich das Steam-Library-Backlog überbrückt habe? Wenn Sie diese Frage haben, erfahren Sie auf der Wie lange zu schlagen Rechner Website, wie viele Stunden Sie benötigen, um Ihre Steam Library fertig zu stellen. Gut für Spieler auf Steam, die mit einem Überhang an Spielen feststecken, die sie vielleicht niemals spielen können.
Wie lange dauert es, bis ich den Rückstand meiner Steam-Bibliothek überwunden habe? Wenn Sie diese Frage haben, wird Ihnen auf der Rechner-Website
Erstellen und Implementieren von Microsoft-Tags
Dieses Handbuch von Microsoft bietet Best Practices zum Erstellen von Tags in verschiedenen Medientypen und behandelt die bewährten Methoden zum Testen von Tags im Feld.
Maximieren Sie den AdSense-Umsatz durch einfaches Implementieren von Section-Targeting
Nice WordPress-Plugins zur Implementierung der AdSense-Bereichsausrichtung. Google empfiehlt eine Bereichsausrichtung, um Ihren AdSense-Umsatz zu maximieren, wenn Sie mit den aktuellen Einnahmen nicht zufrieden sind.