Cách cài đặt Mattermost trên Rocky Linux 8

Tác giả Network Engineer, T.M.Một 17, 2021, 09:44:12 SÁNG

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách cài đặt Mattermost trên Rocky Linux 8


Mattermost là một giải pháp thay thế Slack mã nguồn mở, tự lưu trữ. Không có yêu cầu phụ thuộc vào nhà cung cấp bên thứ ba có nghĩa là bạn có thể lưu trữ dữ liệu của mình trong cơ sở hạ tầng của riêng bạn.

Có nhiều lý do tại sao bạn muốn hoặc cần điều này, bảo mật là một trong những lý do nổi bật nhất. Hơn nữa, có toàn quyền kiểm soát tất cả các quy trình sẽ làm tăng đáng kể độ tin cậy và thời gian hoạt động của nền tảng giao tiếp nhóm của bạn.

Bạn có thể sử dụng Mattermost trong trình duyệt của mình, trên các thiết bị di động như Android và iOS hoặc tích hợp nó với nhiều dịch vụ khác thông qua API hoặc webhooks. Ngoài ra, nó có nhiều mô-đun trong thiết kế của nó, bạn có thể chọn các thành phần bạn thực sự cần.

Trong hướng dẫn này, mình sẽ giới thiệu cho các bạn các bước cần thiết để cài đặt Mattermost trên Rocky Linux 8.

Bài viết này dựa trên Phiên bản Cộng đồng của Mattermost (Community Edition of Mattermost), có sẵn miễn phí để tải xuống tại trang web chính thức của nó. Các Phiên bản khác cũng có sẵn ở đó, bạn có thể bắt đầu với Phiên bản Doanh nghiệp (Enterprise Edition) nếu bạn có một nhóm lớn hơn hoặc yêu cầu các tính năng bảo mật mở rộng hơn, một giải pháp tại chỗ thay vì tự lưu trữ, trò chuyện thoại, v.v.

Để có thể cài đặt và chạy Mattermost, bạn sẽ phải thực hiện một số điều kiện.

  • Bạn là người dùng có quyền truy cập sudo.
  • Nên sử dụng ít nhất 2 GB RAM để làm việc thoải mái.

Bước 1. Cập nhật hệ thống

Trước hết, bạn nên cập nhật hệ thống của mình trước khi cài đặt lần đầu. Chạy các lệnh sau để đạt được điều này.

Mã nguồn [Chọn]
$ sudo dnf update
Nhấn Y khi được hỏi bạn có muốn tiếp tục cài đặt hay không.

Bước 2. Cài đặt máy chủ cơ sở dữ liệu MySQL cho Mattermost

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ được sử dụng rộng rãi để lưu trữ phụ trợ của các ứng dụng web khác nhau. Mattermost có thể sử dụng MySQL hoặc PostgreSQL. Để đơn giản hóa, mình sẽ cài đặt MySQL trong bài viết này, hãy đảm bảo điều chỉnh thiết lập của bạn nếu bạn cần sử dụng PostgreSQL thay vì MySQL.

Bạn có thể bỏ qua bước này nếu bạn đã thiết lập và chạy MySQL trên máy chủ của mình.

Chạy lệnh sau để cài đặt MySQL.

Mã nguồn [Chọn]
$ sudo dnf install mysql-server
Nhấn Y và nhấn Enter khi được hỏi bạn có muốn tiếp tục cài đặt hay không.


Khi quá trình cài đặt hoàn tất, hãy khởi động và kích hoạt dịch vụ MySQL để làm cho nó khởi động khi khởi động và sau khi khởi động lại hệ thống:

Mã nguồn [Chọn]
$ sudo systemctl start mysqld.service
Mã nguồn [Chọn]
$ sudo systemctl enable mysqld.service
Dịch vụ MySQL nên đã khởi động thành công. Hãy kiểm tra xem mọi thứ đã ổn chưa bằng cách kiểm tra trạng thái của nó.

Mã nguồn [Chọn]
$ systemctl status mysql.service
Bạn sẽ thấy một kết quả tương tự như bên dưới.


Bước 3. Tạo cơ sở dữ liệu cho Mattermost

Mattermost sử dụng cơ sở dữ liệu để lưu trữ dữ liệu của nó, giống như hầu hết các ứng dụng hiện đại khác. Do đó, chúng ta sẽ cần tạo một cơ sở dữ liệu MySQL cho nó.

