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