Mattermost auf Debian 9 Installieren
Inhaltsverzeichnis
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