Đầu tiên, đăng nhập vào MySQL shell bằng lệnh mysql:

Mã nguồn [Chọn]
$ mysql -u root -p
Nhập mật khẩu của bạn khi được hỏi.

Tiếp theo, bạn sẽ cần tạo cơ sở dữ liệu cho Mattermost. Trong ví dụ này, chúng ta sẽ tạo một cơ sở dữ liệu có tên lwdb bằng cách sử dụng câu lệnh CREATE DATABASE. Bạn có thể chọn một tên tùy chỉnh cho cơ sở dữ liệu của mình nếu bạn muốn.

Mã nguồn [Chọn]
mysql> CREATE DATABASE lwdb;
Tiếp theo, chúng ta sẽ cần tạo một người dùng cơ sở dữ liệu có thể kết nối với cơ sở dữ liệu. Mình sẽ tạo một người dùng có tên lwuser với mật khẩu là $trongp@ssword. Thay đổi mật khẩu thành một thứ gì đó an toàn hơn nếu bạn muốn.

Mã nguồn [Chọn]
mysql> CREATE USER 'lwuser'@'localhost' IDENTIFIED BY '$trongp@ssword';
Mình cũng sẽ cần cấp cho người dùng quyền truy cập đầy đủ vào cơ sở dữ liệu mà mình đã tạo. Mình làm điều này bằng cách sử dụng các câu lệnh GRANT.

Mã nguồn [Chọn]
mysql> GRANT ALL PRIVILEGES ON lwdb.* TO lwuser@localhost;
Tải lại bảng đặc quyền để áp dụng các thay đổi.

Mã nguồn [Chọn]
mysql> FLUSH PRIVILEGES;
Thoát trở lại shell của bạn.

Mã nguồn [Chọn]
mysql> quit;
Đầu ra mẫu:


Bước 4. Cài đặt máy chủ Mattermost

Trong bước này, mình sẽ tải xuống tập tin nhị phân Mattermost theo cách thủ công và cài đặt nó trên máy chủ của mình.

Mở trang web của bạn, điều hướng đến:   Đăng nhập để xem liên kết

Tìm bản phát hành mới nhất. Theo văn bản, nó là v5.39.0. Nhấp chuột phải vào số phát hành và sao chép vị trí liên kết.


Khi bạn đã sao chép URL, hãy chạy lệnh wget sau để tải xuống bản phát hành mới nhất vào thư mục hiện tại. Đảm bảo kiểm tra và thay thế để có phiên bản cập nhật.

Mã nguồn [Chọn]
$ wget https://releases.mattermost.com/5.39.0/mattermost-5.39.0-linux-amd64.tar.gz
Thao tác này sẽ tải xuống tập tin có tên mattermost-5.39.0-linux-amd64.tar.gz vào thư mục hiện tại của bạn.


Bây giờ, mình sẽ giải nén tập tin đã tải xuống bằng lệnh tar. Sau đó, mình sẽ di chuyển các tập tin đã giải nén vào thư mục /opt

Mã nguồn [Chọn]
$ tar -xf mattermost-*-linux-amd64.tar.gz
Mã nguồn [Chọn]
$ sudo mv mattermost /opt
Sau khi hoàn tất việc này, mình sẽ dọn dẹp bằng cách xóa các tập tin vừa tải xuống

Mã nguồn [Chọn]
$ sudo rm -rf mattermost-5.39.0-linux-amd64.tar.gz
Bước 5. Cấu hình tập tin config.json

Trong bước này, mình sẽ chỉnh sửa tập tin cấu hình cho máy chủ Mattermost. Điều này sẽ cho phép mình điều chỉnh cài đặt theo sở thích của mình.

Đầu tiên, mở cửa sổ terminal và điều hướng đến thư mục /opt/mattermost/config/ và mở tập tin config.json bằng trình soạn thảo nano.

Mã nguồn [Chọn]
$ cd /opt/mattermost/config/
Mã nguồn [Chọn]
$ sudo nano config.json
Trình chỉnh sửa sẽ mở tập tin config.json trong cửa sổ dòng lệnh Terminal.


Chỉnh sửa các dòng sau của tập tin để trỏ Mattermost đến máy chủ MySQL của bạn. Bạn có thể để nguyên mọi thứ khác. Điều này sẽ bị bỏ qua nếu bạn đang sử dụng PostgreSQL thay vì MySQL. Mình đã đánh dấu màu đỏ những gì bạn cần chỉnh sửa .

