Mattermost là má»™t nền tảng miá»…n phÃ, mã nguồn mở và an toÃn để giao tiếp, cá»™ng tác và điều phối quy trình lÃm việc trên nhiều công cụ và nhóm. Đây là dịch vụ trò chuyện tá»± lưu trữ được thiết kế cho các tổ chức và công ty để triển khai dịch vụ trò chuyện ná»™i bá»™. Nó cung cấp má»™t số 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, chia sẻ tệp, xác thá»±c hai yếu tố, thông báo, v.v. Nếu bạn Ä‘ang tìm kiếm má»™t giải pháp thay thế cho Slack thì Mattermost là lá»±a chọn tốt nhất dÃnh cho bạn.
Trong hướng dẫn nÃy, chúng tôi sẽ chỉ cho bạn cách cÃi đặt Mattermost vá»›i Nginx trên Alma Linux 8.
Sau khi máy chá»§ MySQL được cÃi đặt, hãy khởi động và kÃch hoạt dịch vụ MySQL bằng lệnh sau:
Bây giờ, bạn có thể bảo máºt cÃi đặt MySQL bằng cách chạy táºp lệnh sau:
Trả lời tất cả các câu hỏi như được hiển thị bên dưới để đặt máºt khẩu gốc MySQL và bảo máºt cÃi đặt:
Sau khi đăng nháºp, 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:
Tiếp theo, xóa các quyền và thoát khỏi MySQL 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 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:
Tiếp theo, tạo một thư mục dữ liệu cho Mattermost và thay đổi quyền sở hữu và quyền cấp phép của Mattermost:
Tiếp theo, chỉnh sá»a tệp cấu hình Mattermost:
Xác định URL trang web Mattermost của bạn như hiển thị bên dưới:
Tiếp theo, tìm các dòng sau:
Và thay thế chúng bằng các dòng sau:
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 bằng lệnh sau:
Tiếp theo, khởi động dịch vụ Mattermost và cho phép dịch vụ nÃy khởi động khi khởi động lại hệ thống:
Bây giờ bạn có thể kiểm tra trạng thái của dịch vụ Mattermost bằng lệnh sau:
Bạn sẽ nháºn được kết quả đầu ra sau:
Lúc nÃy, Mattermost đã được khởi động và chạy trên cổng 8065. Bạn có thể kiểm tra bằng lệnh sau:
Bạn sẽ nháºn được kết quả đầu ra sau:
Sau khi hoÃn tất, bạn có thể tiến hÃnh bước tiếp theo.
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 đó kiểm tra Nginx xem có lá»—i cấu hình nÃo không:
Nếu mọi thứ ổn, bạn sẽ nháºn được kết quả sau:
Bây giờ, hãy khởi động và báºt dịch vụ Nginx để bắt đầu khi khởi động lại hệ thống:
Bạn có thể kiểm tra 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 là đã cÃi đặt và cấu hình để phục vụ Mattermost. Bây giờ bạn có thể tiến hÃnh bước tiếp theo.
Tiếp theo, tải lại tường lá»a để áp dụng các thay đổi:
Sau khi hoÃn tất, bạn có thể tiến hÃnh bước tiếp theo.
Cung cấp địa chỉ email, tên người dùng quản trị, máºt khẩu và nhấp vÃo nút Tạo TÃi khoản. Bạn sẽ nháºn được mÃn hình sau:
Nhấp vÃo Tạo má»™t nhóm. Bạn sẽ nháºn được mÃn hình sau:
Cung cấp tên Nhóm cá»§a bạn và nhấp vÃo nút Tiếp theo. Bạn sẽ nháºn được mÃn hình sau:
Cung cấp URL nhóm Mattermost cá»§a bạn và nhấp vÃo nút HoÃn tất. Bạn sẽ nháºn được bảng Ä‘iều khiển Mattermost trên mÃn hình sau:
Trong hướng dẫn nÃy, chúng tôi sẽ chỉ cho bạn cách cÃi đặt Mattermost vá»›i Nginx trên Alma Linux 8.
Điều kiện tiên quyết
- Một máy chủ đang chạy Alma Linux 8.
- 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 MySQL Server
Mattermost sá» dụng MySQL lÃm cÆ¡ sở dữ liệu phụ trợ. Vì váºy, MySQL phải được cÃi đặt trên máy chá»§ cá»§a bạn. Bạn có thể cÃi đặt bằng cách chạy lệnh sau:
Mã:
dnf install mysql-server -y
Mã:
systemctl start mysqld
systemctl enable mysqld
Mã:
mysql_secure_installation
Mã:
Nhấn y|Y để chọn Yes, any other key cho Không: NVui lòng đặt máºt khẩu cho root tại đây.Máºt khẩu má»›i:Nháºp lại máºt khẩu má»›i:Xóa người dùng ẩn danh? (Nhấn y|Y để Có, bất kỳ phÃm nÃo khác để Không): YKhông cho phép root đăng nháºp từ xa? (Nhấn y|Y để Có, bất kỳ phÃm nÃo khác để Không): YXóa cÆ¡ sở dữ liệu thá» nghiệm và quyền truy cáºp vÃo cÆ¡ sở dữ liệu đó? (Nhấn y|Y để Có, bất kỳ phÃm nÃo khác để Không): YTải lại bảng đặc quyền ngay bây giờ? (Nhấn y|Y để Có, bất kỳ phÃm nÃo khác để Không): Y
Tạo cơ sở dữ liệu cho Mattermost
Tiếp theo, bạn sẽ cần tạo cÆ¡ sở dữ liệu và người dùng cho Mattermost. Trước tiên, hãy đăng nháºp vÃo MySQL bằng lệnh sau:
Mã:
mysql -u root -p
Mã:
mysql> TáºO CÆ SỞ Dá»® LIỆU matterdb;
mysql> TáºO NGƯỜI DÙNG 'matteruser'@'localhost' ĐƯỢC XÁC ĐỊNH BẰNG 'password';
Mã:
mysql> CẤP TẤT CẢ CÁC QUYỀN TRÊN matterdb.* CHO matteruser@localhost;
Mã:
mysql> XÓA CÁC QUYỀN;
mysql> EXIT;
CÃi đặt Mattermost trên Alma Linux 8
Trước tiên, hãy tạo một người dùng chuyên dụng để chạy 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 -xf mattermost-6.0.2-linux-amd64.tar.gz
Mã:
mv mattermost /opt
Mã:
mkdir /opt/mattermost/data
chown -R mattermost:mattermost /opt/mattermost
chmod -R g+w /opt/mattermost
Mã:
nano /opt/mattermost/config/config.json
Mã:
"SiteURL": "http://mattermost.example.com",
Mã:
"DriverName": "postgres", "DataSource": "postgres://mmuser:mostest@localhost/mattermost_test?sslmode=disable\u0026connect_timeout=10",
Mã:
"DriverName": "mysql", "DataSource": "matteruser:password@tcp(localhost:3306)/matterdb?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 để quản lý dịch vụ Mattermost. Bạn có thể tạo nó bằng cách chạy 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: đã tắt) Đang hoạt động: Ä‘ang hoạt động (Ä‘ang chạy) kể từ Thứ bảy 2022-01-15 14:12:29 UTC; 7 giây trước PID chÃnh: 15201 (mattermost) Nhiệm vụ: 32 (giá»›i hạn: 11411) Bá»™ nhá»›: 265,2M CGroup: /system.slice/mattermost.service ??15201 /opt/mattermost/bin/mattermost ??15298 plugins/com.mattermost.plugin-channel-export/server/dist/plugin-linux-amd64 ??15299 plugins/com.mattermost.nps/server/dist/plugin-linux-amd64 ??15308 plugins/playbooks/server/dist/plugin-linux-amd64 ??15313 plugins/focalboard/server/dist/plugin-linux-amd6415 tháng 1 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.344 Z","level":"info","msg":"Đã gá»i thông báo về cuá»™c khảo sát tiếp theo>15 tháng 1 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.402 Z","level":"info","msg":"Post.Message has size restrictedio>15 tháng 1 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.499 Z","level":"info","msg":"info [2022-01-15 14:12:26.497 Z]>15 tháng 1 14:12:26 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:26.537 Z","level":"info","msg":"\n -- đối chiếu mattermost>15 tháng 1 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.297 Z","level":"info","msg":"debug [2022-01-15 14:12:28.295 Z>15 tháng 1 14:12:28 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:28.804 Z","level":"info","msg":"info [2022-01-15 14:12:28.803 Z]>15 tháng 1 14:12:29 almalinux8 systemd[1]: Đã bắt đầu Mattermost.15 tháng 1 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.149 Z","level":"info","msg":"Đang khởi động máy chá»§...","caller":"ap>15 tháng 1 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Máy chá»§ Ä‘ang lắng nghe trên [::]:8065>15 tháng 1 14:12:29 almalinux8 mattermost[15201]: {"timestamp":"2022-01-15 14:12:29.150 Z","level":"info","msg":"Sending systemd READY notificati>
Mã:
ss -antpl | grep 8065
Mã:
LISTEN 0 128 *:8065 *:* users:(("mattermost",pid=15201,fd=35))
Cấu hình Nginx lÃm Proxy ngược cho Mattermost
Bạn nên cÃi đặt và cấu hình Nginx lÃm proxy ngược cho Mattermost. Để thá»±c hiện, bạn sẽ cần cÃi đặt máy chá»§ Nginx vÃo máy chá»§ cá»§a mình. Bạn có thể cÃi đặt bằng cách chạy lệnh sau:
Mã:
dnf install nginx -y
Mã:
nano /etc/nginx/conf.d/mattermost.conf
Mã:
server { listen 80; server_name mattermost.example.com; # Tải các tệp cấu hình cho khối máy chủ mặc định. include /etc/nginx/default.d/*.conf; location / { proxy_pass http://localhost:8065/; chỉ mục index.html index.htm; } trang lỗi 404 /404.html; vị trà = /40x.html { } trang lỗi 500 502 503 504 /50x.html; location = /50x.html { } }
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf thÃnh công
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chá»§ proxy ngược và HTTP nginx Đã tải: đã tải (/usr/lib/systemd/system/nginx.service; đã tắt; cÃi đặt trước cá»§a nhà cung cấp: đã tắt) Đang hoạt động: Ä‘ang hoạt động (Ä‘ang chạy) kể từ Thứ bảy 2022-01-15 14:14:05 UTC; 7 giây trước Tiến trình: 15356 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Tiến trình: 15354 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Tiến trình: 15351 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) PID chÃnh: 15358 (nginx) Nhiệm vụ: 2 (giá»›i hạn: 11411) Bá»™ nhá»›: 3,8M CGroup: /system.slice/nginx.service ??15358 nginx: tiến trình chÃnh /usr/sbin/nginx ??15359 nginx: tiến trình công nhân15 tháng 1 14:14:05 almalinux8 systemd[1]: nginx.service: Đã thÃnh công.15 tháng 1 14:14:05 almalinux8 systemd[1]: Đã dừng máy chá»§ proxy ngược và HTTP nginx.15/01 14:14:05 almalinux8 systemd[1]: Đang khởi động máy chá»§ proxy ngược và HTTP nginx...15/01 14:14:05 almalinux8 nginx[15354]: nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là ok15/01 14:14:05 almalinux8 nginx[15354]: nginx: thá» nghiệm tệp cấu hình /etc/nginx/nginx.conf thÃnh công15/01 14:14:05 almalinux8 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ệ15/01 14:14:05 almalinux8 systemd[1]: Đang khởi động máy chá»§ proxy ngược và HTTP nginx.
Cấu hình Tường lá»a
Tiếp theo, bạn sẽ cần cho phép cổng 80 Ä‘i qua tường lá»a. Bạn có thể cho phép bằng cách chạy lệnh sau:
Mã:
firewall-cmd --add-service=http --permanent
Mã:
firewall-cmd --reload
Truy cáºp Giao diện người dùng 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 mÃn hình sau:Cung cấp địa chỉ email, tên người dùng quản trị, máºt khẩu và nhấp vÃo nút Tạo TÃi khoản. Bạn sẽ nháºn được mÃn hình sau:
Nhấp vÃo Tạo má»™t nhóm. Bạn sẽ nháºn được mÃn hình sau:
Cung cấp tên Nhóm cá»§a bạn và nhấp vÃo nút Tiếp theo. Bạn sẽ nháºn được mÃn hình sau:
Cung cấp URL nhóm Mattermost cá»§a bạn và nhấp vÃo nút HoÃn tất. Bạn sẽ nháºn được bảng Ä‘iều khiển Mattermost trên mÃn hình sau: