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.
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:
Tiếp theo, kết nối với shell MariaDB bằng lệnh sau:
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:
Tiếp theo, cấp tất cả các quyền cho cơ sở dữ liệu Mattermost bằng lệnh sau:
Tiếp theo, xóa các quyền và thoát khỏi shell MariaDB bằng lệnh sau:
Sau khi hoÃn tất, bạn có thể tiến hÃnh bước tiếp theo.
Tiếp theo, hãy tải xuống phiên bản Mattermost mới nhất bằng lệnh sau:
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:
Tiếp theo, hãy di chuyển thư mục đã giải nén đến /opt bằng lệnh sau:
Tiếp theo, tạo một thư mục dữ liệu cho mattermost bằng lệnh sau:
Tiếp theo, thay đổi quyền sở hữu của thư mục mattermost bằng lệnh sau:
Tiếp theo, chỉnh sá»a tệp config.json bằng lệnh sau:
Tìm các dòng sau:
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:
Lưu và đóng tệp khi bạn hoÃn tất.
Thêm các dòng sau:
Lưu và đóng tệp, sau đó tải lại daemon systemd để áp dụng các thay đổi:
Tiếp theo, khởi động Mattermost và cho phép nó khởi động khi khởi động lại hệ thống:
Tiếp theo, hãy xác minh trạng thái của Mattermost bằng lệnh sau:
Bạn sẽ nháºn được kết quả đầu ra sau:
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:
Thêm các dòng sau:
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:
Bạn sẽ thấy kết quả sau:
Tiếp theo, khởi động dịch vụ Nginx để áp dụng các thay đổi:
Bạn cũng có thể xác minh trạng thái của Nginx bằng lệnh sau:
Bạn sẽ nháºn được kết quả sau:
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.
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:
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
Mã:
systemctl start mariadb
systemctl enable mariadb
Mã:
mysql
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';
Mã:
MariaDB [(none)]> cấp tất cả các quyền trên mattermost.* cho mattermost@localhost;
Mã:
MariaDB [(none)]> xóa các quyền;
MariaDB [(none)]> exit;
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
Mã:
wget https://releases.mattermost.com/6.0.2/mattermost-6.0.2-linux-amd64.tar.gz
Mã:
tar -xvzf mattermost-6.0.2-linux-amd64.tar.gz
Mã:
mv mattermost /opt
Mã:
mkdir /opt/mattermost/data
Mã:
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Mã:
nano /opt/mattermost/config/config.json
Mã:
"DriverName": "postgres", "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",
Mã:
"DriverName": "mysql","DataSource": "mattermost:password@tcp(127.0.0.1:3306)/mattermost?charset=utf8mb4,utf8\u0026readTimeout=30s\u0026writeTimeout=30s",
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
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
Mã:
systemctl daemon-reload
Mã:
systemctl start mattermost
systemctl enable mattermost
Mã:
systemctl status mattermost
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
Mã:
nano /etc/nginx/conf.d/mattermost.conf
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; }}
Mã:
nginx -t
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
Mã:
systemctl start nginx
Mã:
systemctl status nginx
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.
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: