Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách cài đặt NodeBB trên VPS Ubuntu 18.04 .
NodeBB là một phần mềm diễn đàn nguồn mở chạy trên nền tảng Node.js miễn phí và dễ sử dụng. Nó là phần mềm hợp lý để xây dựng một diễn đàn cộng đồng, thảo luận hoặc bảng thông báo. NodeBB sử dụng các plugin web để tương tác tức thì và thông báo theo thời gian thực.
Điều kiện tiên quyết:
- Một VPS Ubuntu 18.04
- Node.js
- Cơ sở dữ liệu – Chúng tôi sẽ sử dụng MongoDB trong hướng dẫn này
- Máy chủ web Nginx
- Truy cập SSH với quyền root
Bước 1: Kết nối với máy chủ của bạn
Để kết nối với máy chủ của bạn thông qua SSH với tư cách là người dùng root, hãy sử dụng lệnh sau:
ssh root@IP_ADDRESS -p PORT_NUMBER
và thay thế IP IP IPADADESSESS và chín PORT_NUMBER bằng địa chỉ IP máy chủ thực tế của bạn và số cổng SSH.
Sau khi đăng nhập, hãy đảm bảo rằng máy chủ của bạn được cập nhật bằng cách chạy các lệnh sau:
$ apt-get update $ apt-get upgrade
Bước 2: Cài đặt Node.js
Trên các hệ thống Ubuntu, bạn có thể cài đặt Node.js từ kho lưu trữ NodeSource:
$ apt-get update $ apt-get install curl git gcc g++ make
Sau đó, cài đặt kho lưu trữ Node.js bằng lệnh sau
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
Sau đó, chạy các lệnh bên dưới để cài đặt Node.js:
$ apt-get install nodejs
Điều đó sẽ cài đặt phiên bản 10 của Node.js cùng với ‘npm’. Bạn có thể xác minh phiên bản bằng cách sử dụng:
$ node -v v10.15.3 $ npm -v 6.4.1
Bước 3: Cài đặt MongoDB
MongoDB là cơ sở dữ liệu mặc định cho NodeBB. Bắt đầu cài đặt bằng cách nhập khóa công khai được sử dụng bởi hệ thống quản lý gói.
$ apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Thêm kho MongoDB:
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
Cập nhật chỉ mục gói apt và cài đặt máy chủ MongoDB:
$ apt-get update $ apt-get install -y mongodb-org
Bắt đầu dịch vụ MongoDB:
$ systemctl start mongod.service $ systemctl enable mongod.service
Xác minh cài đặt MongoDB. Bạn nên có ít nhất phiên bản 4.0:
$ mongod --version db version v4.0.6 git version: caa42a1f75a56c7643d0b68d3880444375ec42e3 OpenSSL version: OpenSSL 1.1.0g 2 Nov 2017 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
Bước 4: Cấu hình MongoDB
Đăng nhập vào MongoDB chạy các lệnh sau:
$ mongo
Sau đó chuyển db sang ‘admin’ và tạo người dùng quản trị viên mới
use admin
Tạo người dùng quản trị viên mới có tên ‘admin’ bằng mật khẩu mới
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
Đừng quên thay thế ‘ admin_password ‘ bằng mật khẩu mạnh.
Tiếp theo, tạo một cơ sở dữ liệu mới gọi là nodebb
use nodebb
Sau đó, tạo một người dùng NodeBB mới có tên ‘ gật đầu’ với quyền quản trị cơ sở dữ liệu
db.createUser( { user: "admin", pwd: "admin_password", roles: [ { role: "readWriteAnyDatabase", db: "admin" }, { role: "userAdminAnyDatabase", db: "admin" } ] } )
Một lần nữa, đừng quên thay thế ‘ strong_password ‘ bằng mật khẩu thực, phức tạp.
Sau đó, thoát khỏi MongoDB.
quit()
Sau đó, chạy các lệnh bên dưới để mở tệp cấu hình MongoDB
# network interfaces net: port: 27017 bindIp: 127.0.0.1 # how the process runs processManagement: timeZoneInfo: /usr/share/zoneinfo security: authorization: enabled #operationProfiling: #replication: #sharding:
khi bạn hoàn thành, lưu các thay đổi của bạn.
Bước 5: Cài đặt Nginx
NodeBB có thể hoạt động tốt với nhiều máy chủ web. Trong hướng dẫn này, chúng tôi sẽ cấu hình nó để hoạt động với Nginx, một trong những máy chủ web tùy biến nhất xung quanh.
Để cài đặt Nginx trên máy chủ Ubuntu 18.04 của bạn, bạn cần thực hiện lệnh sau:
install
Sau khi cài đặt hoàn tất, hãy khởi động Nginx và cho phép nó tự động bắt đầu sau khi khởi động lại với hai lệnh sau:
$ systemctl start nginx.service $ systemctl enable nginx.service
Bước 6: Cài đặt NodeBB
Chuyển đến thư mục vừa tạo bằng cách thực hiện:
$ cd / var / www
Sao chép NodeBB trong thư mục này bằng cách chạy lệnh này:
$ git clone -b v1.12.0 https://github.com/NodeBB/NodeBB.git nodebb
* thay thế v1.12.0 bằng phiên bản mới nhất được liệt kê tại đây .
Tạo nodebb
người dùng mới :
$ useradd nodebb
Bây giờ áp dụng các tập tin và thư mục điều khoản đề nghị của /var/www/nodebb
thư mục vào nodebb
sử dụng:
sudo chown -R nodebb:nodebb /var/www/nodebb
Nhập thư mục nodeBB với
$ cd nodebb
Bắt đầu cài đặt bằng cách sử dụng lệnh sau:
$ ./nodebb setup
Trả lời từng câu hỏi Điều này sẽ cài đặt các mô-đun từ npm và sau đó vào tiện ích thiết lập.
Bây giờ bắt đầu NodeBB với lệnh này:
$ ./nodebb start Starting NodeBB "./nodebb stop" to stop the NodeBB server "./nodebb log" to view server output "./nodebb help" for more commands
Bước 7: Tạo một tệp đơn vị systemd
Bước này sẽ cho phép chúng tôi chạy NodeBB như một dịch vụ trong systemd. Điều này cho phép chúng tôi khởi động nó khi khởi động, cũng như chạy độc lập với phiên cuối của chúng tôi.
Nếu nó đã chạy, dừng NodeBB:
$ ./nodebb stop
Trong bước tiếp theo, chúng tôi sẽ tạo một tệp đơn vị dịch vụ để chúng tôi có thể chạy NodeBB như một dịch vụ.
Mở trình soạn thảo văn bản của bạn (chúng tôi sẽ sử dụng nano):
$ nano /etc/systemd/system/nodebb.service
và dán cấu hình bên dưới:
[Unit] Description=NodeBB Documentation=https://docs.nodebb.org After=system.slice multi-user.goal mongod.service [Service] Kind=forking Person=nodebb StandardOutput=syslog StandardError=syslog SyslogIdentifier=nodebb Setting=NODE_ENV=manufacturing WorkingDirectory=/var/www/nodebb PIDFile=/var/www/nodebb/pidfile ExecStart=/usr/bin/env node loader.js Restart=at all times [Install] WantedBy=multi-user.goal
Lưu và thoát tệp. Bây giờ bạn cần tải lại daemon để hệ thống có thể lấy đơn vị mới mà chúng ta đã tạo cho systemd.
$ systemctl daemon-reload
Cuối cùng, chúng ta có thể bắt đầu cá thể NodeBB bằng lệnh:
$ systemctl start nodebb
Để kiểm tra trạng thái cho dịch vụ NodeBB, bạn có thể thực hiện lệnh sau:
$ systemctl status nodebb
Bước 8: Cấu hình Nginx
NodeBB theo mặc định chạy trên cổng 4567. Chúng tôi sẽ định cấu hình Nginx thành các yêu cầu proxy cho nó.
Tạo tệp cấu hình Nginx:
$ nano /etc/nginx/conf.d/nodebb.conf
Sau đó thêm nội dung sau:
server { listen 80; server_name forum.your_domain.com; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:4567; proxy_redirect off; # Socket.IO Support proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }
LƯU Ý: Thay thế ‘ your_domain.com ‘ bằng tên miền đã đăng ký của bạn.
Bây giờ, hãy kiểm tra tệp cấu hình để đảm bảo rằng không có lỗi cú pháp. Bất kỳ lỗi nào có thể làm sập máy chủ web khi khởi động lại.
$ nginx -t
Đầu ra:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Nếu không có lỗi, bạn có thể tải lại cấu hình Nginx.
$ systemctl reload nginx
Bước 9: Truy cập Giao diện web NodeBB
Tại thời điểm này, bạn đã cài đặt thành công NodeBB trên máy chủ Ubuntu 18.04 của mình. Bạn sẽ có thể truy cập http://forum.your_domain.com
và tương tác với diễn đàn của bạn.
Để truy cập bảng điều khiển quản trị , http://forum.your_domain.com/admin
thay vào đó hãy sử dụng thông tin đăng nhập bạn đã đặt trước đó.
Nếu bạn thực hiện đúng các bước, thì bạn sẽ có một bản sao NodeBB thành công đang chạy trên máy chủ của mình.
PS . Nếu bạn thích đọc bài đăng trên blog này về cách cài đặt NodeBB trên Ubuntu 18.04 hoặc nếu bạn thấy nó hữu ích, hãy thoải mái chia sẻ nó trên các mạng xã hội bằng các phím tắt bên dưới hoặc chỉ cần để lại nhận xét trong phần bình luận. Cảm ơn bạn.