Cách cài đặt Mattermost trên Debian 11

theanh

Administrator
Nhân viên
Mattermost là má»™t nền tảng cá»™ng tác và nhắn tin miá»…n phà và mã nguồn mở được tạo ra vá»›i mục Ä‘Ãch bảo máºt. Đây là má»™t giải pháp thay thế cho Discord hoặc Slack và cung cấp nhiều tÃnh năng hữu Ãch bao gồm nhắn tin má»™t-má»™t, lịch sá» tìm kiếm không giá»›i hạn và khả năng chia sẻ tệp, xác thá»±c hai yếu tố và thông báo. Đây là má»™t dịch vụ trò chuyện trá»±c tuyến tá»± lưu trữ được viết bằng Golang và React. Nó được thiết kế đặc biệt cho các tổ chức và công ty và cho phép các nhóm giao tiếp an toÃn từ mọi nÆ¡i.

Trong hướng dẫn nÃy, chúng tôi sẽ chỉ cho bạn cách cÃi đặt máy chá»§ Mattermost Chat trên Debian 11.

Điều kiện tiên quyết​

  • Má»™t máy chá»§ chạy Debian 11.
  • Má»™t tên miền hợp lệ được trỏ bằng IP máy chá»§ cá»§a bạn.
  • Má»™t máºt khẩu gốc được cấu hình trên máy chá»§.

CÃi đặt và cấu hình máy chá»§ cÆ¡ sở dữ liệu MariaDB​

Mattermost sá» dụng MySQL hoặc MariaDB lÃm cÆ¡ sở dữ liệu phụ trợ. Vì váºy, bạn sẽ cần phải cÃi đặt máy chá»§ MariaDB vÃo máy chá»§ cá»§a mình. Bạn có thể cÃi đặt nó bằng lệnh sau:
Mã:
apt-get install mariadb-server -y
Sau khi MariaDB được cÃi đặt, hãy khởi động dịch vụ MariaDB và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start mariadb
systemctl enable mariadb
Tiếp theo, kết nối với shell MariaDB bằng lệnh sau:
Mã:
mysql
Sau khi bạn đã kết nối, hãy tạo cơ sở dữ liệu và người dùng bằng lệnh sau:
Mã:
MariaDB [(none)]> tạo cơ sở dữ liệu mattermost;
MariaDB [(none)]> tạo người dùng mattermost@localhost được xác định bằng 'máºt khẩu';
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Mattermost bằng lệnh sau:
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên mattermost.* cho mattermost@localhost;
Tiếp theo, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> exit;
Sau khi hoÃn tất, bạn có thể tiến hÃnh bước tiếp theo.

CÃi đặt Mattermost​

Trước tiên, hãy tạo một người dùng chuyên dụng cho Mattermost bằng lệnh sau:
Mã:
useradd --system --user-group mattermost
Tiếp theo, hãy tải xuống phiên bản Mattermost mới nhất bằng lệnh sau:
Mã:
wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz
Sau khi quá trình tải xuống hoÃn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf mattermost-6.0.2-linux-amd64.tar.gz
Tiếp theo, hãy di chuyển thư mục đã giải nén đến /opt bằng lệnh sau:
Mã:
mv mattermost /opt
Tiếp theo, tạo một thư mục dữ liệu cho mattermost bằng lệnh sau:
Mã:
mkdir /opt/mattermost/data
Tiếp theo, thay đổi quyền sở hữu của thư mục mattermost bằng lệnh sau:
Mã:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Tiếp theo, chỉnh sá»a tệp config.json bằng lệnh sau:
Mã:
nano /opt/mattermost/config/config.json
Tìm các dòng sau:
Mã:
"DriverName": "postgres", "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",
Và thay thế chúng bằng các dòng sau theo cÆ¡ sở dữ liệu cá»§a bạn cÃi đặt:
Mã:
"DriverName": "mysql","DataSource": "mattermost:password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
Lưu và đóng tệp khi bạn hoÃn tất.

Tạo tệp dịch vụ Systemd cho Mattermost​

Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd cho Mattermost. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/mattermost.service
Thêm các dòng sau:
Mã:
[Unit]Description=MattermostAfter=syslog.target network.target mysqld.service[Service]Type=notifyWorkingDirectory=/opt/mattermostUser=mattermostExecStart=/opt/mattermost/bin/mattermostPIDFile=/var/spool/mattermost/pid/master.pidTimeoutStartSec=3600LimitNOFILE=49152[Install]WantedBy=multi-user.target
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động Mattermost và cho phép nó khởi động khi khởi động lại hệ thống:
Mã:
systemctl start mattermost
systemctl enable mattermost
Tiếp theo, hãy xác minh trạng thái của Mattermost bằng lệnh sau:
Mã:
systemctl status mattermost
Bạn sẽ nháºn được kết quả đầu ra sau:
Mã:
? mattermost.service - Mattermost Đã tải: đã tải (/etc/systemd/system/mattermost.service; đã tắt; cÃi đặt trước cá»§a nhà cung cấp: đã báºt) Đang hoạt động: Ä‘ang hoạt động (Ä‘ang chạy) kể từ Thứ sáu 2021-11-12 13:56:25 UTC; 4 giây trước PID chÃnh: 2888 (mattermost) Nhiệm vụ: 31 (giá»›i hạn: 4679) Bá»™ nhá»›: 273,3M CPU: 12,191 giây CGroup: /system.slice/mattermost.service ??2888 /opt/mattermost/bin/mattermost ??2915 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64 ??2925 plugins/playbooks/server/dist/plugin-linux-amd64 ??2931 plugins/focalboard/server/dist/plugin-linux-amd6412-11 13:56:24 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:24.681 Z","level":"info","msg":"Đang lên lịch khảo sát tiếp theo vÃo ngÃy 3 tháng 12, 2>12 tháng 11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.064 Z","level":"info","msg":"Post.Message có giá»›i hạn về kÃch thước">12 tháng 11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.084 Z","level":"info","msg":"info [2021-11-12 13:56:25.083 Z] co>12 tháng 11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.131 Z","level":"info","msg":"\n -- đối chiếu các > cá»§a mattermost12 tháng 11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.491 Z","level":"info","msg":"debug [2021-11-12 13:56:25.488 Z] i>12/11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.777 Z","level":"info","msg":"info [2021-11-12 13:56:25.777 Z] Se>12/11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.963 Z","level":"info","msg":"Đang khởi động máy chá»§...","caller":"app/s>12/11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Máy chá»§ Ä‘ang lắng nghe trên [::]:8065",">12/11 13:56:25 debian11 mattermost[2888]: {"timestamp":"2021-11-12 13:56:25.964 Z","level":"info","msg":"Đang gá»i thông báo systemd READY.>Nov 12 13:56:25 debian11 systemd[1]: Đã khởi động Mattermost.

