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à Cloud365 đã 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
Cloud365
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 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
Leave a Reply