Instalacja Mattermost w systemie Centos 8
poniższy poradnik opisuje spób instalacji oprogramowania Mattermost w systemie CentOS 8.
Całość wykonamy za pomocą terminala wydając kilka komend.
Na początek instalujemy serwer mysql poleceniem:
1 | dnf install mariadb-server -y |
Uruchamiamy go w systemie:
1 2 | systemctl start mariadb systemctl enable mariadb |
Przechodzimy do konfiguracji serwera mysql i nadajemy hasło root wydając polecenie:
1 | mysql_secure_installation |
Odpowiadamy na pytania następująco:
1 2 3 4 5 6 7 8 | Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y |
Podczas tego procesu nadamy hasło root.
Kolejny krok to utworzenie bazy danych i użytkownika. Logujemy się do mysql poleceniem:
1 | mysql -u root -p |
Podajemy wcześniej nadane przez nas hasło root i tworzymy bazę danych:
1 | CREATE DATABASE mattermostdb; |
Następnie tworzymy użytkownika i nadajemy mu uprawnienia:
1 | GRANT ALL PRIVILEGES ON mattermostdb.* TO mattermost@localhost IDENTIFIED BY 'naszehasło'; |
naszehasło oczywiście zastępujemy swoim dowolnym hasłem.
Przeładowujemy uprawnienia i wychodzimy z mysql
1 2 | FLUSH PRIVILEGES; EXIT; |
Instalacja Mattermost
Na początek dodajemy użytkownika systemu:
1 | useradd -d /opt/mattermost -U -M mattermost |
Pobieramy Mattermosta poleceniem:
1 | wget https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz |
Rozpakowujemy:
1 | tar -xvzf mattermost-5.21.0-linux-amd64.tar.gz |
Przenosimy pliki Mattermosta do katalogu /opt
1 | mv mattermost /opt/ |
Nadajemy odpowiednie uprawnienia:
1 2 3 | mkdir /opt/mattermost/data chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost |
Konfiguracja Mattermost
Edytujemy plik konfiguracyjny mattermosta aby połączyć go z wcześniej utworzoną bazą danych
1 | nano /opt/mattermost/config/config.json |
Odnajdujemy sekcję „SqlSettings”: { i konfigurujemy w następujący sposób:
1 2 3 | "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:naszehasło@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s", |
Możemy już przejść do katalogu skryptu i wstępnie go uruchomić:
1 2 | cd /opt/mattermost sudo -u mattermost bin/mattermost |
Powinniśmy zobaczyć log jak poniżej, wszystko jest OK.
1 2 3 4 5 6 | {"level":"info","ts":1585379681.8383002,"caller":"utils/i18n.go:83","msg":"Loaded system translations","for locale":"en","from locale":"/opt/mattermost/i18n/en.json"} {"level":"info","ts":1585379681.83874,"caller":"app/server_app_adapters.go:58","msg":"Server is initializing..."} {"level":"info","ts":1585379681.8470004,"caller":"sqlstore/supplier.go:221","msg":"Pinging SQL","database":"master"} {"level":"info","ts":1585379684.7858346,"caller":"sqlstore/upgrade.go:112","msg":"The database schema version has been set","version":"5.21.0"} {"level":"error","ts":1585379690.8182986,"caller":"app/server_app_adapters.go:129","msg":"SiteURL must be set. Some features will operate incorrectly if the SiteURL is not set. See documentation for details: http://about.mattermost.com/default-site-url"} {"level":"info","ts":1585379690.821083,"caller":"app/license.go:39","msg":"License key from https://mattermost.com required to unlock enterprise features."} |
Mattermosta zatrzymujemy przytrzymując klawisze CRTL + C
Kolejny krok to utworzenie usługi systemowej abyśmy mogli nią prościej zarządzać i aby uruchamiała się w tle.
Tworzymy plik /etc/systemd/system/mattermost.service
1 | nano /etc/systemd/system/mattermost.service |
O podanej zawartości:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [Unit] Description=Mattermost After=syslog.target network.target mariadb.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/run/mattermost.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target |
Przeładowujemy demona:
1 | systemctl daemon-reload |
Uruchamiamy usługę:
1 2 | systemctl start mattermost systemctl enable mattermost |
Status możemy usługi możemy zobaczyć wydając polecenie:
1 | systemctl status mattermost |
Poniżej przykładowy log:
1 2 3 4 5 6 7 8 9 10 11 12 | mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-28 03:17:07 EDT; 14s ago Main PID: 15204 (mattermost) Tasks: 21 (limit: 25028) Memory: 120.8M CGroup: /system.slice/mattermost.service ??15204 /opt/mattermost/bin/mattermost ??15214 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64 Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131086,"caller":"app/server.go:247","msg":"Printing current workin> Mar 28 03:17:07 centos8 mattermost[15204]: {"level":"info","ts":1585379827.1131282,"caller":"app/server.go:248","msg":"Loaded config","source"> |
Całość powinna działać prawidłowo, Mattermost powinien odpowiadać wydając w przeglądarce naszadresip:8065
Po przejściu na podany adres powinniśmy dokonać wstępnej konfiguracji usługi.