Mattermost – Hướng dẫn cài đặt

30/12/2020

Giới thiệu Mattermost

Mattermost là giải pháp phần mềm thay thế cho các doanh nghiệp vừa và nhỏ có nhu cầu sử dụng các giải pháp trao đổi nội bộ.
Một lựa chọn khá tốt cho việc thay thế các công cụ chat mà các công ty đang sử dụng vì giao diện và tính năng của Mattermost giống như Slack.

Hỗ trợ cả app cài đặt trên điện thoại và các thiết bị di động đó cũng là một trong những lợi thế mà Mattermost mang đến trải nghiệm hoàn toàn thoải mái cho người dùng. Việc di chuyển sang Mattermost từ các ứng dụng chat trước đó không tốn quá nhiều thời gian vì giao diện hoạt động và thao tác hoàn toàn quen thuộc.

Mattermost cũng là một công cụ trong bộ giải pháp Work From Home mà Onet đã ra mắt cho người sử dụng, dưới đay chúng tôi sẽ hướng dẫn các bạn triển khai Mattermost trên server riêng của chính bạn.

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 Database MySQL

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
“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 <> /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

Onet

Cài đặt Nginx

Để chạy Mattermost dưới port 80 thay vì 8065 như trên chúng ta có thể sử dụng Nginx làm Proxy để forward gói tin

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

nginx -t

Truy cập bằng http://10.10.30.192


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

Công ty phần mềm Onet

  • 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
ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

Hướng dẫn tạo Dashboard theo dõi thời hạn chứng chỉ SSL website với TIG-stack

Đối với dịch vụ web, việc cài đặt SSL là vô cùng cần thiết. Tuy nhiên, chứng chỉ SSL có thời...
30/12/2020

Cài đặt Chrony trên Ubuntu 18.04

Ở bài trước chúng ta đã biết được Chrony là một dịch vụ đồng bộ thời gian trên nhiều hệ...
30/12/2020

[Zabbix] Cài đặt Zabbix Server phiên bản 4.4 trên CentOS7

Zabbix là phần mềm nguồn mở sử dụng để giám sát hệ thống với nhiều công cụ hỗ...
30/12/2020