当前位置:首页 > 新鲜资讯 > 教你在 Ubuntu 22.04 系统上搭建 NodeBB 开源论坛程序(一)

教你在 Ubuntu 22.04 系统上搭建 NodeBB 开源论坛程序(一)

1年前 (2024-08-25)admin新鲜资讯40

今天和大家分享搭建 NodeBB 轻量级论坛过程。在网上搜索了一圈,发现关于 NodeBB 论坛的搭建教程都有些过时,有些则使用的是 CentOS 系统,对于我个人来说,习惯了 Ubuntu 和 Debian 。而且官方推荐的也是使用 Ubuntu 系统搭建,那么现在就和大家分享一下如何在 Ubuntu 系统上搭建 NodeBB 轻量级论坛。

文章目录

  • 1 为什么选择 NodeBB
  • 2 NodeBB 配置要求
  • 3 搭建步骤
    • 3.1 一 、环境搭建( Node.js + MongoDB 数据库)
      • 3.1.1 1. 安装 Node.js
      • 3.1.2 2. 安装 MongoDB 数据库
      • 3.1.3 3. 配置 MongoDB 数据库
    • 3.2 二 、安装 NodeBB 主程序
    • 3.3 三 、配置反向代理

为什么选择 NodeBB

开源、轻量级、快速和高度可扩展性!颜值高!

官方演示网站:https://try.nodebb.org/

我在初次搭建的过程中,觉得过程稍许繁杂,我知道肯定有小伙伴想说为什么不用 Docker 安装,我首选的方法也是用 Docker,但我在 dockerhub 上找了一圈,发现关于 NodeBB 的 docker 镜像版本太旧,更新时间大约是一年前。而 NodeBB 最新版本已经来到 3.8.2。所以才没有采取 docker 来安装 NodeBB 。

搭建的过程中也是踩了一些坑,比如说在安装 node.js 的过程中,按照官方代码部署,发现最终安装的不是最新版本;最让我头疼的是好不容易部署完成,登录账号密码的时候,提示密码错误等等。希望经过我的踩坑经验,能让大家少走些弯路。

NodeBB 配置要求

  • 操作系统: Ubuntu 16.04+ 或 Debian 9+
  • 内存: 至少 512MB(推荐 1GB 或更高)
  • Node.js: v14.x 或更高
  • 数据库: MongoDB 或 Redis
  • 反向代理: Nginx 或 Apache

搭建步骤

  • 环境搭建( Node.js + MongoDB 数据库)
  • 安装 NodeBB 主程序
  • 配置反向代理
  • NodeBB 加入系统开机启动
  • 配置 HTTPS
  • 升级
  • 备份与恢复

一 、环境搭建( Node.js + MongoDB 数据库)

1. 安装 Node.js

NodeBB 由 Node.js 驱动,因此需要安装 Node.js 。为了获得最新的 Node.js LTS 版本,具有更好的性能和最新的功能,建议大家从 NodeSource Ubuntu 二进制发行版存储库获取。可以将下列代码直接复制粘贴到 ssh 控制台

sudo apt update
sudo apt install curl
curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs

控制台输入node -v,npm -v 验证 Node.js 和 npm 的安装是否成功。出现版本信息即为成功。

2. 安装 MongoDB 数据库

MongoDB 是 NodeBB 的默认数据库,本教程以当前最新的 7.0 稳定版本为例。同样可以将下列代码直接复制粘贴到 ssh 控制台。

sudo apt-get install gnupg curl
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org

上述命令执行并完成安装后,输入 mongod –version 验证 MongoDB 的安装是否成功,依旧是出现版本信息即为成功。

启动 mongod 服务,将此服务加入开机自动,最后查看 mongod 运行状态

sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

出现下图红色框选内容:active(running),说明服务出于运行状态。按 ctrl+c 返回控制台。接下来,我们需要配置 MongoDB 数据库

3. 配置 MongoDB 数据库

1.首先输入 mongosh 进入 shell 控制台,然后切换到内置 admin 数据库,创建一个 admin 管理用户。

命令如下(依次执行):

mongosh
use admin
db.createUser({ user: "admin", pwd: "Tuge985", roles: [ { role: "root", db: "admin" } ] })

这个 admin 用户的范围是管理数据库,一旦启用授权就可以管理MongoDB。

