Page tree
Skip to end of metadata
Go to start of metadata

Bổ sung cấu hìnhTài liệu hướng dẫn cài đặt MatterMost trên CentOS7:

Chuẩn bị

Chuẩn bị một server có cấu hình tối thiểu như sau:

  • 1 CPU
  • 1 GB RAM
  • 10 GB Disk
  • CentOS 7
  • Tài khoản root

Update OS

yum -y install epel-release && yum update -y 

Disable Firewalld & SElinux & ipv6

systemctl stop firewalld 
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/sysconfig/selinux
echo "net.ipv6.conf.all.disable_ipv6 = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" >> /etc/sysctl.conf
sysctl -p

init 6 

Cài đặt MySQL Database

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
sudo yum localinstall mysql57-community-release-el7-9.noarch.rpm
sudo yum install mysql-community-server -y  

Start MySQL

sudo systemctl start mysqld.service

Lấy password tạm thời sau khi cài đặt

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

Cấu hình cho phép cấu hình mật khẩu đơn giản(Có thể bỏ qua)

echo "validate_password_policy=LOW" >> /etc/my.cnf
systemctl restart mysqld

Genera password mới

openssl rand -hex 16

Đăng nhập vào mysql

mysql -u root -p

Đổi mật khẩu root được gen ở bước trên

ALTER USER 'root'@'localhost' IDENTIFIED BY 'c4082afca3c1b6d358d';
FLUSH PRIVILEGES;

Create Database cho mattermost

create user 'mmuser'@'localhost' identified by 'c4082afca3c1b6d358d';
create database mattermost;
grant all privileges on mattermost.* to 'mmuser'@'localhost';
FLUSH PRIVILEGES;
exit

Cấu hình cho phép mysql khởi động cùng OS

sudo systemctl enable mysqld

Cài đặt Mattermost

Download source code của Mattermost về

cd 
wget https://releases.mattermost.com/5.21.0/mattermost-5.21.0-linux-amd64.tar.gz -O mattermost.tar.gz

Giải nén

tar -zxvf mattermost.tar.gz

Chuyển source code vào /opt

sudo mv mattermost /opt

Tạo folder để lưu các file dữ liệu

sudo mkdir -p /opt/mattermost/data

Khởi tạo các user và group phân quyền cho phép hoạt động

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

Cấu hình Database /opt/mattermost/config/config.json

Cấu hình "SiteURL"

"SiteURL" = "https://mattermost.example.com"
Hoặc `http:10.10.30.192`

"SiteURL" = "http:10.10.30.192"

Cấu hình "DriverName" thành "mysql"
Cấu hình "DataSource" <mmuser-password> <host-name-or-IP> các thông tin user đã khởi tạo phía trên

"DataSource" = "mmuser:<mmuser-password>@tcp(<host-name-or-IP>:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s"

Kiểm tra hoạt động của các cấu hình

cd /opt/mattermost
sudo -u mattermost ./bin/mattermost

Như phía trên là đã kết nối đến Database và cấu hình thành công bấm CTRL + C để thoát chế độ trên

Cấu hình để Mattermost chạy ở chế độ Deamon

touch /etc/systemd/system/mattermost.service
cat <<EOF >> /etc/systemd/system/mattermost.service
[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.4.service

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

[Install]
WantedBy=multi-user.target
EOF

Phân quyền

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

Reload service

sudo systemctl daemon-reload

Cho phép Mattermost khởi động cùng OS

sudo systemctl enable mattermost

Start Mattermost

sudo systemctl start mattermost

Kiểm tra

http://10.10.30.192:8065

Tài khoản ban đầu sẽ là tài khoản Admin có quyền vào setup hệ thống

Cài đặt Nginx

Để Mattermost chạy ở port 80 thay vi port 8065 chúng ta sẽ sử dụng Nginx làm Proxy

yum install nginx -y 

Bổ sung cấu hình

 vi /etc/nginx/conf.d/mattermost.conf

Nội dung

 upstream backend {
   server 10.10.30.192:8065;
   keepalive 32;
}

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

   location ~ /api/v[0-9]+/(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;
       client_body_timeout 60;
       send_timeout 300;
       lingering_timeout 5;
       proxy_connect_timeout 90;
       proxy_send_timeout 300;
       proxy_read_timeout 90s;
       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_http_version 1.1;
       proxy_pass http://backend;
   }
}

Kiểm tra config và reload ngin

nginx -t 
nginx -s reload 

Truy cập vào Mattermost với IP và mặc định port 80


Khi cần hỗ trợ xin liên hệ với chúng tôi:

Công ty phần mềm Nhân Hòa

  • Trụ sở Hà Nội: 32 Võ Văn Dũng, Đống Đa, Hà Nội
  • Chi nhánh HCM: 270 Cao Thắng (nối dài), Phường 12,Quận 10, TP HCM
  • Hotline: 19006680
  • No labels
Write a comment…