Cài đặt Mattermost trên CentOS 7 – Mattermost là một ứng dụng trò chuyện trực tuyến mã nguồn mở miễn phí. Nó được thiết kế cho các cuộc trò chuyện nội bộ tại các tổ chức và công ty như một sự thay thế cho Slack và Microsoft Teams.
Trong bài viết này HOSTVN sẽ hướng dẫn các bạn cấu hình và cài đặt Mattermost trên CentOS 7.
Mục lục
- Cài đặt Mattermost trên CentOS 7
- 1. Tính năng chính của Mattermost
- 2. Cài đặt Mattermost trên CentOS 7
- 3. Link tham khảo
- 4. Kết luận
Cài đặt Mattermost trên CentOS 7
1. Tính năng chính của Mattermost
- Đồng bộ theo thời gian thực trên tất cả các thiết bị và hệ điều hành
- Tin nhắn được bảo mật
- Hỗ trợ DevOps
- Bảo vệ theo IP
- Bảo vệ chống lại các nguy cơ bảo mật
- Nhắn tin cá nhân và nhắn tin nhóm
- Lưu lịch sử tin nhắn
- Chia sẻ tệp, hình ảnh và liên kết
- Hỗ trợ đa ngôn ngữ
- Biểu tượng cảm xúc và định dạng văn bản phong phú
- Chia sẻ giọng nói, video và màn hình
- Cho phép tùy chỉnh thông báo
2. Cài đặt Mattermost trên CentOS 7
Nếu bạn chưa có VPS hãy tham khảo ngay các gói Cloud VPS của HOSTVN.
Để thuận tiện cho việc chỉnh sửa và tạo file các bạn có thể kết nối tới VPS thông qua SFTP theo hướng dẫn sau
Lưu ý:
Trong bài viết này HOSTVN sẽ ví dụ với tên miền chat.hostvn.net. Các bạn cần thay tên miền này bằng tên miền của các bạn khi cài đặt.
2.1. Bước 1: Tắt Selinux và firewalld
Để tắt Selinux và Firewalld các bạn chạy lần lượt các lệnh sau
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0 systemctl stop firewalld systemctl disable firewalld
2.2. Bước 2: Cài đặt MariaDB
Để cài đặt MariaDB các bạn tạo file /etc/yum.repos.d/mariadb.repo với nội dung sau
[mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4.12/rhel7-amd64/ gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
- Lưu ý: Có thể kiểm tra phiên bản MariaDB tại đây: http://yum.mariadb.org/
Sau khi tạo file repo các bạn dùng lệnh sau đây để cài đặt MariaDB
yum install MariaDB-server MariaDB-client -y
Khi quá trình cài đặt kết thúc các bạn tiến hành đặt mật khẩu root bằng cách chạy các lệnh sau
systemctl enable mariadb systemctl start mariadb mysql_secure_installation
Switch to unix_socket authentication [Y/n]: n
Change the root password? [Y/n]: Y
New password: Nhập password root các bạn muốn tạo
Re-enter new password: Nhập lại password root
Remove anonymous users? [Y/n] : Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n] : Y
Reload privilege tables now? [Y/n]: Y
2.3. Bước 3: Tạo Database và User Mysql
Để tạo databse và user trước tiên các bạn cần login vào mysql bằng cách sử dụng lệnh sau
mysql -u root
Tiếp theo các bạn chạy lần lượt các lệnh dưới đây để tạo databse và user
create database mattermost_db; create user 'mattermost_user'@'localhost' identified BY 'Mật-Khẩu-Mysql'; grant all privileges on mattermost_db.* to mattermost_user@localhost; flush privileges; exit
Trong đó:
- mattermost_db : Tên database (Database name) muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- mattermost_user : User Mysql muốn tạo, các bạn có thể thay bằng tên tuỳ ý.
- Mật-Khẩu-Mysql : Mật khẩu Mysql, các bạn có thể thay bằng mật khẩu tuỳ ý.
Các bạn cần lưu lại 3 thông tin này để sử dụng trong các bước tiếp theo.
2.4. Bước 4: Cài đặt Mattermost Server
Trước tiên các bạn cần lấy link down phiên bản mới nhất tại đây: https://mattermost.com/download/
Tại thời điểm viết bài phiên bản mới nhất là 5.22.0. Sau khi đã có link down các bạn tiến hành chạy các lệnh sau:
cd /opt wget https://releases.mattermost.com/5.22.0/mattermost-5.22.0-linux-amd64.tar.gz tar -xvzf *.gz rm -rf /opt/mattermost-5.22.0-linux-amd64.tar.gz mkdir /opt/mattermost/data sudo useradd --system --user-group mattermost sudo chown -R mattermost:mattermost /opt/mattermost sudo chmod -R g+w /opt/mattermost
2.5. Bước 5: Cấu hình kết nối Database
Để cấu hình kết nối Database các bạn mở file /opt/mattermost/config/config.json và chỉnh sửa các thông số sau
a. Kết nối database
Tìm dòng
"DataSource": "mmuser:mostest@tcp(localhost:3306)/mattermost_test?charset=utf8mb4,utf8u0026readTimeout=30su0026writeTimeout=30s",
Trong đó:
- mmuser : Thay bằng User Mysql mà các bạn đã tạo ở Bước 3
- mostest : Thay bằng mật khẩu Mysql mà các bạn đã tạo ở Bước 3
- mattermost_test : Thay bằng database name mà các bạn đã tạo ở Bước 3
b. Cấu hình Site Url
Tiếp theo các bạn tìm tới dòng
"SiteURL": "",
Sửa lại thành
"SiteURL": "http://chat.hostvn.net",
Trong đó chat.hostvn.net thay bằng tên miền của các bạn.
c. Tạo file mattermost.service
Để tạo file mattermost.service các bạn sử dụng lệnh sau
nano /etc/systemd/system/mattermost.service
Sau đó các bạn dán nội dung sau vào Terminal
[Unit] Description=Mattermost After=syslog.target network.target mariadb.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
Nhấn tổ hợp phím CTRL + O và nhấn Enter để lưu lại file, nhấn CTRL + X để thoát khỏi nano.
Tiến hành khởi động Mattermost bằng cách chạy các lệnh sau
chmod 664 /etc/systemd/system/mattermost.service systemctl daemon-reload systemctl enable mattermost systemctl start mattermost
2.6. Bước 6: Cài đặt Nginx
Đầu tiên các bạn tạo một file repository source cho Nginx. Các bạn tạo file /etc/yum.repos.d/nginx.repo với nội dung sau
[nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true
Tiêp theo để cài đặt Nginx các bạn chạy lần lượt các lệnh sau
yum install yum-utils yum-config-manager --enable nginx-mainline yum install nginx
Sau khi quá trình cài đặt hoàn tất các bạn tiến hành khởi động Nginx
systemctl start nginx systemctl enable nginx
2.7. Bước 7: Tạo Virtual host
Tiếp theo các bạn cần tạo file virtual host cho Mattermost. Tạo file /etc/nginx/conf.d/mattermost.conf với nội dung sau
upstream backend { server IP-Của-VPS: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 www.chat.hostvn.net chat.hostvn.net; 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; } }
Các bạn thay IP-Của-VPS bằng IP VPS của các bạn. Tiếp theo các bạn cần tạo thư mục lưu cache bằng 2 lệnh sau
mkdir -p /var/cache/nginx chown -R nginx:nginx /var/cache/nginx
Khởi động lại Nginx để load cấu hình
service nginx restart
2.8. Bước 8: Cấu hình Mattermost
Để cấu hình Mattermost các bạn truy cập địa chỉ website trên trình duyệt. Tại lần đầu tiên truy cập các bạn sẽ được yêu cầu tạo tài khoản Admin. Hãy điền thông tin cần thiết và bấm nút Create Account
Tiếp theo để vào Admin các bạn chọn liên kêt Go to System Console
3. Link tham khảo
- https://docs.mattermost.com/install/install-rhel-7.html
- http://nginx.org/en/linux_packages.html
- https://mariadb.org/
4. Kết luận
Qua bài viết này HOSTVN đã hướng dẫn các bạn cách cài đặt và cấu hình Mattermost trên CentOS 7. Nếu có bất kỳ ý kiến đóng góp nào các bạn có thể để lại bình luận ở bên dưới. Ngoài ra các bạn có thể xem thêm Hướng dẫn cài đặt Snipe-IT trên CentOS 7.