注意:请将第三条命令中的Tuge985更换为自己设定的密码,Tuge985是我自行创建的密码。

2.创建名为 nodebb 的新数据库,同时创建 nodebb 用户来管理 nodebb 数据库,完成后退出(这个 nodebb用户和上面的 admin 用户不同,admin 用户类似于一所学校的校长,而 nodebb 用户类似于某一年级的年级主任)。

命令如下(依次执行):

use nodebb
db.createUser({ user: "nodebb", pwd: "Tuge985", roles: [{ role: "readWrite", db: "nodebb" }, { role: "clusterMonitor", db: "admin" }] })
quit()

注意:同样请将第二条命令中的Tuge985更换为自己设定的密码。

3. MongoDB 配置文件 /etc/mongod.conf 中进行编辑

执行 nano /etc/mongod.conf 打开该文件,然后在 #security 下添加下面的代码

security:
authorization: enabled

之后,按 ctrl+x 后点击 y 保存,回车后回到主界面。

4.重新启动 MongoDB 并验证之前创建的管理用户是否可以连接,测试无误后输入 quit 退出。

sudo systemctl restart mongod
mongosh -u admin -p Tuge985 --authenticationDatabase=admin

二 、安装 NodeBB 主程序

  1. 安装前,需要先安装 git,用来获取 NodeBB 安装代码
sudo apt-get install -y git

官方声明:使用 git 和后面用到的 ./nodebb 这些命令的时候,不应该用 root 权限或 root 账号来执行。说是会有NodeBB 需要访问的文件的不同所有权问题。这样的话,我们就新建一个没有 root 权限的普通用户:

sudo adduser nodebb

简单的设置一下密码,之后一路回车,此时,用用户 nodebb 就创建成功!

注意:密码不要设置的太简短,大小写字母加数字最佳,否则需要你重新设置。

2. 创建 NodeBB 论坛所在的目录

sudo mkdir -p /var/www/nodebb

将文件夹的所有权更改为新创建的用户。

sudo chown -R nodebb:nodebb /var/www/nodebb

3. 切换到我们新建的 nodebb 账户,进行安装 NodeBB 程序。

su nodebb

切换到 NodeBB 安装目录。

cd /var/www/nodebb

要安装 NodeBB,首先我们需要克隆它的 Github 存储库。将 NodeBB 克隆到该 /var/www/nodebb 目录。命令末尾的点表示当前目录。(切记不要丢掉最后的点)

git clone -b v3.8.2 https://github.com/NodeBB/NodeBB.git .

在这里,我们克隆了 NodeBB 的 v3.8.2,它是编写本博客时最新的稳定版本。你可以从 NodeBB 的最新版本页面 中找到最新的稳定分支。

使用以下命令安装 NodeBB :

./nodebb setup

此过程大约持续 5-10 分钟,机器性能强则等待时间较短,反之,则需要多等一下。大约 5 分钟左右,会交互式的出现一些信息,请操考下图:

  • ① 填写自己的域名(图中有误,请将 https改为 http);
  • ② 一个符合示例格式的随机字符串,比如说:e71ba472-72a8-40f2-adb4-22681b4d8a79;
  • ③ no;
  • ④⑤⑥⑦直接回车即可;
  • ⑧ 填写数据库名字,上面我们创建了 nodebb 的数据库,所以此处写 nodebb;
  • ⑨ 输入数据库密码,输入的时候不显示,但其实是输入成功的,确认输入正确后回车;
  • ⑩ 直接回车

接下来,下图中输入NodeBB论坛管理员用户和密码,这里我以 uuzi 为用户名,填写上邮箱和密码,回车即可。

当最后出现如下提示,此时 NodeBB 安装成功!

NodeBB Setup Completed. Run "./nodebb start" to manually start your NodeBB server.

最后,使用以下命令启动 NodeBB

./nodebb start

虽然此时启动成功,但是实测打开速度特别慢,不过将程序重启一下就没问题了。

./nodebb stop
./nodebb start

此时我们通过在浏览器中输入 ip + 端口的方式访问,如果出现一下无法打开页面的画面,则可能是防火墙的原因导致,只要在防火墙中放行 4567 端口即可。

只需要在 root 用户下输入下面的命令,即可。

ufw allow 4567

