Rocket.Chat là ứng dụng trò chuyện trên web được viết bằng JavaScript, sử dụng nền tảng Meteor full-stack. Đây là nền tảng cộng tác trò chuyện nguồn mở cho phép bạn giao tiếp an toàn theo thời gian thực trên nhiều thiết bị. Nền tảng này tự lưu trữ và hỗ trợ trò chuyện thoại và video, hội nghị truyền hình, chia sẻ tệp và nhiều tính năng khác. Nền tảng này có ứng dụng khách dành cho mọi nền tảng, bao gồm Windows, macOS, Linux, Android và iOS.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Rocket.Chat trên máy chủ Ubuntu 20.04.
Sau khi hệ thống của bạn được cập nhật, hãy cài đặt các phụ thuộc bắt buộc khác bằng lệnh sau:
Sau khi tất cả các gói được cài đặt, bạn có thể tiến hành bước tiếp theo.
Sau khi kho lưu trữ được thêm vào, hãy cài đặt Node.js bằng lệnh sau:
Sau khi cài đặt Node.js, hãy xác minh phiên bản Node.js đã cài đặt bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Bạn sẽ nhận được kết quả sau:
Tiếp theo, thêm kho lưu trữ chính thức của MongoDB bằng lệnh sau:
Sau khi kho lưu trữ được thêm vào, hãy cài đặt MongoDB bằng lệnh sau:
Sau khi cài đặt MongoDB, hãy khởi động dịch vụ MongoDB và cho phép dịch vụ này khởi động khi khởi động lại hệ thống:
Tiếp theo, bạn sẽ cần chỉnh sửa tệp cấu hình mặc định của MongoDB và xác định bộ bản sao. Bạn có thể thực hiện bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó khởi động lại dịch vụ MongoDB để áp dụng cấu hình:
Tiếp theo, đăng nhập vào shell MongoDB và bật bản sao bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Tiếp theo, thoát khỏi shell MongoDB 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, cấp quyền thích hợp cho thư mục /opt/rocket:
Tiếp theo, chuyển người dùng sang Rocket.Chat và tải xuống phiên bản Rocket.Chat 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, đổi tên thư mục đã giải nén thành Rocket.Chat bằng lệnh sau:
Tiếp theo, hãy thay đổi thư mục thành máy chủ Rocket.Chat và cài đặt tất cả các phụ thuộc của Node.js bằng lệnh sau:
Sau khi tất cả các phụ thuộc được cài đặt, bạn có thể thoát khỏi người dùng Rocket.Chat bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp, tải lại daemon systemd bằng lệnh sau:
Tiếp theo, hãy khởi động dịch vụ Rocket.Chat và cho phép nó khởi động khi khởi động lại hệ thống bằng lệnh sau:
Bây giờ bạn có thể kiểm tra trạng thái của Rocket.Chat bằng lệnh sau:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Thêm các dòng sau:
Lưu và đóng tệp, sau đó kích hoạt máy chủ ảo Nginx bằng lệnh sau:
Tiếp theo, xác minh Nginx xem có lỗi systex nào không bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
Bạn cũng có thể xác minh trạng thái của dịch vụ Nginx bằng lệnh sau:
Bạn sẽ nhận được kết quả sau:
Sau khi hoàn tất, bạn có thể tiến hành bước tiếp theo.
Cung cấp tên quản trị viên, email, mật khẩu và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Cung cấp loại tổ chức, tên, ngành, quy mô, quốc gia của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Cung cấp tên trang web, ngôn ngữ, loại máy chủ của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Đồng ý với các Điều khoản và Chính sách quyền riêng tư, sau đó nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau.
Nhấp vào nút Đi đến không gian làm việc của bạn. Bạn sẽ được chuyển hướng đến bảng điều khiển Rocket.Chat ở trang sau:
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Rocket.Chat trên máy chủ Ubuntu 20.04.
Điều kiện tiên quyết
- Máy chủ chạy Ubuntu 20.04.
- Tên miền hợp lệ được trỏ bằng IP máy chủ của bạn.
- Mật khẩu gốc được định cấu hình cho máy chủ.
Bắt đầu
Trước khi bắt đầu, bạn nên cập nhật các gói hệ thống lên phiên bản mới nhất. Bạn có thể cập nhật chúng bằng lệnh sau:
Mã:
apt-get update -y
Mã:
apt-get install nginx gnupg2 git unzip build-essential curl software-properties-common graphicsmagick -y
Cài đặt Node.js
Tiếp theo, bạn sẽ cần cài đặt Node.js phiên bản 12 trong hệ thống của mình. Theo mặc định, nó không có trong kho lưu trữ chuẩn Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ chính thức của Node.js vào hệ thống của mình. Bạn có thể thêm nó bằng lệnh sau:
Mã:
curl -sL https://deb.nodesource.com/setup_12.x | bash -
Mã:
apt-get install nodejs -y
Mã:
node -v
Mã:
v12.19.0
Cài đặt và cấu hình MongoDB
Tiếp theo, bạn sẽ cần cài đặt máy chủ MongoDB trong hệ thống của mình. Theo mặc định, phiên bản mới nhất của MongoDB không có trong kho lưu trữ mặc định của Ubuntu 20.04. Vì vậy, bạn sẽ cần thêm kho lưu trữ MongoDB vào hệ thống của mình. Trước tiên, hãy tải xuống và thêm khóa GPG bằng lệnh sau:
Mã:
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Mã:
Thực thi: /tmp/apt-key-gpghome.Ku2thT4UnL/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key " đã nhậpgpg: Tổng số đã xử lý: 1gpg: đã nhập: 1
Mã:
add-apt-repository 'deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse'
Mã:
apt-get install mongodb-org -y
Mã:
systemctl start mongod
systemctl enable mongod
Mã:
nano /etc/mongod.conf
Mã:
replication: replSetName: "replica01"
Mã:
systemctl restart mongod
Mã:
mongo
> rs.initiate()
Mã:
{ "info2" : "không có cấu hình nào được chỉ định. Sử dụng cấu hình mặc định cho tập hợp", "me" : "127.0.0.1:27017", "ok" : 1, "operationTime" : Timestamp(1605081439, 1), "$clusterTime" : { "clusterTime" : Timestamp(1605081439, 1), "signature" : { "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAA="), "keyId" : NumberLong(0) } }}
Mã:
> exit
Cài đặt Rocket.Chat
Tiếp theo, bạn sẽ cần tạo một người dùng mới cho Rocket.Chat và thêm người dùng đó vào nhóm www-data. Bạn có thể thực hiện bằng lệnh sau:
Mã:
useradd -m -U -r -d /opt/rocket rocket --shell /bin/bash
usermod -a -G rocket www-data
Mã:
chmod 750 /opt/rocket
Mã:
su - rocket
curl -L https://releases.rocket.chat/latest/download -o rocket.chat.tgz
Mã:
tar -xvzf rocket.chat.tgz
Mã:
mv bundle Rocket.Chat
Mã:
cd Rocket.Chat/programs/server
npm install
Mã:
exit
Tạo tệp dịch vụ Systemd cho Rocket.Chat
Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd để quản lý dịch vụ Rocket.Chat. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/rocketchat.service
Mã:
[Unit]Description=Rocket.Chat serverAfter=network.target nss-lookup.target mongod.target[Service]StandardOutput=syslogStandardError=syslogSyslogIdentifier=rocketchatUser=rocketEnvironment=MONGO_URL=mongodb://localhost:27017/rocketchat ROOT_URL=http://rocket.yourdomain.com PORT=3000ExecStart=/usr/bin/node /opt/rocket/Rocket.Chat/main.js[Install]WantedBy=multi-user.target
Mã:
systemctl daemon-reload
Mã:
systemctl start rocketchat
systemctl enable rocketchat
Mã:
systemctl status rocketchat
Mã:
? rocketchat.service - Máy chủ Rocket.Chat Đã tải: đã tải (/etc/systemd/system/rocketchat.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ứ 4, ngày 11 tháng 11 năm 2020 lúc 07:58:01 UTC; 24 giây trước PID chính: 19951 (nút) Nhiệm vụ: 11 (giới hạn: 4691) Bộ nhớ: 508,7M CGroup: /system.slice/rocketchat.service ??19951 /usr/bin/node /opt/rocket/Rocket.Chat/main.js11-11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Phiên bản MongoDB: 4.0.21 |11-11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Công cụ MongoDB: wiredTiger |11-11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Nền tảng: linux |11-11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Cổng quy trình: 3000 |11/11 07:58:21 ubuntu2004 rocketchat[19951]: ? | URL trang web: http://rocket.yourdomain.com |11/11 07:58:21 ubuntu2004 rocketchat[19951]: ? | ReplicaSet OpLog: Đã bật |11/11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Băm cam kết: e37d7ba8ed |11/11 07:58:21 ubuntu2004 rocketchat[19951]: ? | Nhánh cam kết: HEAD |11/11 07:58:21 ubuntu2004 rocketchat[19951]: ? | |Nov 11 07:58:21 ubuntu2004 rocketchat[19951]: ? +----------------------------------------------------------+
Cấu hình Nginx cho Rocket.Chat
Tiếp theo, bạn sẽ cần cấu hình Nginx làm proxy ngược cho Rocket.Chat. Để thực hiện, hãy tạo tệp cấu hình máy chủ ảo Nginx bằng lệnh sau:
Mã:
nano /etc/nginx/sites-available/rocketchat.conf
Mã:
upstream myrocketchat { server 127.0.0.1:3000;}server { listen 80; server_name rocket.yourdomain.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; vị trí / { proxy_pass http://myrocketchat/; proxy_http_version 1.1; proxy_set_header Nâng cấp $http_upgrade; proxy_set_header Kết nối "nâng cấp"; proxy_set_header Máy chủ $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; proxy_redirect tắt; }}
Mã:
ln -s /etc/nginx/sites-available/rocketchat.conf /etc/nginx/sites-enabled/
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 restart nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chủ web hiệu suất cao và 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ứ 4, ngày 11 tháng 11 năm 2020 lúc 07:59:39 UTC; 4 giây trước Tài liệu: man:nginx(8) Quy trình: 20034 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Quy trình: 20047 ExecStart=/usr/sbin/nginx -g daemon on; master_process đang bật; (code=exited, status=0/SUCCESS) PID chính: 20051 (nginx) Nhiệm vụ: 3 (giới hạn: 4691) Bộ nhớ: 3,5M CGroup: /system.slice/nginx.service ??20051 nginx: tiến trình chính /usr/sbin/nginx -g daemon đang bật; master_process đang bật; ??20052 nginx: tiến trình công nhân ??20053 nginx: tiến trình công nhân11-11 07:59:39 ubuntu2004 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...11-11 07:59:39 ubuntu2004 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 Rocket.Chat
Lúc này, Rocket.Chat đã được cài đặt và cấu hình. Đã đến lúc truy cập giao diện web Rocket.Chat. Mở trình duyệt web của bạn và truy cập Rocket.Chat bằng URL . Bạn sẽ được chuyển hướng đến trang sau:Cung cấp tên quản trị viên, email, mật khẩu và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Cung cấp loại tổ chức, tên, ngành, quy mô, quốc gia của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Cung cấp tên trang web, ngôn ngữ, loại máy chủ của bạn và nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau:
Đồng ý với các Điều khoản và Chính sách quyền riêng tư, sau đó nhấp vào nút Tiếp tục. Bạn sẽ thấy trang sau.
Nhấp vào nút Đi đến không gian làm việc của bạn. Bạn sẽ được chuyển hướng đến bảng điều khiển Rocket.Chat ở trang sau: