25/02/2022

MatterMost – Cài đặt trên CentOS 7

Bổ sung cấu hình Tà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

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ả lời

Email của bạn sẽ không được hiển thị công khai.