然后再次访问 http://158.247.208.136:4567/,发现可以正常打开。

三 、配置反向代理

由于篇幅有限,关于配置反向代理使用域名访问,以及配置 HTTPS,将会在下一篇博客中,尽请期待。

推荐阅读

  • 2024年如何注册土耳其Apple ID账号
  • 加纳 Ghana 开通低价 YouTube 会员
  • 注册 Google账号的方法解决此电话号码无法用于验证
  • 低价订阅做图神器 Canva Pro 可画专业版会员

感谢打赏支持

豪鲁斯兴趣网论坛油管频道电报频道电报聊天

扫描二维码推送至手机访问。

版权声明:本文由豪鲁斯兴趣网发布,如需转载请注明出处。

本文链接:https://w.haolusi.com/?id=1538

分享给朋友:

“教你在 Ubuntu 22.04 系统上搭建 NodeBB 开源论坛程序(一)” 的相关文章

土耳其 iCloud 再次迎来翻倍涨价,土区居民哭了,数字土耳其人何去何从

土耳其 iCloud 再次迎来翻倍涨价,土区居民哭了,数字土耳其人何去何从

2024 年 8 月 21 日消息,土耳其 iCloud 价格再次迎来翻倍涨价。来自苹果官网的最新价格为价(兑换人民币的价格以博客发表时的汇率为准): 50GB:24.99 里拉/月 ~ 5.26元200GB:79.99 里拉/月 ~ 16.82元2TB:249.99 里拉/月 ~ 52.57元6T...

2024 巴黎奥运会闭幕式时间与直播平台、直播源、在线网站全渠道汇总

2024 巴黎奥运会闭幕式时间与直播平台、直播源、在线网站全渠道汇总

巴黎奥运会的精彩赛事即将画上句号,相信大家都不想错过闭幕式这场视觉盛宴吧?今天,我们就来聊聊2024巴黎奥运会闭幕式的相关信息,以及如何观看这场盛大的闭幕仪式。首先,让我们回顾一下开幕式引发的争议。开幕式被网友评价为”大尺度“、”辣眼睛“,甚至奥运会官...

5个拖慢网页速度的坏习惯, 改掉它们上网速度提升300%

5个拖慢网页速度的坏习惯, 改掉它们上网速度提升300%

在这个信息时代,网页浏览器已经成为我们生活中不可或缺的工具。无论是谷歌浏览器(Chrome)、微软Edge、Mozilla Firefox,还是苹果的Safari,每天打开浏览器上网已经成为大多数人的日常。但是,你真的充分利用了浏览器的全部功能吗?还是仍然停留在一些需要更新的旧习惯上呢?让我们一起来...

网络身份证时代来临:隐私与便利的博弈,你准备好了吗?

网络身份证时代来临:隐私与便利的博弈,你准备好了吗?

大家好,我是豪鲁斯兴趣网。今天我们来聊一个热门话题:网络身份证。最近,公安部和国家互联网信息办公室联合发布了《国家网络身份认证公共服务管理办法(征求意见稿)》,引发了广泛讨论。让我们一起来看看这个政策的来龙去脉,以及如何申请网络身份证。文章目录1 什么是网络身份证?2 为什么要推出网络身份证?3 网...

兔哥博客 2024 年7月访问量分析与总结

兔哥博客 2024 年7月访问量分析与总结

亲爱的读者朋友们,时光飞逝,2024年7月已经悄然过去。今天,我想和大家分享一下本月兔哥博客的访问情况,并做个简单的总结。文章目录1 访问量概览2 流量来源3 热门内容4 Adsense 广告收益5 总结与计划6 兔哥有话说访问量概览7月份,兔哥博客发布博客文章36篇,总访问量达到了 72000 次...

Cobalt.tools:一个极简、无广告、支持最高下载 4K/8K YouTube 视频的免费工具

Cobalt.tools:一个极简、无广告、支持最高下载 4K/8K YouTube 视频的免费工具

大家好,我是豪鲁斯兴趣网。今天给大家带来一个超级实用的工具:Cobalt.tools,这可能是目前最简洁、最好用的YouTube视频下载工具了。让我们一起来看看它有多厉害吧!文章目录1 为什么需要YouTube下载工具?2 Cobalt.tools:极简主义的典范2.1 极简的界面设计2.2 强大的...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。