Ինչպես տեղադրել 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-ը՝ մուտքագրելով էլփոստի հասցե և ստեղծելով հաշիվ:
այսքանն է: Սերվերը պատրաստ է ծառայել որպես ձեր հաղորդագրությունների համակարգ: