基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序

宝塔面板25字数 4995阅读模式

NodeBB论坛程序是基于 Node.js构建,并支持Redis,MongoDB或PostgreSQL数据库。它利用Web套接字进行即时交互和实时通知。NodeBB具有许多现成的现代功能,例如社交网络集成和流媒体讨论,同时仍确保与旧版浏览器兼容。

这篇文章还是基于宝塔面板来搭建,不过,搭建的系统基于debian10,并使用MongoDB作为数据库存储数据。

Centos7下宝塔面板使用redis部署NodeBB论坛程序:https://www.daniao.org/12504.html

基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序

1、简介

  • 项目:https://github.com/NodeBB/NodeBB
  • 官网:https://nodebb.org/
  • 文档:https://docs.nodebb.org/
  • 演示:https://try.nodebb.org/

2、准备

  • 宝塔面板(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
  • nginx1.19(软件商店搜索安装)
  • pm2管理器(软件商店搜索安装)
  • 准备一个域名不过没有也没关系,可以直接用IP:端口的形式访问

3、安装MongoDB

MongoDB宝塔是自带的,可以直接装,不过我真是嫌弃这自带的不好用,所以就抛弃了,还是直接安装一个用起来比较稳。

MongoDB是NodeBB的默认数据库,不支持mysql。

1)具体安装命令

apt -y update
apt -y install build-essential gnupg curl wget git
curl -sL https://deb.nodesource.com/setup_13.x | bash -
wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
apt -y update

2)验证MongoDB的版本:

root@localhost:~# mongod --version
db version v4.2.12

3)启动mongod服务并验证服务状态:

sudo systemctl start mongod
sudo systemctl status mongod

4)配置MongoDB

一般的MongoDB管理是通过MongoDB Shell完成的mongo。MongoDB的默认安装在端口上侦听,27017并且可以在本地访问。进入shell:

mongo

5)切换到内置admin数据库:

> use admin

6)创建一个管理用户(与nodebb我们稍后将创建的用户不同)。<Enter a secure password>设置一个安全的密码。

> db.createUser( { user: "admin", pwd: "<Enter a secure password>", roles: [ { role: "root", db: "admin" } ] } )

admin启用授权后,此用户的作用域为数据库以管理MongoDB。

7)添加一个新数据库名为,nodebb

> use nodebb

8)创建数据库用户和密码

> db.createUser( { user: "nodebb", pwd: "<Enter a secure password>", roles: [ { role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" } ] } )

readWrite权限允许NodeBB存储和从nodebb数据库检索数据。该clusterMonitor权限为NodeBB提供了对查询数据库服务器统计信息的只读访问权限,然后将其显示在NodeBB管理控制面板(ACP)中。

9)退出Mongo Shell:

> quit()

/etc/mongod.conf通过添加以下行,在MongoDB配置文件中启用数据库授权:

security:
  authorization: enabled

注意如果,没找到,就自己添加上去。

10)重新启动MongoDB,并验证先前创建的管理用户是否可以连接:

sudo systemctl restart mongod
mongo -u admin -p your_password --authenticationDatabase=admin

如果一切配置正确,Mongo Shell将连接。输入quit() 退出。

4、安装NodeBB

1)首先,我们必须安装git它用于分发NodeBB:

apt install -y git

2)下载程序

git clone -b v1.16.x https://github.com/NodeBB/NodeBB.git nodebb
cd nodebb

3)安装

./nodebb setup

注意,安装一路默认即可,有些地方需要注意,如下:

此处为隐藏的内容
发表评论并刷新,方可查看

4)启动NodeBB

./nodebb start

效果如下:

NodeBB Setup Completed. Run "./nodebb start" to manually start your NodeBB server.
root@localhost:~/nodebb# ./nodebb start

Starting NodeBB
  "./nodebb stop" to stop the NodeBB server
  "./nodebb log" to view server output
  "./nodebb help" for more commands

