Hướng dẫn cài đặt NodeBB trên Ubuntu 18.04

0

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.comvà 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/adminthay 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.

Leave a Reply

Your email address will not be published. Required fields are marked *