Cách cài đặt RocketChat trên VPS Linux

Tác giả: VPS chính hãng 27 tháng 01, 2024

RocketChat là một nền tảng giao tiếp mã nguồn mở có thể tùy chỉnh hoàn toàn được viết bằng Javascript. RocketChat cung cấp nhiều tính năng như giao tiếp theo thời gian thực, tính linh hoạt và các giải pháp có thể mở rộng, đồng thời có các tiêu chuẩn bảo vệ dữ liệu cao. Trong hướng dẫn này, chúng tôi sẽ hướng dẫn cách cài đặt RocketChat trên VPS Linux Ubuntu. Blog này sẽ sử dụng Nginx làm proxy ngược cho ứng dụng RocketChat của chúng tôi.

Các bước cài đặt RocketChat trên VPS Ubuntu

Điều kiện để cài đặt RocketChat trên hệ thống Linux

Được tạo vào năm 2015, RocketChat là một một nền tảng truyền thông có thể tùy chỉnh và mã nguồn mở được thiết kế cho các cộng đồng và tổ chức có tiêu chuẩn cao về bảo vệ dữ liệu. RocketChat cho phép liên lạc để trò chuyện nhóm, dịch vụ khách hàng, chia sẻ tệp an toàn, v.v. Về nhiều mặt đây là nền tảng truyền thông nguồn mở toàn diện nhất thế giới. Vì là mã nguồn mở nên có thể tự cài đặt và lưu trữ nếu muốn. Bạn có thể triển khai nó bằng tất cả các phương pháp triển khai tiêu chuẩn ngành, bao gồm Podman, Docker hoặc Kubernetes, tất cả đều được RocketChat hỗ trợ chính thức. Nó cũng có thể được cài đặt và sử dụng trên nhiều nhà cung cấp máy chủ và đám mây.

RocketChat là một ứng dụng giao tiếp mã nguồn mở

RocketChat là một ứng dụng giao tiếp mã nguồn mở

Cài đặt RocketChat với Nginx làm proxy ngược là một quá trình đơn giản, có thể mất tới 25 phút tùy thuộc vào mức độ quen thuộc của bạn với hệ thống Linux. Nhưng trước hết hãy xem những điều kiện cần thiết để thực hiện được điều này:

  • Một VPS Việt Nam (hệ điều hành Linux Ubuntu).
  • Đặc quyền người dùng: người dùng root hoặc không root có đặc quyền sudo.
  • Một miền hợp lệ được trỏ đến địa chỉ IP của máy chủ.

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

Trước khi bắt đầu cài đặt RocketChat, bạn cần cập nhật các gói hệ thống lên phiên bản mới nhất hiện có.

sudo apt-get update -y && sudo apt-get upgrade -y

Bước 2. Cài đặt Nginx

Để cài đặt máy chủ web Nginx, hãy thực hiện lệnh sau:

sudo apt install nginx -y

Sau khi cài đặt hoàn tất, hãy khởi động và kích hoạt dịch vụ Nginx:

sudo systemctl start nginx && sudo systemctl enable nginx

Để kiểm tra trạng thái của dịch vụ Nginx, bạn có thể thực hiện lệnh sau:

systemctl status nginx

Bạn sẽ nhận được kết quả đầu ra sau:

root@host:~# systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-10-10 03:47:12 CDT; 7s ago
       Docs: man:nginx(8)
   Main PID: 2401 (nginx)
      Tasks: 4 (limit: 4558)
     Memory: 4.0M
        CPU: 84ms
     CGroup: /system.slice/nginx.service
             ├─2401 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
             ├─2402 "nginx: worker process"
             ├─2403 "nginx: worker process"
             └─2404 "nginx: worker process"

Oct 10 03:47:12 host.test.vps systemd[1]: Starting A high performance web server and a reverse proxy server...
Oct 10 03:47:12 host.test.vps systemd[1]: Started A high performance web server and a reverse proxy server.

Bước 3. Cài đặt MongoDB

RocketChat cần một dịch vụ cơ sở dữ liệu để hoạt động và lưu trữ thông tin. Chúng ta cần cài đặt dịch vụ cơ sở dữ liệu MongoDB. Đầu tiên, chúng ta sẽ thêm kho lưu trữ MongoDB và khóa GPG:

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc |  gpg --dearmor | sudo tee /usr/share/keyrings/mongodb.gpg > /dev/null

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

