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.
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:
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
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:
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:
Bạn sẽ nhận được kết quả sau:
Trước tiên, hãy tải xuống và cài đặt gói libssl bằng lệnh sau:
Tiếp theo, thêm khóa GPG và kho lưu trữ MongoDB bằng lệnh sau:
Tiếp theo, cập nhật bộ đệm kho lưu trữ bằng lệnh sau:
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:
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:
Bạn có thể kiểm tra trạng thái của dịch vụ MongoDB bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
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:
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:
Bạn sẽ thấy đầu ra sau:
Nhấn CTRL + C để dừng dịch vụ Let's Chat.
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 và bật dịch vụ Let's Chat bằng lệnh sau:
Tiếp theo, hãy kiểm tra trạng thái của Let's Chat bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
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:
Bạn sẽ thấy đầu ra sau:
Đầu tiên, hãy cài đặt gói máy chủ Nginx bằng lệnh sau:
Tiếp theo, hãy tạo tệp cấu hình máy chủ ảo Nginx:
Thêm các cấu hình sau:
Lưu và đóng tệp, sau đó kiểm tra Nginx xem có lỗi cú pháp nào không:
Bạn sẽ thấy 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ể kiểm tra trạng thái của Nginx bằng lệnh sau:
Bạn sẽ thấy trạng thái Nginx trong kết quả sau:
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:
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
Mã:
curl -sL https://deb.nodesource.com/setup_18.x | bash -
Mã:
apt-get install nodejs -y
Mã:
node -v
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
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
Mã:
apt update
Mã:
apt install -y mongodb-org
Mã:
systemctl start mongod
systemctl enable mongod
Mã:
systemctl status mongod
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
Mã:
cd lets-chat
npm install
Mã:
cp settings.yml.sample settings.yml
npm start
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
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
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
Mã:
systemctl daemon-reload
Mã:
systemctl start letschat
systemctl enable letschat
Mã:
systemctl status letschat
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
Mã:
ss -antpl | grep 5000
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
Mã:
nano /etc/nginx/conf.d/letschat.conf
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;}}
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ộ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: