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

So installieren Sie Mattermost mit PostgreSQL und Nginx unter Ubuntu 16.04

Mattermost ist ein Open-Source-Messaging-System, das in den Programmiersprachen Golang und React geschrieben ist. Es ist eine Slack-Alternative, wir können damit unseren eigenen Messaging-Dienst wie Slack oder Hipchat aufbauen. Mattermost bringt Ihre Teamkommunikation an einen einzigen Ort und macht sie überall zugänglich. Sie können von Ihrem Desktop, Android-Gerät und iPhone darauf zugreifen.

In diesem Tutorial werde ich Sie anleiten, Ihren eigenen Mattermost-Server zu erstellen, der PostgreSQL als Datenbanksystem und Nginx als Reverse-Proxy für Mattermost verwendet. Als Betriebssystem werde ich Ubuntu 16.04 verwenden.

Voraussetzung

  • Ubuntu 16.04 – 64 Bit
  • Root-Berechtigungen

Schritt 1 – Installieren und konfigurieren Sie die PostgreSQL-Datenbank

Mattermost unterstützt MySQL- und PostgreSQL-Datenbanken. Wir werden PostgreSQL als Hauptdatenbank für dieses Tutorial verwenden. Verbinden Sie sich mit Ihrem Server und aktualisieren Sie das Repository.

Verbinden Sie sich per SSH mit Ihrem Server oder melden Sie sich am Terminal an und aktualisieren Sie das Ubuntu-Repository.

ssh [email protected]
sudo apt-get update

Installieren Sie als Root-Benutzer PostgreSQL mit diesem apt-Befehl.

sudo apt-get install postgresql postgresql-contrib

Melden Sie sich nach Abschluss der Installation beim Postgres-Benutzer an und geben Sie den Befehl „psql“ ein ', um sich bei der Postgresql-Shell anzumelden.

su - postgres
psql

Ändern Sie das Postgres-Benutzerpasswort mit dem folgenden Befehl:

\password postgres
Enter new password:

Als nächstes müssen wir eine neue Datenbank und einen neuen Benutzer für die Mattermost-Installation konfigurieren. Ich werde eine neue Datenbank mit dem Namen "mattermostdb" erstellen ' und Benutzer 'matteruser ' mit dem Passwort 'matterpassword '. Bitte wählen Sie ein sicheres Passwort für Ihre Installation.

Erstellen Sie die neue Datenbank und den neuen Benutzer mit der folgenden PostgreSQL-Abfrage:

CREATE DATABASE mattermostdb;
CREATE USER matteruser WITH PASSWORD 'matterpassword';

Erteilen Sie 'Matteruser ' Berechtigungen für die Datenbank 'mattermostdb ' und beenden.

GRANT ALL PRIVILEGES ON DATABASE mattermostdb TO matteruser;
\q

Schritt 2 - Mattermost installieren und konfigurieren

Wir werden Mattermost als normaler Linux-Benutzer installieren und konfigurieren, nicht als Root-Benutzer. Wir werden Mattermost als Benutzer „Matter“ ausführen, also müssen wir einen neuen Linux-Benutzer namens „Matter“ auf dem Server erstellen.

Erstellen Sie eine neue 'Angelegenheit ' Benutzer und Passwort.

useradd -m -s /bin/bash matter
passwd matter

'Matter'-Benutzer erstellt, melden Sie sich jetzt beim Benutzer an und laden Sie die neueste Mattermost-Version mit wget herunter.

su - matter
wget https://releases.mattermost.com/3.4.0/mattermost-3.4.0-linux-amd64.tar.gz

Extrahieren Sie die Mattermost-Datei und Sie werden das neue Verzeichnis ‚mattermost‘ sehen, geben Sie dieses Verzeichnis mit dem cd-Befehl ein.

tar -xzvf mattermost-3.4.0-linux-amd64.tar.gz
cd mattermost/

Erstellen Sie als Nächstes ein neues „data“-Verzeichnis zum Speichern der Benutzerdateien und bearbeiten Sie dann die wichtigste Konfigurationsdatei „config/config.json ' mit vim.

mkdir data/
vim config/config.json

Wir werden Mattermost hinter einem Nginx-Reverse-Proxy ausführen, daher ist es besser, Mattermost so zu konfigurieren, dass es die lokale IP-Adresse abhört. In den 'ServiceSettings ' Block, fügen Sie die IP-Adresse des lokalen Hosts zur Konfiguration in Zeile 4 hinzu.

"ListenAddress": "127.0.0.1:8065",

Gehen Sie nun zu den 'SqlSettings ' in Zeile 48. Ändern Sie den 'DriverName ' und 'Datenquelle '-Konfiguration, um die PostgreSQL-Datenbank mit der folgenden Konfiguration zu verwenden:

"DriverName": "postgres",
"DataSource": "postgres://matteruser:[email protected]:5432/mattermostdb?sslmode=disable&connect_timeout=10",

Hinweis:

Matteruser =postgresql-Benutzer.
Matterpassword =das Passwort.
mattermostdb =die Datenbank.

Speichern und beenden.

Wenn dies erledigt ist, gehen Sie in das bin-Verzeichnis und führen Sie mattermost.

aus
cd bin/
./platform

Sie werden sehen, dass Mattermost jetzt auf der Localhost-IP mit Port 8065 läuft.