Sau khi hoàn tất, hãy cập nhật hệ thống và cài đặt MongoDB:

sudo apt update

sudo apt install mongodb-org

Sau khi cài đặt, hãy khởi động và kích hoạt dịch vụ:

sudo systemctl start mongod && sudo systemctl enable mongod

Để kiểm tra trạng thái của dịch vụ MongoDB, bạn có thể chạy lệnh sau:

sudo systemctl status mongod

Bạn sẽ nhận được kết quả đầu ra sau:

root@host:~# sudo systemctl status mongod
● mongod.service - MongoDB Database Server
     Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2022-10-11 07:36:21 UTC; 2s ago
       Docs: https://docs.mongodb.org/manual
   Main PID: 81644 (mongod)
     Memory: 57.1M
     CGroup: /system.slice/mongod.service
             └─81644 /usr/bin/mongod --config /etc/mongod.conf

Bước 4. Cài đặt RocketChat trên Ubuntu 22.04

Tải và giải nén phiên bản RocketChat mới nhất:

curl -L https://releases.rocket.chat/latest/download -o /opt/rocket.chat.tgz

tar -xzf /opt/rocket.chat.tgz -C /opt

Sau đó vào thư mục giải nén RocketChat và thực hiện các lệnh sau để cài đặt:

mv /opt/bundle/ /opt/RocketChat

cd /opt/RocketChat/programs/server 

npm install

Bước 5. Tạo dịch vụ RocketChat

Trước khi tạo dịch vụ, chúng ta cần tạo một người dùng hệ thống mà RocketChat sẽ chạy dưới dạng:

sudo useradd -M rocketchat && sudo usermod -L rocketchat

sudo chown -R rocketchat:rocketchat /opt/RocketChat

Khi người dùng được tạo, hãy định cấu hình bộ lưu trữ cho MongoDB:

sudo sed -i "s/^#  engine:/  engine: wiredTiger/"  /etc/mongod.conf

sudo sed -i "s/^#replication:/replication:\n  replSetName: rs01/" /etc/mongod.conf

Khi điều này được thêm vào, chúng ta cần tạo tệp dịch vụ:

touch /lib/systemd/system/rocketchat.service

Mở tệp bằng trình soạn thảo văn bản yêu thích của bạn và dán các dòng mã sau:

[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
[Service]
ExecStart=/usr/bin/node /opt/RocketChat/main.js
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=rocketchat
Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01 MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 ROOT_URL=http://localhost:3000/ PORT=3000

[Install]
WantedBy=multi-user.target

Tải lại Daemon và khởi động dịch vụ RocketChat. Bạn cũng nên kích hoạt dịch vụ để chạy khi khởi động:

sudo systemctl daemon-reload

sudo systemctl start rocketchat

sudo systemctl enable rocketchat

Với điều này, phiên bản RocketChat của bạn sẽ trong trạng thái đang chạy.

Bước 6. Định cấu hình RocketChat với Proxy ngược Nginx

Tạo tệp cấu hình Nginx.

touch /etc/nginx/sites-enabled/rocketchat.conf

Sau khi tạo, hãy mở nó bằng trình soạn thảo văn bản yêu thích của bạn và dán các dòng mã sau:

server {
  listen 80;
  server_name YourDomainNameHere;
  access_log /var/log/nginx/rocket_access.log;
  error_log /var/log/nginx/rocket_error.log;

    location / {
        proxy_pass http://127.0.0.1:3000/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forward-Proto http;
        proxy_set_header X-Nginx-Proxy true;
    }
}

Lưu tệp, đóng tệp và kiểm tra cấu hình Nginx để tìm lỗi cú pháp bằng lệnh sau:

nginx -t

Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả đầu ra sau:

root@host:~# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

=>> Cách cài đặt osTicket trên VPS Ubuntu

Giao diện rất trực quan và bạn sẽ cần tạo tên, thiết lập tài khoản quản trị viên và tất nhiên là cần một mật khẩu mạnh. Liên hệ với bộ phận hỗ trợ kỹ thuật của VPS Chính hãng ngay hôm nay nếu bạn có bất kì câu hỏi nào về quá trình sử dụng VPS hay muốn đăng ký sử dụng các gói VPS giá rẻ tại đây. Chúng tôi luôn sẵn sàng 24/7 và giúp máy chủ của bạn chạy trơn tru ngay lập tức. Cảm ơn đã theo dõi bài viết!