MatterMost là một ứng dụng chat nội bộ cho phép triển khai phòng chat cho toàn bộ nhân viên trong công ty của bạn. MatterMost sẽ được chia thành các channel – các kênh nhỏ cho các cuộc thảo luận nhóm,… hoặc bất cứ điều gì mà bạn muốn. Ưu điểm lớn nhất của MatterMost là khả năng tích hợp
với các ứng dụng lưu trữ khác nhau như : Github, Gitlab hay Jira, Jenkin. Ngoài ra, MatterMost còn là một công cụ ưa thích của dân IT khi cho phép người dùng tích hợp để bắn cảnh báo, report vào các channel trên MatterMost.
Sự đa nền tảng
của MatterMost (MatterMost App trên Desktop, Androin, IOS và MatterMost Web) cũng là một điểm cộng thu hút người dùng
Để triển khai MatterMost có 2 phương án:
1. Sử dụng template trên Cloud 365 của Nhân Hòa
2. Triển khai cài manual từng ứng dụng
Trong bài này chúng tôi sẽ hướng dần triển khai theo phương án 2. 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“
"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