Ինչպես տեղադրել Mattermost-ը RHEL 7.1-ում


Ներածություն

Mattermost-ը բաց կոդով, մասնավոր ամպի Slack այլընտրանք է: Աշխատավայրում հաղորդագրությունների համակարգ համացանցի, համակարգիչների և հեռախոսների համար, որը թողարկվել է MIT լիցենզիայի ներքո:
Նախորդ ձեռնարկում մենք խոսեցինք այն մասին, թե ինչպես տեղադրել այն Ubuntu 16.04-ում:
Այժմ տեսնենք, թե ինչպես տեղադրել և կարգավորել Mattermost-ը RHEL 7.1 մեքենայի վրա՝ օգտագործելով MySQL որպես տվյալների բազա:

Տեղադրեք տվյալների բազա

Սերվերում ներբեռնեք MySQL 5.7-ը՝ կատարելով հետևյալ հրամանը.

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

և տեղադրեք yum պահոցը այդ ֆայլից հետևյալով.

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

Հաջորդը, տեղադրեք MySQL.

yum install mysql-community-server

և սկսիր այն.

systemctl start mysqld

Այս հրամանն առաջին անգամ կատարելուց հետո MySQL-ը կստեղծի ժամանակավոր գաղտնաբառ արմատային հաշվի համար: Այն վերականգնելու համար պարզապես.

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

Այս հրամանը կարտադրի նման բան.

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

Փոխեք արմատային գաղտնաբառը: Նախ, մուտք գործեք որպես արմատ.

mysql -u root -p

Մուտքագրեք ժամանակավոր գաղտնաբառը:
Հաջորդը, MySQL shell-ում.

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

Կարգավորեք MySQL-ն ինքնաբերաբար մեկնարկելու բեռնման ժամանակ.

chkconfig mysqld on

Նորից գործարկեք MySQL կեղևը.

mysql -u root -p

Մուտքագրելով նոր արմատային գաղտնաբառը, ստեղծեք օգտվող Mattermost-ի համար և նոր տվյալների բազա.

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;

Տեղադրեք Mattermost սերվերը

Ներբեռնեք Mattermost Server-ի վերջին թողարկումը: Օրինակ միայն, այն պահին, երբ մենք գրում ենք.

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

Արտահանեք արխիվը և տեղափոխեք «ամենակարևոր» պանակը

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

Ստեղծեք տեղեկատու ֆայլերի պահպանման համար.

mkdir /opt/mattermost/data

Համոզվեք, որ սկավառակը բավականաչափ մեծ է՝ վերբեռնված ֆայլերի և պատկերների ակնկալվող քանակությունը պահելու համար, որոնք կպահվեն:

data

.
Հաջորդը, ստեղծեք օգտվող և խումբ, որոնք երկուսն էլ կոչվում են «ամենակարևոր», և սահմանեք սեփականության իրավունքը և թույլտվությունները.

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

Ստեղծեք տվյալների բազայի դրայվերը միջոցով

/opt/mattermost/config/config.json

ֆայլ։ Դրանում որոնեք «DriverName» և «DataSource» տողերը և փոխեք հետևյալ կերպ.

"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

Եթե ամեն ինչ աշխատում է, այն պետք է թողարկվի

 Server is listening on :8065

. Ընդհատեք այն CTRL+C-ով:

Ստեղծեք համակարգային միավոր:

Ստեղծեք համակարգային ֆայլ Mattermost-ի համար,

/etc/systemd/system/mattermost.service

և դրանում տեղադրեք հետևյալ կոնֆիգուրացիան.

[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

Դարձրեք այն գործարկելի.

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

Եվ վերաբեռնեք ծառայությունները.

systemctl daemon-reload

Միացնել Mattermost ծառայությունը՝

chkconfig mattermost on

Եվ սկսեք այն systemd-ով:

systemctl start mattermost

Ստուգեք, արդյոք այն աշխատում է, այցելելով http://localhost:8065 URL-ը:

Տեղադրեք և կարգավորեք NGINX-ը

Տեղադրում

Արտադրական համակարգում օգտագործեք պրոքսի սերվեր Mattermost Server-ի դիմաց: Այս դեպքում՝ NGINX։
Դա անելու հիմնական առավելություններն են.

  • SSL դադարեցում
  • Նավահանգիստների քարտեզագրում 80-ից 8065
  • HTTP դեպի HTTPS վերահղում
  • Ստանդարտ հարցումների տեղեկամատյաններ

RHEL 7.1-ում NGINX-ը տեղադրելու համար ստեղծեք yum պահեստային ֆայլ,

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

, հետևյալ բովանդակությամբ.

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

Պահպանեք, դուրս եկեք և տեղադրեք NGINX yum-ով.

yum install nginx.x86_64

Սկսեք NGINX-ը և փորձարկեք այն.

systemctl start nginx
Կոնֆիգուրացիա

NGINX-ը որպես վստահված սերվեր կարգավորելու համար ստեղծեք ֆայլը

/etc/nginx/sites-available/mattermost

և անցյալ:

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;
   }
}

Հեռացրեք գոյություն ունեցող լռելյայն կայքի միացված ֆայլը հետևյալով.

rm /etc/nginx/sites-enabled/default

և միացնել Mattermost-ը.

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

Վերագործարկեք NGINX:

systemctl restart nginx

Եզրակացություններ

Այս գործընթացի վերջում սերվերը պետք է գործարկվի և աշխատի: Վեբ զննարկիչով անցեք URL http://mattermost.mydomain.com և շարունակեք կարգավորել Mattermost-ը՝ մուտքագրելով էլփոստի հասցե և ստեղծելով հաշիվ:
այսքանն է: Սերվերը պատրաստ է ծառայել որպես ձեր հաղորդագրությունների համակարգ: