Cách cài đặt Let's Chat trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Let's Chat là ứng dụng nhắn tin miễn phí, mã nguồn mở và bền bỉ chạy trên Node.js và MongoDB. Ứng dụng này được thiết kế cho các nhóm nhỏ, thân mật, cung cấp nhiều tính năng như xác thực LDAP/Kerberos, API giống REST và hỗ trợ XMPP. Sử dụng Let's Chat, bạn có thể gửi mọi loại tin nhắn và cũng tìm thấy các cuộc trò chuyện nhóm theo sở thích, nhãn dán giọng nói và biểu tượng cảm xúc thú vị.

Trong bài đăng này, chúng tôi sẽ chỉ cho bạn cách cài đặt Let's Chat với Nginx làm proxy ngược trên Ubuntu 22.04.

Điều kiện tiên quyết​

  • Máy chủ chạy Ubuntu 22.04.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Cài đặt Node.JS​

Trước khi bắt đầu, bạn sẽ cần cài đặt Node.js trên máy chủ của mình. Để cài đặt phiên bản Node.js mới nhất, bạn sẽ cần thêm kho lưu trữ Node Source vào APT.

Trước tiên, hãy cài đặt tất cả các phần phụ thuộc cần thiết bằng lệnh sau:
Mã:
apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common -y
Sau khi tất cả các phần phụ thuộc đã được cài đặt, hãy thêm kho lưu trữ Node.js vào APT
Mã:
curl -sL https://deb.nodesource.com/setup_18.x | bash -
Sau khi kho lưu trữ được thêm vào, bạn có thể cài đặt Node.js bằng lệnh sau:
Mã:
apt-get install nodejs -y
Sau khi cài đặt thành công, hãy xác minh phiên bản Node.js bằng lệnh sau:
Mã:
node -v
Bạn sẽ nhận được kết quả sau:
Mã:
v18.7.0

Cài đặt Cơ sở dữ liệu MongoDB​

Bạn cũng sẽ cần cài đặt cơ sở dữ liệu MongoDB trên máy chủ của mình.

