Ako nainštalovať Mattermost na RHEL 7.1


Úvod

Mattermost je open source, súkromný cloud alternatíva Slack. Systém na odosielanie správ na pracovisku pre web, počítače a telefóny, vydaný pod licenciou MIT.
V predchádzajúcom návode sme hovorili o tom, ako ho nainštalovať na Ubuntu 16.04.
Teraz sa pozrime, ako nainštalovať a nakonfigurovať Mattermost na stroji RHEL 7.1 pomocou MySQL ako databázy.

Nainštalujte databázu

Na server si stiahnite MySQL 5.7 vykonaním nasledujúceho príkazu:

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

a nainštalujte úložisko yum z tohto súboru pomocou:

yum localinstall mysql57-community-release-el7-9.noarch.rpm

Ďalej nainštalujte MySQL:

yum install mysql-community-server

a spustite to:

systemctl start mysqld

Po prvom vykonaní tohto príkazu MySQL vygeneruje dočasné heslo pre účet root. Ak ho chcete získať, stačí:

grep 'temporary password' /var/log/mysqld.log

Tento príkaz vypíše niečo takéto:

2017-03-02T08:21:27.969295Z 1 [Note] A temporary password is generated for root@localhost: Ed4SxpDyuH(y

Zmeňte heslo root. Najprv sa prihláste ako root:

mysql -u root -p

Zadajte dočasné heslo.
Ďalej v prostredí MySQL:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'my_new_root_strong_password';
mysql> EXIT;

Nastavenie automatického spustenia MySQL pri štarte:

chkconfig mysqld on

Znova spustite shell MySQL:

mysql -u root -p

Zadaním nového hesla root vytvorte používateľa pre Mattermost a novú databázu:

mysql> CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'mmuser_strong_password';
mysql> CREATE DATABASE mattermostdb;
mysql> GRANT ALL PRIVILEGES ON mattermostdb.* TO 'mmuser'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> EXIT;

Nainštalujte Mattermost Server

Stiahnite si najnovšiu verziu Mattermost Server. Napríklad len v čase, keď píšeme:

wget https://releases.mattermost.com/3.6.2/mattermost-3.6.2-linux-amd64.tar.gz

Rozbaľte archív a presuňte priečinok „najdôležitejší“.

/opt
tar xf *.gz
mv mattermost /opt/

Vytvorte adresár pre ukladacie súbory:

mkdir /opt/mattermost/data

Uistite sa, že jednotka je dostatočne veľká na to, aby sa do nej zmestil predpokladaný počet nahraných súborov a obrázkov, na ktoré budú uložené

data

.
Ďalej nastavte používateľa a skupinu s názvom „mattermost“ a nastavte vlastníctvo a povolenia:

useradd --system --user-group mattermost
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost

Nastavte ovládač databázy cez

/opt/mattermost/config/config.json

súbor. V ňom vyhľadajte riadky „DriverName“ a „DataSource“ a zmeňte ich takto:

"DriverName": "mysql"
"DataSource": "mmuser:@tcp(localhost:3306)/mattermost?charset=utf8"
Save, exit, and test the Mattermost Server with the following command:
sudo -u mattermost /opt/mattermost/bin/platform

Ak všetko funguje, malo by to vyjsť

 Server is listening on :8065

. Prerušte ho pomocou CTRL+C.

Vytvorte systémovú jednotku.

Vytvorte súbor systemd pre Mattermost,

/etc/systemd/system/mattermost.service

a do nej vložte nasledujúcu konfiguráciu:

[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.4.service

[Service]
Type=simple
WorkingDirectory=/opt/mattermost/bin
User=mattermost
ExecStart=/opt/mattermost/bin/platform
PIDFile=/var/spool/mattermost/pid/master.pid
LimitNOFILE=49152

[Install]
WantedBy=multi-user.target

Urobte to spustiteľné:

chmod 664 /etc/systemd/system/mattermost.service

A znova načítajte služby:

systemctl daemon-reload

Povoliť službu Mattermost:

chkconfig mattermost on

A spustite to pomocou systemd:

systemctl start mattermost

Skontrolujte, či je spustený, na adrese URL http://localhost:8065.

Nainštalujte a nakonfigurujte NGINX

Inštalácia

V produkčnom systéme použite proxy server pred Mattermost Server. V tomto prípade NGINX.
Hlavné výhody tohto postupu sú:

  • Ukončenie SSL
  • Mapovanie portov: 80 až : 8065
  • Presmerovanie HTTP na HTTPS
  • Štandardné protokoly požiadaviek

Ak chcete nainštalovať NGINX na RHEL 7.1, vytvorte súbor úložiska yum,

/etc/yum.repos.d/nginx.repo

, s nasledujúcim obsahom:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7.1/$basearch/
gpgcheck=0
enabled=1

Uložte, ukončite a nainštalujte NGINX s yum:

yum install nginx.x86_64

Spustite NGINX a otestujte ho:

systemctl start nginx
Konfigurácia

Ak chcete nakonfigurovať NGINX ako proxy server, vytvorte súbor

/etc/nginx/sites-available/mattermost

a minulosť:

upstream backend {
   server localhost:8065;
}

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=mattermost_cache:10m max_size=3g inactive=120m use_temp_path=off;

server {
   listen 80;
   server_name    mattermost.mydomain.com;

   location /api/v3/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://backend;
   }

   location / {
       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://backend;
   }
}

Odstráňte existujúci predvolený súbor s povolenou lokalitou pomocou:

rm /etc/nginx/sites-enabled/default

a povoliť Mattermost:

ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost

Reštartujte NGINX:

systemctl restart nginx

Závery

Na konci tohto procesu by mal byť server v prevádzke. Vo webovom prehliadači prejdite na adresu URL http://mattermost.mydomain.com a pokračujte v konfigurácii Mattermost zadaním e-mailovej adresy a vytvorením účtu.
To je všetko! Server je pripravený slúžiť ako váš systém zasielania správ!