Mattermost czyli darmowa alternatywa dla Slacka
Z racji iż nie jestem fanem Facebooka a Skype używam przeważnie do kontaktu z rodziną całą swoja korespondencję ze znajomymi oraz współpracownikami używałem za pomocą Slacka.
Slack? jest fajny wygodny i zawiera wszystko co potrzeba do komunikacji w zespołach ktoś by pomyślał skoro taki super to po co zmieniać?
Jak każdy tego typu soft ma też swoje wady i chyba największą z nich jest w wersji bezpłatnej limit archiwum. Piszesz coś miesiąc temu chce
sz do tego wrócić sick nie ma!
Druga wadą tego oprogramowania jest fakt że nie mamy wglądu w cały soft znajduje się on na zewnętrznych serwerach dostajemy gotowy produkt nie mamy nigdy pewności czy nikt przypadkiem nie patrzy nam na ręce.
Nie we wszystkich firmach jest zgoda na używanie zewnętrznych narzędzi.
W przypadku awarii platformy pozostaje nam jedynie czekać na naprawę sami nie mamy możliwości zerknięcia co jest nie tak ewentualnie szybkiej naprawy we własnym zakresie.
Skąd pomysł na Mattermost jako zamiennik?
Zainspirował mnie wpis Mirka na blogu webmastah.pl – 5 Darmowych alternatyw dla Slacka.
Postanowiłem potestować darmowe alternatywy. Czegoś mi brakowało we wszystkich raz nie za prosta instalacja dla typowego kowalskiego dwa wszystko wydawało się takie inne podług konkurencyjnego Slacka.
Mattermost urzekł mnie prostotą podobieństwem do Slacka oraz łatwością instalacji w mgnieniu oka zaintalujemy go na serwerze, dodatkowo zarówno panel admina jak i soft jest spolszczony!
Poniżej prezentuję banalnie prosty sposób jego instalacji:
Uaktualniamy repozytoria systemu jak i dokonujemy aktualizacji pakietów:
1 2 | sudo apt-get update sudo apt-get upgrade |
Następnie o ile już nie mamy na serwerze instalujemy serwer Mysql.
1 | sudo apt-get install mysql-server |
Jeśli mamy na serwerze serwer mysql pomijamy ten krok 😉
Po instalacji i konfiguracji serwera mysql logujemy się w terminalu na konto root:
1 | mysql -u root -p |
Po zalogowaniu tworzymy użytkownika bazy danych:
1 | mysql> create user 'mmuser'@'%' identified by 'mmuser-hasło'; |
Tym sposobem utworzyliśmy użytkownika mmuser z hasłem:mmuser-hasło.
Tworzymy bazę danych:
1 | mysql> create database mattermost; |
W moim przypadku baza ma nazwę mattermost
Następnie nadajemy uprawnienia użytkownikowi do bazy:
1 | mysql> grant all privileges on mattermost.* to 'mmuser'@'%'; |
Możemy się już wylogować z serwera mysql.
1 | mysql> exit |
Następnym krokiem jest pobranie oraz rozpakowanie serwera Mattermost.
Przechodzimy na stronę https://about.mattermost.com/download/ i pobieramy ostatnią wydaną wersję:
1 | wget https://releases.mattermost.com/4.6.0/mattermost-4.6.0-linux-amd64.tar.gz |
Rozpakowujemy archiwum:
1 | tar -xvzf mattermost-4.6.0-linux-amd64.tar.gz |
przenosimy całość do katalogu /opt
1 | mv mattermost /opt |
Tworzymy katalog gdzie będą zapisywane nasze załączniki oraz inne pliki:
1 | mkdir /opt/mattermost/data |
Z racji że nie jestem fanem wykonywania programów bezpośrednio z roota stworzymy użytkownika i przydzielimy mu odpowiednią grupę:
1 2 | useradd --system --user-group mattermost chown -R mattermost:mattermost /opt/mattermost |
I nadajemy odpowiednie uprawnienia:
1 | chmod -R g+w /opt/mattermost |
Następnie przechodzimy do edycji pliku konfiguracyjnego w celu ustawienia dostępu do bazy danych:
Otwieramy plik swoim ulubionym edytorem tekstu
1 | nano /opt/mattermost/config/config.json |
sekcja :
1 | "SqlSettings": { |
Zastępujemy domyślne ustawienia swoimi:
1 | "DataSource": "mmuser:HASŁO@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTim$ |
Zapisujemy ustawienia przechodzimy do katalogu skryptu w celu zweryfikowania poprawności wprowadzonych danych:
1 2 3 4 | cd /opt/mattermost sudo -u mattermost ./bin/platform |
W logu na dole powinniśmy zobaczyć komunikat:
Server is listening on :8065 co oznacza że całość uruchomiła się popranie i nasz serwer mattermost pracuje pod adresem :adresipserwera:8065
Tworzymy skrypt auto uruchamiający nam serwer w przypadku restartu:
1 2 3 | sudo touch /lib/systemd/system/mattermost.service nano /lib/systemd/system/mattermost.service |
i uzupełniamy:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [Unit] Description=Mattermost After=network.target After=mysql.service Requires=mysql.service [Service] Type=simple ExecStart=/opt/mattermost/bin/platform Restart=always RestartSec=10 WorkingDirectory=/opt/mattermost User=mattermost Group=mattermost LimitNOFILE=49152 [Install] WantedBy=multi-user.target |
Zapisujemy plik przeładowujemy demona i uruchamiamy.
1 | sudo systemctl daemon-reload |
Sprawdzamy status:
1 | sudo systemctl status mattermost.service |
Powinniśmy otrzymać wynik:
1 2 3 | ● mattermost.service - Mattermost Loaded: loaded (/lib/systemd/system/mattermost.service; disabled; vendor preset: enabled) Active: inactive (dead) |
1 2 | sudo systemctl start mattermost.service sudo systemctl enable mattermost.service |
To tyle całość powinna pracować poprawnie.
Przechodzimy terazna stronę http://adresipserwera:8065 i przechodzimy proces konfiguracji.
Podany wyżej sposób testowałem zarówno na Ubuntu i na Debianie.
Strona projektu: https://about.mattermost.com/