How to Deploy a Let's Chat Server on CentOS 7
Spisu treści:
- Wymagania wstępne
- Utwórz bazę danych MySQL
- Utwórz nowego użytkownika systemu
- Zainstaluj Mattermost Server
- Utwórz jednostkę systemową
- Skonfiguruj odwrotnego proxy za pomocą Nginx
- Konfigurowanie Mattermost
- Wniosek
Mattermost to platforma do przesyłania wiadomości błyskawicznych typu open source, będąca alternatywą dla Slacka. Jest napisany w Golang i React i może wykorzystywać MySQL lub PostgreSQL jako backend bazy danych. Mattermost przenosi całą komunikację Twojego zespołu w jedno miejsce i zapewnia różne funkcje, w tym udostępnianie plików, wiadomości jeden na jednego i grupowe, niestandardowe emoji, rozmowy wideo i wiele innych. W tym samouczku pokażemy, jak wdrożyć Mattermost na serwerze CentOS 7 i skonfigurować Nginx jako odwrotne proxy SSL.
Wymagania wstępne
Przed kontynuowaniem tego samouczka upewnij się, że zostały spełnione następujące wymagania wstępne:
- Jesteś zalogowany jako użytkownik sudo. Nazwa domeny wskazuje adres IP twojego serwera. Użyjemy
linuxize-test.com.linuxize-test.comzainstalowanego Nginx, jeśli nie, sprawdź ten przewodnik. Masz zainstalowany certyfikat SSL dla swojej domeny. Możesz zainstalować bezpłatny certyfikat Let's Encrypt SSL postępując zgodnie z tym przewodnikiem.
Utwórz bazę danych MySQL
Będziemy używać MariaDB 10.3 jako zaplecza bazy danych. Mattermost nie będzie działał z MariaDB w wersji 5.5.
Zaloguj się do powłoki MySQL:
mysql -u root -p
I uruchom następujące polecenia, aby utworzyć nową bazę danych i użytkownika dla naszej instalacji Mattermost:
create database mattermost;
GRANT ALL ON mattermost.* TO mattermost@localhost IDENTIFIED BY 'P4ssvv0rD';
Utwórz nowego użytkownika systemu
Aby utworzyć nowego użytkownika i grupę o nazwie
mattermost
, która uruchomi instalację Mattermost, uruchom następującą komendę:
sudo useradd -U -M -d /opt/mattermost mattermost
Zainstaluj Mattermost Server
W chwili pisania tego artykułu najnowszą stabilną wersją Mattermost jest wersja 5.4.0. Przed przejściem do następnego kroku sprawdź stronę pobierania Mattermost, aby sprawdzić, czy dostępna jest nowsza wersja.
Pobierz archiwum za pomocą następującego polecenia curl:
sudo curl -L https://releases.mattermost.com/5.4.0/mattermost-5.4.0-linux-amd64.tar.gz -o /tmp/mattermost.tar.gz
Po zakończeniu pobierania rozpakuj archiwum i przenieś je do katalogu
opt
:
sudo tar zxf /tmp/mattermost.tar.gz -C /opt
Utwórz katalog przechowywania plików:
sudo mkdir /opt/mattermost/data
Zmień własność katalogu na
mattermost
użytkownika:
sudo chown -R mattermost: /opt/mattermost
Otwórz plik
config.json
w swoim ulubionym edytorze tekstu:
sudo nano /opt/mattermost/config/config.json
Ustaw sterownik bazy danych na
mysql
, wprowadź nazwę bazy danych i hasło użytkownika bazy danych, które utworzyliśmy wcześniej w tym samouczku:
… "SqlSettings": { "DriverName": "mysql", "DataSource": "mattermost:P4ssvv0rD@tcp(localhost:3306)/mattermost?charset=utf8mb4, utf8&readTimeout=30s&writeTimeout=30s", "DataSourceReplicas":,…
Aby przetestować naszą instalację, aby upewnić się, że wszystko działa przed utworzeniem jednostki systemowej i skonfigurowaniem odwrotnego proxy za pomocą Nginx, uruchomimy serwer Mattermost.
Przejdź do katalogu
/opt/mattermost
i uruchom serwer:
cd /opt/mattermost
sudo -u mattermost bin/mattermost
Dane wyjściowe powinny wskazywać, że serwer Mattermost nasłuchuje na porcie
8065
:
{"level":"info", "ts":1540921243.6797202, "caller":"app/plugin.go:100", "msg":"Starting up plugins"} {"level":"info", "ts":1540921244.3483207, "caller":"app/server.go:88", "msg":"Starting Server…"} {"level":"info", "ts":1540921244.3488805, "caller":"app/server.go:148", "msg":"Server is listening on:8065"} {"level":"info", "ts":1540921244.3620636, "caller":"app/web_hub.go:75", "msg":"Starting 2 websocket hubs"} {"level":"info", "ts":1540921244.451155, "caller":"jobs/workers.go:63", "msg":"Starting workers"} {"level":"info", "ts":1540921244.456804, "caller":"jobs/schedulers.go:68", "msg":"Starting schedulers."}
Możesz teraz zatrzymać serwer Mattermost za pomocą
CTRL+C
i przejść do następnych kroków.
Utwórz jednostkę systemową
Aby uruchomić naszą instancję Mattermost jako usługę,
mattermost.service
plik jednostki
mattermost.service
w katalogu
/etc/systemd/system/
o następującej treści:
Description=Mattermost After=network.target nss-lookup.target mariadb.service Type=notify WorkingDirectory=/opt/mattermost User=mattermost SyslogIdentifier=mattermost ExecStart=/opt/mattermost/bin/mattermost TimeoutStartSec=3600 LimitNOFILE=49152 WantedBy=multi-user.target
Powiadom systemd, że utworzyliśmy nowy plik jednostki i uruchom usługę Mattermost, wykonując:
sudo systemctl daemon-reload
sudo systemctl start mattermost
Możemy teraz sprawdzić status usługi za pomocą następującego polecenia:
sudo systemctl status mattermost
● mattermost.service - Mattermost Loaded: loaded (/etc/systemd/system/mattermost.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-10-30 17:44:46 UTC; 3s ago Main PID: 25959 (mattermost) CGroup: /system.slice/mattermost.service └─25959 /opt/mattermost/bin/mattermost
Na koniec włącz automatyczne uruchamianie usługi Mattermost podczas uruchamiania:
sudo systemctl enable mattermost
Skonfiguruj odwrotnego proxy za pomocą Nginx
/etc/nginx/conf.d/linuxize-test.com.conf
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off; upstream mattermost_backend { server 127.0.0.1:8065; } server { listen 80; server_name linuxize-test.com www.linuxize-test.com; include snippets/letsencrypt.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name www.linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; return 301 https://linuxize-test.com$request_uri; } server { listen 443 ssl http2; server_name linuxize-test.com; ssl_certificate /etc/letsencrypt/live/linuxize-test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/linuxize-test.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/linuxize-test.com/chain.pem; include snippets/ssl.conf; access_log /var/log/nginx/linuxize-test.com-access.log; error_log /var/log/nginx/linuxize-test.com-error.log; location ~ /api/v+/(users/)?websocket$ { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; client_max_body_size 50M; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_pass http://mattermost_backend; } location / { proxy_http_version 1.1; client_max_body_size 50M; proxy_set_header Connection ""; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Frame-Options SAMEORIGIN; proxy_buffers 256 16k; proxy_buffer_size 16k; proxy_read_timeout 600s; proxy_cache mattermost_cache; proxy_cache_revalidate on; proxy_cache_min_uses 2; proxy_cache_use_stale timeout; proxy_cache_lock on; proxy_pass http://mattermost_backend; } }
Ponownie załaduj usługę Nginx, aby zmiany odniosły skutek:
Konfigurowanie Mattermost
Otwórz przeglądarkę, wpisz domenę i utwórz pierwsze konto:







i wprowadź parametry SMTP. Możesz korzystać z dowolnych popularnych transakcyjnych usług e-mail, takich jak SendinBlue, SendGrid, Amazon SES, Mandrill, Mailgun, Mailjet i Postmark lub możesz skonfigurować własny serwer pocztowy.
Na koniec musimy ponownie uruchomić usługę Mattermost, aby zmiany zostały wprowadzone:
sudo systemctl restart mattermost
Wniosek
Pomyślnie zainstalowałeś Mattermost na serwerze CentOS 7 i skonfigurowałeś Nginx jako odwrotne proxy. Możesz teraz zacząć używać Mattermost do współpracy ze swoim zespołem.
matermost nodejs centosJak utworzyć użytkownika sudo na centos
Polecenie sudo umożliwia użytkownikom uruchamianie programów z uprawnieniami bezpieczeństwa innego użytkownika, domyślnie użytkownika root. W tym przewodniku pokażemy, jak utworzyć nowego użytkownika z uprawnieniami sudo na CentOS.
Jak dodawać i usuwać użytkowników w centos 7
Umiejętność dodawania i usuwania użytkowników jest jedną z podstawowych umiejętności, którą powinien znać użytkownik Linuksa. W tym samouczku wyjaśnimy, jak dodawać i usuwać użytkowników w systemach CentOS 7.
Jak wdrożyć matermost na Ubuntu 18.04
Mattermost przenosi całą komunikację Twojego zespołu w jedno miejsce i zapewnia różne funkcje, w tym udostępnianie plików, wiadomości jeden na jednego i grupowe, niestandardowe emoji, rozmowy wideo i wiele innych.







