poniższy poradnik opisuje spób instalacji oprogramowania Mattermost w systemie Alma Linux 8.
Całość wykonamy za pomocą terminala wydając kilka komend.
Na początek instalujemy serwer mysql poleceniem:
dnf install mariadb-server -y
Uruchamiamy go w systemie:
systemctl start mariadb systemctl enable mariadb
Przechodzimy do konfiguracji serwera mysql i nadajemy hasło root wydając polecenie:
mysql_secure_installation
Odpowiadamy na pytania następująco:
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:
mysql -u root -p
Podajemy wcześniej nadane przez nas hasło root i tworzymy bazę danych:
CREATE DATABASE mattermostdb;
Następnie tworzymy użytkownika i nadajemy mu uprawnienia:
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
FLUSH PRIVILEGES; EXIT;
Instalacja Mattermost
Na początek dodajemy użytkownika systemu:
useradd --system --user-group mattermost
Pobieramy Mattermosta poleceniem:
wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz
Rozpakowujemy:
tar -xf mattermost-6.0.2-linux-amd64.tar.gz
Przenosimy pliki Mattermosta do katalogu /opt
mv mattermost /opt
Nadajemy odpowiednie uprawnienia:
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
nano /opt/mattermost/config/config.json
Odnajdujemy sekcję „SqlSettings”: { i konfigurujemy w następujący sposób:
"SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:naszehasło@tcp(localhost:3306)/mattermostdb?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
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
nano /etc/systemd/system/mattermost.service
O podanej zawartości:
[Unit] Description=Mattermost After=syslog.target network.target mysqld.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target
Przeładowujemy demona:
systemctl daemon-reload
Uruchamiamy usługę:
systemctl start mattermost systemctl enable mattermost
Status możemy usługi możemy zobaczyć wydając polecenie:
systemctl status mattermost
Poniżej przykładowy log:
? mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-01-15 14:12:29 UTC; 7s ago Main PID: 15201 (mattermost) Tasks: 32 (limit: 11411) Memory: 265.2M CGroup: /system.slice/mattermost.service ??15201 /opt/mattermost/bin/mattermost ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64 ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64 ??15308 plugins/playbooks/server/dist/plugin-linux-amd64 ??15313 plugins/focalboard/server/dist/plugin-linux-amd64 Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Sent notification of next survey> Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictio> Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]> Jan 15 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n -- collation of mattermost> Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z> Jan 15 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]> Jan 15 14:12:29 almalinux8 systemd[1]: Started Mattermost. Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Starting Server...","caller":"ap> Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Server is listening on [::]:8065> Jan 15 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>
Konfiguracja Reverse Proxy Nginx
instalujemy Nginxa wydając polecenie:
dnf install nginx -y
tworzymy vhosta
nano /etc/nginx/conf.d/mattermost.conf
O zawartości:
server { listen 80; server_name mattermost.domena.pl; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://localhost:8065/; index index.html index.htm; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
Zapisujemy i przeładowujemy usługi:
systemctl start nginx
systemctl restart nginx
systemctl enable nginx
Dodajemy całość do firewalla i przeładowujemy.:
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
To wszystko mattermost powinien być dostępny pod adresem mattermost.domena.pl
Dokonujemy wstępnej konfiguracji naszego konta administratora i po krótkiej chwili całość wygląda następująco.
Poniższy poradnik opisuje sposób instalacji KeePass w systemie Ubuntu. Całość wykonamy za pomocą kilku poleceń…
Master PDF Editor to wszechstronny program PDF, który zawiera wiele funkcji. Oprócz tworzenia i edycji…
Iotop jest prostym narzędziem dla systemów Uniksowych umożliwiającym monitorowanie użycia dowolnego nośnika pamięci flash/hdd/ssd w…
Możesz oddzielić dwa lub więcej poleceń za pomocą średników (;), Średnik (;): służy do oddzielania…
Poniższy poradnik opisuje w jaki sposób za pomocą konsoli możemy dokonać edycji danych zdjęcia exif.…
Poniższy poradnik opisuje sposób instalacji Rocket.Chat W systemie Rocky Linux 8 Całość bardzo prosto zainstalujemy…