这样表示启动成功。在浏览器中用<IP:4567>打开即可访问。

5、效果演示

前端:

基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序

后端:

基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序

6、设置域名访问

直接看图:

基于debian宝塔面板安装nodebb – 一款基于Node.js的论坛程序

6、开机启动(以下内容可选)

为 NodeBB 创建 systemd 服务,以便开机启动。

1)先新建一个叫做nodebb的用户和用户组并且把nodebb目录下所有文件的所有权转移给这个用户(组)。

$ sudo adduser --system --group nodebb
$ sudo chown -R nodebb:nodebb /{你之前填写的目录}/nodebb

2)给 NodeBB 新建一个 systemd 单元,编辑以下文件。

nano /usr/lib/systemd/system/nodebb.service

3)填入以下内容:

[Unit]
Description=NodeBB Daemon Service
After=network.target
Wants=network.target

[Service]
Type=forking
User=nodebb

StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=nodebb

WorkingDirectory=/root/nodebb/nodebb dev
PIDFile=/var/run/nodebb.pid
ExecStart=/usr/bin/env node loader.js  #使用which node命令找到node位置
Restart=always

[Install]
WantedBy=multi-user.target

4)保存退出,重载 systemd 服务,启动 NodeBB 服务并设置开机启动:

systemctl daemon-reload
systemctl enable nodebb
systemctl start nodebb

7、最后

个人感觉,nodebb比Flarum要好用一点,就是安装起来还是麻烦,还是wp安装是最简单的~

如果程序不能打开,请在宝塔中放行默认的4567端口。

参考:

https://docs.nodebb.org/configuring/running/

https://docs.nodebb.org/installing/os/debian/

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 最后更新:2021-2-24
大鸟
评论  25  访客  24  作者  1
    • 1231231
      1231231 3

      6666666666酷酷酷

      • 天就
        天就 0

        看看安装教程,悉心学习

        • 过过过过过
          过过过过过 9

          看看安装教程,悉心学习

          • 强啊
            强啊 1

            大佬666

            • 楚轩大人
              楚轩大人 0

              感谢大佬的教程,我用ubuntu的云服务器宝塔里面sudo systemctl start mongod
              sudo systemctl status mongod这两个命令运行不了

                • 大鸟
                  大鸟

                  @ 楚轩大人 如果已经是root用户,不需要sudo

                • pmier
                  pmier 1

                  学习学习!!
                  感谢啦!

                  • pmier
                    pmier 1

                    感谢了
                    学习!

                    • 学习一二
                      学习一二 0

                      学习一下,感觉比较复杂啊
                      怕搞不定?

                      • k
                        k 1

                        感谢解决问题

                        • aa
                          aa 2

                          感谢分享!!

                          • 百度一下
                            百度一下 0

                            感谢了
                            学习!

                            • 111111
                              111111 0

                              看看安装教程,悉心学习

                              • ericsaf
                                ericsaf 0

                                好教程,学习学习

                                • 同意527
                                  同意527 0

                                  学习一下

                                  • Turing
                                    Turing 0

                                    学习一下

                                    • nodebbbb
                                      nodebbbb 0

                                      666 学习学习,谢谢。

                                      • niu牛
                                        niu牛 0

                                        6666牛啊

                                        • Mry
                                          Mry 1

                                          看看安装教程,悉心学习

                                          • uhjk
                                            uhjk 0

                                            666牛

                                            • 小鸟
                                              小鸟 1

                                              学习下,待会试试

                                              • fanxing
                                                fanxing 4

                                                查看内容

                                                • 9527
                                                  9527 0

                                                  学习下,待会试试

                                                  • Qing
                                                    Qing 0

                                                    学习一下

                                                    • tp
                                                      tp 0

                                                      学习一下,待会试试

                                                    匿名

                                                    发表评论

                                                    匿名网友

                                                    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                                    确定