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

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

10个月前 (08-25)admin新鲜资讯30

今天和大家分享搭建 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...

停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(转)

停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(转)

分享一篇来自于 chuck 关于新闻是信息垃圾食品的博文,作者将新闻与我们的常见的食品类比,觉得蛮有道理,和大家分享。原文为英文,有兴趣的可以点击阅读原文。下面是通过 AI 翻译过后的中文内容。近年来,停止关注新闻是我做出的最佳生活方式决定之一,仅次于戒掉社交媒体(尽管两者并不互斥)。减少摄入这些本...

分享博客运营心得:博客访问量人数突然增多,吓得我赶紧去查看服务器日志

分享博客运营心得:博客访问量人数突然增多,吓得我赶紧去查看服务器日志

大家好,我是兔哥。今天跟大家分享一个有趣的经历:我的博客访问量突然暴增,吓得我赶紧去查看服务器日志。这个过程中,我不仅见证了一场精彩的奥运赛事,还发现了一些关于博客运营的有趣现象。文章目录1 情景复现2 突如其来的访问高峰3 分析访问日志4 从新手到小有成就5 博客运营的心得体会6 未来的期望与挑战...

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

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

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

最强密码管理软件 1Password 家庭组免费一年,用过之后回不去了

最强密码管理软件 1Password 家庭组免费一年,用过之后回不去了

最近,有网友发现,1Password 正在进行一个免费的活动,免费时间竟然长达一年!如果你还没有用过这款软件,现在就是个绝佳的机会。让我们一起来看看这个活动的详情,以及 1Password 的使用体验。文章目录1 1Password 免费一年2 1Password使用体验2.1 安全性与易用性2.2...

同样为搜索引擎,为什么我更喜欢用 Bing 和 Google,百度拜拜!

同样为搜索引擎,为什么我更喜欢用 Bing 和 Google,百度拜拜!

今天我们来聊一个可能有点敏感,但绝对值得讨论的话题:为什么我更偏爱使用 Bing 和 Google ,而不是百度搜索引擎?作为一个经常需要查找各种信息的互联网用户,我想分享一下我的亲身体验和思考。让我们从一个具体的例子开始:最近我需要将MP4视频转换成MP3音频,于是我分别在 百度 、 Bing 和...

发表评论

访客

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