Mattermost auf Debian 9 Installieren

Aus bknowledgebase
Zur Navigation springen Zur Suche springen

Einleitung[Bearbeiten]

Der Einsatz eines collaboration und Chat Tools wie Mattermost bietet sich heutzutage an. Z.B. auch um Last und Daten vom Mailserver fernzuhalten. Hier eine Kurzanleitung für die Installation.

Virtuelle Maschine[Bearbeiten]

Am einfachsten ist es eine virtuelle Maschine auf VM-Ware oder Hyper-V basis o.ä. zu nutzen. Man kann auch Docker verwenden aber das wird hier nicht behandelt.

Betriebssystem[Bearbeiten]

Zur zeit wird auf der Mattermost Website nur von Debian 8 gesprochen. Ich installiere es trotzdem testweise auf dem neuesten Debian 9 und berichte ob alles glatt läuft.

Ich werde hier keine Grundinstallation von Linux erklären. Dazu an anderer Stelle ggf. mehr.

1. Betriebssystem installieren 2. Open-VM-Tools installieren 3. IP-Adresse(n) vergeben 4. ggf. ssh konfigurieren


Aktueller Stand[Bearbeiten]

Ich gehe davon aus, dass man das System auf den neuesten Stand bringt.

apt-get update && apt-get dist-upgrade

Sudo und Curl installieren[Bearbeiten]

apt-get install sudo curl

Direkt noch den gewünschten Sudo-Admin hinzufügen

usermod -a -G sudo <username>

MySQL Installieren[Bearbeiten]

Im Gegensatz zur offiziellen Doku installiere ich außerdem mariaDB. Dies ist auch in diesem Fall zu beachten, da weiter unten auch der Service via "mariadb.service" angesprochen wird. s.u.

sudo apt-get install mysql-client mysql-server && sudo mysql_secure_installation

Root kennwort festlegen, anonymen User entfernen usf.

Datenbank vorbereiten[Bearbeiten]

sudo mysql -u root -p

Mattermost User anlegen

create user 'mattermost'@'%' identified by 'mypassword';

Mattermost DB anlegen

create database mattermost;

Dem neuen User Berechtigungen auf die neue DB geben

grant all privileges on mattermost.* to 'mattermost'@'%';

Ausloggen

exit


Mattermost installieren[Bearbeiten]

Die neueste Version von Mattermost gibts hier: https://mattermost.com/download/


Diese also herunterladen


mkdir /tmp/mattermost
cd /tmp/mattermost
wget https://releases.mattermost.com/5.3.1/mattermost-5.3.1-linux-amd64.tar.gz

Entpacken, ins Zielverzeichnis verschieben UND DATA-Directory erstellen

sudo tar -xvzf mattermost-5.3.1-linux-amd64.tar.gz
sudo mv mattermost /opt
sudo mkdir /opt/mattermost/data

Serviceuser und Rechte[Bearbeiten]

sudo useradd --system --user-group mattermost (systemuser und gruppe erstellen)
sudo chown -R mattermost:mattermost /opt/mattermost
sudo chmod -R g+w /opt/mattermost

Datenbanktreiber konfigurieren[Bearbeiten]

Je nachdem ob man postgres oder mysql verwendet (hier nur mysql)

sudo nano /opt/mattermost/config/config.json

Und folgendes eintragen

DriverName "mysql"
DataSource "mattermost:<mypassword>@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"

Natürlich User, Passwort und IP-Adresse eintragen.

Mattermost testen[Bearbeiten]

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

Wenn alles läuft sollte jetzt Loginfo ausgegeben werden in etwa:

Server is listening on :8065

Einfach Beenden mit "STRG + C"

Mattermost Service installieren[Bearbeiten]

sudo touch /lib/systemd/system/mattermost.service
sudo nano /lib/systemd/system/mattermost.service


und folgendes Eintragen

 [Unit]
 Description=Mattermost
 After=network.target
 After=mariadb.service
 Requires=mariadb.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=multi-user.target

Und direkt den neuen Service mit laden lassen

sudo systemctl daemon-reload
sudo service mattermost status
sudo service mattermost start
sudo service mattermost status


Service beim Systemstart starten

sudo systemctl enable mattermost.service


Test via Browser[Bearbeiten]

http://IP-Adresse:8065

oder lokal

curl http://localhost:8065


Mattermost konfigurieren[Bearbeiten]

Ich würde erstmal den Server per DNS Erreichbar machen, damit man Ihn schön mit seinem Namen ansprechen kann.

->DNS Eintrag für mattermost -> IP-Adresse-des-Servers

Dann also via Browser aufrufen

http://mattermost:8065


Jetzt einfach einen user anlegen über die Oberfläche. Der erste angelegte User hat automatisch die Rolle "system_admin" und somit Zugriff auf die "System Console".


Site URL setzen[Bearbeiten]

sudo nano /opt/mattermost/config/config.json

Und unter SiteURL einfach die Gewünschte URL wählen.

Sprachen Einstellen[Bearbeiten]

Via

sudo nano /opt/mattermost/config/config.json

kann man jetzt unter Nutzung von "DefaultClientLocale" und "DefaultServerLocale" z.B. einstellen in welcher Sprache Logs und Servermessages üblicherweise ausgegeben werden (DefaultServerLocale) oder welche Sprache die Clients standardmäßig haben.


Port 80 oder 443[Bearbeiten]

Damit der Mattermost Service an einen Wenn known Port (<1024) binden kann muss man folgendes tun

sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost

In Debian 9 gibt es "setcap" standardmäßig nicht, dann muss man das nochmal via

sudo apt-get install libcap2-bin

nachinstallieren, dann gehts... ;)


jetzt kann man entweder über die Weboberfläche oder die "config.json" den Port (ListenAddress) z.B. auf 80 stellen und den Service neu starten.

sudo nano /opt/mattermost/config/config.json
service mattermost restart

Weiteres[Bearbeiten]

Viele Weitere Einstellungen gibt es zu entdecken. Mehr dazu hier:

https://docs.mattermost.com/administration/config-settings.html#site-url


H@ppy H@cking