Trong DriverName: Thay đổi postgres thành mysql


Trong phần DataSource


Thay thế:

  • mmuser: thay thế giá trị này bằng người dùng bạn đặt cho cơ sở dữ liệu MySQL.
  • mostest: thay thế giá trị này bằng mật khẩu cơ sở dữ liệu MySQL.
  • mattermost_test: thay thế giá trị này bằng tên cơ sở dữ liệu MySQL của bạn.

Cuối cùng, dòng DataSource của bạn sẽ kết thúc như thế này.


Lưu tập tin bằng cách nhấn Ctrl + X , Y và Enter

Bước 6. Tạo tập tin đơn vị hệ thống cho Mattermost

Tiếp theo, mình sẽ tạo một tập tin đơn vị systemd cho Mattermost, systemd chịu trách nhiệm chạy các dịch vụ trong Linux. Do đó, mình có thể khởi động, dừng và khởi động lại máy chủ Mattermost.

Mình sẽ đặt tên cho tập tin dịch vụ của mình là mattermost.service. Vui lòng thay thế tên dịch vụ theo sở thích của riêng bạn.

Mã nguồn [Chọn]
$ cd /etc/systemd/system/
Mã nguồn [Chọn]
$ sudo nano mattermost.service
Sao chép và dán nội dung bên dưới vào tập tin. Đảm bảo kiểm tra, thay thế ở những nơi cần thiết phù hợp với sở thích của bạn.

Mã nguồn [Chọn]
Description=Mattermost
After=syslog.target network.target mysqld.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

Lưu và thoát khỏi tập tin khi bạn hoàn tất. Làm cho tập tin có thể thực thi được bằng cách thay đổi quyền đối với tập tin.

Mã nguồn [Chọn]
$ sudo chmod 664 /etc/systemd/system/mattermost.service
Tải lại dịch vụ systemd để áp dụng các thay đổi với lệnh sau:

Mã nguồn [Chọn]
$ sudo systemctl daemon-reload
Bây giờ bạn có thể sử dụng các lệnh sau để quản lý nó:

Mã nguồn [Chọn]
$ sudo systemctl start mattermost.service
Mã nguồn [Chọn]
$ sudo systemctl stop mattermost.service
Mã nguồn [Chọn]
$ sudo systemctl restart mattermost.service
Để kiểm tra trạng thái của dịch vụ Mattermost, hãy chạy lệnh sau:

Mã nguồn [Chọn]
$ sudo systemctl status mattermost.service
Bạn sẽ thấy một kết quả như thế này. Như bạn có thể thấy, lệnh này cũng cho chúng ta biết rằng dịch vụ Mattermost hiện đang hoạt động.


Bước 7. Truy cập giao diện người dùng Web Mattermost

Bây giờ, để truy cập Mattermost trong trình duyệt của bạn, bạn sẽ cần phải tìm IP công cộng của máy chủ của mình.
Để làm như vậy, hãy chạy lệnh sau:

Mã nguồn [Chọn]
$ ip a
Điều này sẽ trả về một địa chỉ IP. Đây là địa chỉ IP mà mình sẽ sử dụng khi truy cập giao diện Web Mattermost.

Mở trình duyệt web của bạn và điều hướng đến https://<server_IP>:8065/ để truy cập giao diện người dùng Web Mattermost.

Bạn sẽ thấy một màn hình tương tự như bên dưới. Bạn sẽ được nhắc tạo tài khoản quản trị. Cung cấp email, tên người dùng, mật khẩu để tạo và nhấp vào Create Account để tạo tài khoản quản trị.


Sau khi ủy quyền hoàn tất, bạn sẽ được đưa đến trang tổng quan Mattermost. Bây giờ bạn đã sẵn sàng để bắt đầu tạo nhóm, kênh và chia sẻ tập tin với Mattermost.



Quá trình cài đặt Mattermost hiện đã hoàn tất. Để đọc thêm về cách sử dụng Mattermost, bạn có thể xem tài liệu chính thức của nó.

Trong hướng dẫn này, bạn đã học cách cài đặt Mattermost trên máy chủ Rocky Linux 8.4. Giờ đây, bạn có thể tạo nhóm, kênh và chia sẻ tập tin với sự thay thế Slack mã nguồn mở này.