Drücken Sie zum Beenden Strg + c.

Schritt 3 - Mattermost Systemd Service konfigurieren

Gehen Sie in das systemd-Systemverzeichnis und erstellen Sie eine neue Mattermost-Servicedatei.

cd /etc/systemd/system/
vim mattermost.service

Konfiguration unten einfügen:

[Unit]
Description=Mattermost is an open source, self-hosted Slack-alternative
After=syslog.target network.target

[Service]
Type=simple
User=matter
Group=matter
ExecStart=/home/matter/mattermost/bin/platform
PrivateTmp=yes
WorkingDirectory=/home/matter/mattermost
Restart=always
RestartSec=30
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Speichern und beenden.

Laden Sie den systemd-Daemon neu und starten Sie den oben erstellten Mattermost-Dienst.

systemctl daemon-reload
systemctl start mattermost

Stellen Sie sicher, dass kein Fehler vorliegt. Überprüfen Sie, ob der Mattermost-Dienst ausgeführt wird.

netstat -plntu
systemctl status mattermost

Schritt 4 – Nginx installieren und konfigurieren

In diesem Schritt werden wir Nginx installieren und Nginx als Reverse-Proxy für Mattermost konfigurieren. Wir werden den wichtigsten Port 8056 dem HTTP- und HTTPS-Port zuordnen.

Installieren Sie Nginx aus dem Ubuntu-Repository mit diesem apt-Befehl.

sudo apt-get install nginx

Gehen Sie nun in das Nginx-Konfigurationsverzeichnis und erstellen Sie das SSL-Unterverzeichnis.

cd /etc/nginx/
mkdir ssl/; cd ssl/

Generieren Sie eine neue selbstsignierte SSL-Zertifikatsdatei mit OpenSSL und ändern Sie die Berechtigungen des privaten Schlüssels.

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/ssl/mattermost.crt -keyout /etc/nginx/ssl/mattermost.key
chmod 400 mattermost.key

Erstellen Sie eine neue virtuelle Hostdatei für Mattermost in der Datei „Sites-Available ' Verzeichnis.

cd /etc/nginx/sites-available/
vim mattermost

Fügen Sie die Konfiguration des virtuellen Hosts unten ein:

server {
   listen         80;
   server_name    mattermost.mydomain.com;
   return         301 https://$server_name$request_uri;
}

server {
   listen 443 ssl;
   server_name mattermost.mydomain.com;

   ssl on;
   ssl_certificate /etc/nginx/ssl/mattermost.crt;
   ssl_certificate_key /etc/nginx/ssl/mattermost.key;
   ssl_session_timeout 5m;
   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
   ssl_prefer_server_ciphers on;
   ssl_session_cache shared:SSL:10m;

   location / {
      gzip off;
      proxy_set_header X-Forwarded-Ssl on;
      client_max_body_size 50M;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection "upgrade";
      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_pass http://127.0.0.1:8065;
   }
}

Ändern Sie den Domainnamen in Ihre eigene Domain, speichern und beenden Sie.

Aktivieren Sie den virtuellen Host, indem Sie einen symbolischen Link zur wichtigsten Datei in der Datei „sites-enabled“ erstellen ' Verzeichnis.

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie nginx neu.

nginx -t
systemctl restart nginx

Schritt 5 – Testen

Öffnen Sie Ihren Webbrowser und besuchen Sie den Mattermost-Domainnamen, in meinem Fall:Mattermost.mydomain.com.

Sie werden automatisch auf die HTTPS-Verbindung umgeleitet.

Erstellen Sie zuerst ein neues Konto, klicken Sie auf 'Konto erstellen '.

Dann sehen Sie den Link zum Erstellen neuer Teams oder zum Zugriff auf die Admin-/Systemkonsole.

Klicken Sie auf 'Zur Systemkonsole gehen ' und Sie sehen das Systemkonsolen-Dashboard unten:

Klicken Sie auf 'Neues Team erstellen ', geben Sie Ihren Teamnamen ein und klicken Sie auf 'Weiter '. Konfigurieren Sie dann die Team-URL und klicken Sie auf 'Fertig stellen ' Schaltfläche.

Schließlich sehen Sie das Team-Dashboard.

Mattermost Team Chat.

Mattermost mit PostgreSQL und Nginx-Webserver auf Ubuntu 16.04 wurde erfolgreich installiert.


Ubuntu
  1. So installieren und sichern Sie phpMyAdmin mit Apache unter Ubuntu 18.04

  2. So installieren Sie phpMyAdmin mit Nginx unter Ubuntu 18.04

  3. So installieren Sie MediaWiki mit Nginx unter Ubuntu 16.04

  4. So installieren Sie Postgresql und phpPgAdmin unter Ubuntu 15.04

  5. So installieren Sie Nginx mit PHP5 und MySQL unter Ubuntu 11.10

So installieren Sie PostgreSQL und phpPgAdmin unter Ubuntu 16.04

So installieren Sie Redmine 3.2 mit Nginx unter Ubuntu 16.04

So installieren Sie Django mit PostgreSQL und Nginx unter Ubuntu 16.04

So installieren Sie OSClass mit Nginx unter Ubuntu 20.04

So installieren Sie Wordpress mit Nginx, MariaDB und HHVM in Ubuntu 15.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04