Cấu hình Nginx lÃm Proxy ngược cho Mattermost​

Theo mặc định, Mattermost lắng nghe trên cổng 8065. Vì váºy, bạn nên cÃi đặt và cấu hình Nginx lÃm proxy ngược để truy cáºp Mattermost trên cổng 80. Trước tiên, hãy cÃi đặt Nginx bằng lệnh sau:
Mã:
apt-get install nginx -y
Sau khi Nginx được cÃi đặt, hãy tạo tệp cấu hình máy chá»§ ảo Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/conf.d/mattermost.conf
Thêm các dòng sau:
Mã:
upstream mattermost { server localhost: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 mattermost.example.com; location ~ /api/v[0-9]+/(users/)?websocket$ { proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; client_max_body_size 50M; proxy_set_header Máy chá»§ $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 90 giây; proxy_pass http://mattermost; } vị trà / { client_max_body_size 50M; proxy_set_header Kết nối ""; proxy_set_header Máy chá»§ $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 600 giây; proxy_cache mattermost_cache; proxy_cache_revalidate Ä‘ang báºt; proxy_cache_min_uses 2; thời gian chờ proxy_cache_use_stale; proxy_cache_lock Ä‘ang báºt; proxy_http_version 1.1; proxy_pass http://mattermost; }}
Lưu và đóng tệp, sau đó xác minh cấu hình Nginx xem có lá»—i cú pháp nÃo không bằng lệnh sau:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: thá» nghiệm tệp cấu hình /etc/nginx/nginx.conf thÃnh công
Tiếp theo, khởi động dịch vụ Nginx để áp dụng các thay đổi:
Mã:
systemctl start nginx
Bạn cũng có thể xác minh trạng thái của Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ nháºn được kết quả sau:
Mã:
? nginx.service - Má»™t máy chá»§ web hiệu suất cao và má»™t máy chá»§ proxy ngược Đã tải: đã tải (/lib/systemd/system/nginx.service; đã báºt; cÃi đặt trước cá»§a nhà cung cấp: đã báºt) Đang hoạt động: Ä‘ang hoạt động (Ä‘ang chạy) kể từ Thứ sáu 2021-11-12 13:57:02 UTC; 1 phút 12 giây trước TÃi liệu: man:nginx(8) Quy trình: 3384 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 3392 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chÃnh: 3602 (nginx) Nhiệm vụ: 3 (giá»›i hạn: 4679) Bá»™ nhá»›: 6,6M CPU: 55ms CGroup: /system.slice/nginx.service ??3602 nginx: tiến trình chÃnh /usr/sbin/nginx -g daemon on; master_process on; ??3604 nginx: tiến trình lÃm việc ??3605 nginx: tiến trình lÃm việc12/11 13:57:01 debian11 systemd[1]: Đang khởi động Má»™t máy chá»§ web hiệu suất cao và má»™t máy chá»§ proxy ngược...12/11 13:57:02 debian11 systemd[1]: nginx.service: Không phân tÃch được PID từ tệp /run/nginx.pid: Đối số không hợp lệ12/11 13:57:02 debian11 systemd[1]: Đang khởi động Má»™t máy chá»§ web hiệu suất cao và má»™t máy chá»§ proxy ngược.
Tại thời Ä‘iểm nÃy, Nginx đã được cÃi đặt và cấu hình lÃm proxy ngược cho Mattermost. Bây giờ bạn có thể tiến hÃnh bước tiếp theo.

Truy cáºp Giao diện web Mattermost​

Bây giờ, hãy mở trình duyệt web cá»§a bạn và truy cáºp giao diện web Mattermost bằng URL . Bạn sẽ được chuyển hướng đến trang sau:



Cung cấp địa chỉ email quản trị, tên người dùng, máºt khẩu và nhấp vÃo nút Tạo TÃi khoản. Bạn sẽ thấy trang sau:



Bây giờ, hãy nhấp vÃo Đi đến Bảng Ä‘iều khiển hệ thống. Bạn sẽ được chuyển hướng đến bảng Ä‘iều khiển Mattermost như hiển thị bên dưới:


Kết luáºn​

Xin chúc mừng! Bạn đã cÃi đặt thÃnh công Mattermost vá»›i Nginx lÃm proxy ngược trên Debian 11. Bây giờ bạn có thể triển khai Mattermost trong tổ chức cá»§a mình và cho phép các nhóm giao tiếp vá»›i nhau từ mọi nÆ¡i.
 
Back
Bên trên