Trước tiên, hãy tải xuống và cài đặt gói libssl bằng lệnh sau:
Mã:
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Tiếp theo, thêm khóa GPG và kho lưu trữ MongoDB bằng lệnh sau:
Mã:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
Tiếp theo, cập nhật bộ đệm kho lưu trữ bằng lệnh sau:
Mã:
apt update
Sau khi kho lưu trữ của bạn được cập nhật, hãy cài đặt MongoDB bằng lệnh sau:
Mã:
apt install -y mongodb-org
Sau khi gói MongoDB được cài đặt, hãy khởi động và kích hoạt dịch vụ MongoDB bằng lệnh sau:
Mã:
systemctl start mongod
systemctl enable mongod
Bạn có thể kiểm tra trạng thái của dịch vụ MongoDB bằng lệnh sau:
Mã:
systemctl status mongod
Bạn sẽ thấy đầu ra sau:
Mã:
? mongod.service - MongoDB Database Server Đã tải: đã tải (/lib/systemd/system/mongod.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ừ CN 2022-07-31 04:00:08 UTC; 6 giây trước Tài liệu: https://docs.mongodb.org/manual PID chính: 42274 (mongod) Bộ nhớ: 61,1M CPU: 1,014 giây CGroup: /system.slice/mongod.service ??42274 /usr/bin/mongod --config /etc/mongod.conf31 tháng 7 04:00:08 ubuntu2204 systemd[1]: Đã khởi động MongoDB Database Server.

Cài đặt Let's Chat​

Trước tiên, bạn sẽ cần tải xuống phiên bản mới nhất của Let's Chat từ kho lưu trữ Git Hub. Bạn có thể tải xuống bằng lệnh sau:
Mã:
git clone https://github.com/sdelements/lets-chat.git
Sau khi tải xuống hoàn tất, hãy thay đổi thư mục thành thư mục đã tải xuống và cài đặt tất cả các phụ thuộc cần thiết bằng lệnh sau:
Mã:
cd lets-chat
npm install
Tiếp theo, sao chép tệp cấu hình mẫu và khởi động máy chủ Let's Chat bằng lệnh sau:
Mã:
cp settings.yml.sample settings.yml
npm start
Bạn sẽ thấy đầu ra sau:
Mã:
> [emailprotected] start> node app.js(node:42373) Cảnh báo lỗi thời: `open()` đã lỗi thời trong mongoose >= 4.11.0, hãy sử dụng `openUri()` thay thế hoặc đặt tùy chọn `useMongoClient` nếu sử dụng `connect()` hoặc `createConnection()`. Xem http://mongoosejs.com/docs/4.x/docs/connections.html#use-mongo-client(Sử dụng `node --trace-deprecation ...` để hiển thị nơi cảnh báo được tạo)??? ????????????????????????????? ??????????? ??? ??????? ??? ??????? ???????????? ??????????????????????????????? ??????????????? ??????????????????? ??????? ??? ???????????????? ??? ????????????????????Phiên bản 0.4.8
Nhấn CTRL + C để dừng dịch vụ Let's Chat.

Tạo tệp dịch vụ Systemd cho Let's Chat​

Tiếp theo, bạn sẽ cần tạo tệp dịch vụ systemd cho Let's Chat. Bạn có thể tạo nó bằng lệnh sau:
Mã:
nano /etc/systemd/system/letschat.service
Thêm các dòng sau:
Mã:
[Unit]Description=Let's Chat ServerWants=mongodb.serviceAfter=network.target mongod.service[Service]Type=simpleWorkingDirectory=/root/lets-chatExecStart=/usr/bin/npm startUser=rootGroup=rootRestart=alwaysRestartSec=9[Install]WantedBy=multi-user.target
Lưu và đóng tệp, sau đó tải lại daemon systemd bằng lệnh sau:
Mã:
systemctl daemon-reload
Tiếp theo, khởi động và bật dịch vụ Let's Chat bằng lệnh sau:
Mã:
systemctl start letschat
systemctl enable letschat
Tiếp theo, hãy kiểm tra trạng thái của Let's Chat bằng lệnh sau:
Mã:
systemctl status letschat
Bạn sẽ thấy đầu ra sau:
Mã:
? letschat.service - Máy chủ Let's Chat Đã tải: đã tải (/etc/systemd/system/letschat.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ừ CN 2022-07-31 04:02:34 UTC; 4 giây trước PID chính: 42429 (npm start) Nhiệm vụ: 23 (giới hạn: 2242) Bộ nhớ: 157,9M CPU: 4,457 giây CGroup: /system.slice/letschat.service ??42429 "npm start" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ??42440 sh /tmp/start-b5e830e4.sh ??42441 letschat "" "" ""31 tháng 7 04:02:34 ubuntu2204 npm[42429]: > node app.js31/07 04:02:38 ubuntu2204 npm[42441]: (node:42441) Cảnh báo lỗi thời: `open()` đã lỗi thời trong mongoose >= 4.11.0, hãy sử dụng `openUri()` thay thế>31/07 04:02:38 ubuntu2204 npm[42441]: (Sử dụng `node --trace-deprecation ...` để hiển thị nơi cảnh báo được tạo)31/07 04:02:38 ubuntu2204 npm[42441]: ??? ????????????????????? ??????????? ??? ??????? ?????????31/07 04:02:38 ubuntu2204 npm[42441]: ??? ????????????????????????? ??????????????????? ????????????????????31/7 04:02:38 ubuntu2204 npm[42441]: ??? ?????? ??? ???????? ??? ????????????????31/7 04:02:38 ubuntu2204 npm[42441]: ??? ?????? ??? ???????? ??? ???????????????? ???31/7 04:02:38 ubuntu2204 npm[42441]: ???????????????? ??? ???????????? ??? ??????? ??? ???31/7 04:02:38 ubuntu2204 npm[42441]: ???????????????? ??? ???????????? ??? ??????? ??? ???31/07 04:02:38 ubuntu2204 npm[42441]: Phiên bản 0.4.8
Lúc này, dịch vụ Let's Chat đã được khởi động và lắng nghe trên cổng 5000. Bạn có thể kiểm tra ti bằng lệnh sau:
Mã:
ss -antpl | grep 5000
Bạn sẽ thấy đầu ra sau:
Mã:
LISTEN 0 511 127.0.0.1:5000 0.0.0.0:* users:(("letschat",pid=42441,fd=20))

Cấu hình Nginx cho Let's Chat​

Tiếp theo, bạn sẽ cần cài đặt và cấu hình Nginx làm proxy ngược cho Let's Chat. Vì vậy, bạn có thể truy cập Let's Chat qua cổng 80.

Đầu tiên, hãy cài đặt gói máy chủ Nginx bằng lệnh sau:
Mã:
apt install nginx -y
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Mã:
nano /etc/nginx/conf.d/letschat.conf
Thêm các cấu hình sau:
Mã:
server {server_name letschat.example.com;listen 80;access_log /var/log/nginx/lets_chat-access.log;error_log /var/log/nginx/lets_chat-error.log;location / {proxy_set_header X-Real-IP $remote_addr;proxy_set_header Host $host;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Kết nối 'nâng cấp';proxy_cache_bypass $http_upgrade;proxy_pass http://127.0.0.1:5000;}}
Lưu và đóng tệp, sau đó kiểm tra Nginx xem có lỗi cú pháp nào không:
Mã:
nginx -t
Bạn sẽ thấy kết quả sau:
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
Cuối cùng, khởi động lại dịch vụ Nginx để áp dụng các thay đổi cấu hình:
Mã:
systemctl restart nginx
Bạn cũng có thể kiểm tra trạng thái của Nginx bằng lệnh sau:
Mã:
systemctl status nginx
Bạn sẽ thấy trạng thái Nginx trong kết quả sau:
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ừ CN 2022-07-31 04:04:23 UTC; 5 giây trước Tài liệu: man:nginx(8) Tiến trình: 43193 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Tiến trình: 43194 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) PID chính: 43195 (nginx) Nhiệm vụ: 2 (giới hạn: 2242) Bộ nhớ: 2,5M CPU: 35ms CGroup: /system.slice/nginx.service ??43195 "nginx: tiến trình chính /usr/sbin/nginx -g daemon on; master_process on;" ??43196 "nginx: worker process" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""31/07 04:04:23 ubuntu2204 systemd[1]: Bắt đầu Một máy chủ web hiệu suất cao và một máy chủ proxy ngược...31/07 04:04:23 ubuntu2204 systemd[1]: Bắt đầu 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 Let's Chat​

Bây giờ, hãy mở trình duyệt web của bạn và truy cập giao diện web Let's Chat bằng URL .



Bạn sẽ cần nhấp vào nút “Tôi cần một tài khoản” để tạo tài khoản. Bạn sẽ thấy trang sau:



Cung cấp tên người dùng, mật khẩu, địa chỉ email và nhấp vào nút Đăng ký. Sau khi đăng ký thành công, bạn sẽ thấy màn hình sau:



Nhấp vào nút OK. Bạn sẽ được chuyển hướng đến màn hình đăng nhập Let's Chat:



Cung cấp tên người dùng và mật khẩu Let's Chat và nhấp vào nút Đăng nhập . Bạn sẽ thấy bảng điều khiển Let's Chat trong màn hình sau:


Kết luận​

Xin chúc mừng! Bạn đã cài đặt thành công máy chủ Let's Chat với Nginx làm proxy ngược trên Ubuntu 22.04. Bây giờ bạn có thể triển khai Let's Chat trong môi trường làm việc của mình và bắt đầu giao tiếp với các thành viên khác trong nhóm. Hãy thoải mái hỏi tôi nếu bạn có bất kỳ câu hỏi nào.
 
Back
Bên trên