Hướng dẫn cài đặt Mattermost trên CentOS 7

hướng dẫn các bạn cài đặt Mattermost trên CentOS 7. Mattermost là một nền tảng giao tiếp, làm việc nhóm hướng tới đối tượng người sử dụng là các doanh nghiệp có nhu cầu bảo mật các thông tin trao đổi nội bộ. Mattermost được cấp phát License dưới dạng Opensource, tuy nhiên cũng có phiên bản Commercial hỗ trợ các tính năng chuyên nghiệp hơn cho các doanh nghiệp, tổ chức lớn.

Cài đặt MySQL database

Mattermost hỗ trợ 2 loại database là MySQL và PostgreSQL, trong bài hướng dẫn này mình sẽ sử dụng MySQL

Download MySQL repo cho CentOS 7 và cài đặt

wget http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
yum localinstall mysql57-community-release-el7-9.noarch.rpm
yum install mysql-community-server
systemctl start mysqld.service
systemctl enable mysqld.service

Sau khi cài đặt thành công, các bạn kiểm tra log mysql để lấy mật khẩu random khi cài đặt

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

Đăng nhập với password và thực hiện đổi password mới

mysql -u root -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

Tạo database sử dụng cho Mattermost

mysql> create database mattermost;

Tạo user mới cho database này:

mysql> create user 'mmuser'@'%' identified by 'mmuser-password';
mysql> grant all privileges on mattermost.* to 'mmuser'@'%';

Cài đặt Mattermost

Download phiên bản mới nhất của Mattermost tại https://mattermost.com/download/

wget https://releases.mattermost.com/5.3.1/mattermost-5.3.1-linux-amd64.tar.gz
tar -xvzf mattermost-5.3.1-linux-amd64.tar.gz

Chuyển bộ file cài đặt vào thư mục /opt

mv mattermost /opt
mkdir /opt/mattermost/data

Tiếp đến chúng ta cần tạo thêm User riêng cho Mattermsot

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

Sau đó các bạn cấu hình database MySQL trong file /opt/mattermost/config/config.json, các bạn tìm đến và cấu hình các thuộc tính như sau:

"DriverName": "mysql",
"DataSource": "[username]:[password]@tcp(localhost:3306)/mattermost?charset=utf8mb4,utf8&readTimeout=30s&writeTimeout=30s",

Các bạn thay thế Username và password mà bạn đã tạo ở bước tạo database MySQL, phía sau (localhost:3306) là tên database bạn đã tạo.

Để kiểm tra kết nối đến MySQL hoạt động được, thực hiện như sau:

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

Sau khi chạy lệnh thành công, giao diện hiển thị dòng

Server is listening on :8065

Cấu hình script để systemd quản lý dịch vụ Mattermost, tạo file mới /etc/systemd/system/mattermost.service và thêm vào các nội dung sau:

[Unit]
Description=Mattermost
After=syslog.target network.target postgresql-9.4.service[Service]
Type=notify
WorkingDirectory=/opt/mattermost
ExecStart=/opt/mattermost/bin/mattermost
PIDFile=/var/spool/mattermost/pid/master.pid
TimeoutStartSec=3600
LimitNOFILE=49152[Install]
WantedBy=multi-user.target

Lưu file lại và cấp quyền cho file

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

Reload systemd để file cấu hình mới có hiệu lực

systemctl daemon-reload

Bạn có thể dùng các lệnh sau để enable/start/stop dịch vụ

systemctl enable mattermost
systemctl start mattermost

Truy cập vào đường dẫn http://ip_address:8065 để kiểm tra dịch vụ đã được start thành công.

Tiếp theo chúng ta tạo tài khoản quản trị cho Mattermost, sau đó truy cập System Console để thực hiện các bước tiếp theo

Các bạn có thể cấu hình đường dẫn dạng domain cho Mattermost tại mục Settings ->  Configuration -> Site URL

Cấu hình SSL Let’s Encrypt cho Mattermost

Các bạn chạy lệnh sau để request SSL cho domain cài đặt Mattermost

certbot certonly --standalone --standalone-supported-challenges http-01 -d yourdomain.com

Cấu hình tự động gia hạn SSL sử dụng cronjob, dùng lệnh crontab -e và thêm vào dòng sau

15 3 * * * certbot renew --noninteractive --post-hook "systemctl restart mattermost"

Sau đó các bạn truy cập vào giao diện quản lý của Mattermost mục Settings ->  Configuration và cấu hình theo hình sau

Đường dẫn tới TLS Certificate File và TLS Key File chính là 2 đường dẫn sau khi Let’s Encrypt cấp phát và lưu các file SSL của bạn.

Lưu cấu hình và restart Mattermost

systemctl restart mattermost

Truy cập lại đường dẫn của website, các bạn sẽ thấy được protocol chuyển từ HTTP qua HTTPS thành công.

Như vậy là xong, chúc các bạn cài đặt Mattermost thành công

Leave a Reply