NodeBB实践-手把手教你搭建一个本身的论坛

论坛这个东西出现的挺久了,如今也并不是新潮的事,可是一个公司,有了不少的客户,要是有个论坛的话,能让客户或者员工在本身的论坛上吐吐槽、反馈下意见,那也是一件挺加分的事。html

搭建一个本身的论坛又不难,跟着下面教程来吧,只须要半天时间,给本身的公司加加分吧:)node

1.Nodebb介绍

NodeBB是Design Create Play开发的一款使用Node.js构建的论坛系统,使用redis或mongoDB数据库,采用web socket技术实现即时交互和实时通知,具备许多开箱即用的现代功能,如社交网络集成和流媒体讨论。ios

在github上有不少其余开源的论坛,nodebb不敢说最受欢迎也能够说最受欢迎之一了,最收欢迎的缘由,可能就是可以灵活扩展三方插件的特性了。nginx

名词解释:BB=bulletin board(电子公告牌)git

2.Nodebb安装与部署

太啰嗦的忽略,只讲有价值的部分 以Ubuntu环境为例,参见官网Installing on Ubuntugithub

2.1.前置条件

  • 【必要条件】node环境 要求8.0版本以上
  • 【必要条件】mongodb数据库或者redis数据
  • 【可选】nginx,若是须要域名访问时则要经过nginx作代理;若是仅仅练手,经过http://host:port便可,不要用到nginx

2.2.nodebb setup

nodebb软件的安装很是简单,就是一个setup命令web

git clone https://github.com/NodeBB/NodeBB.git nodebb
cd nodebb
./nodebb setup
复制代码

中间要求确认和输入一些参数,其它不重要,惟一关键的是 mognodb uri,格式为mongodb://test:test@127.0.0.1:13722/lcz_test1redis

安装完毕后,会提示下面语句,记住这个用户名和密码,登陆时用mongodb

An administrative user was automatically created for you:
    Username: admin
    Password: 76b44905

NodeBB Setup Completed. Run "./nodebb start" to manually start your NodeBB server.
复制代码

2.2.1.查看配置信息

nodebb setup执行完毕后,产生的配置参数能够经过cat config.json查看:数据库

{
    "url": "http://localhost:4567",
    "secret": "dde91a41-27ca-4c72-bba8-924cc4346851",
    "database": "mongo",
    "port": "4567",
    "mongo": {
        "host": "127.0.0.1",
        "port": 27017,
        "username": "",
        "password": "",
        "database": "nodebb",
        "uri": "mongodb://test:test@127.0.0.1:13722/lcz_test1"
    }
}
复制代码

2.3.启动并访问

经过下面命令启动:

./nodebb start
复制代码

而后浏览器用经过:http://localhost:4567 进行访问

没有任务配置的论坛首页以下:

nodebb没有任何配置的首页

2.4.关于报错:“与 NodeBB 的链接断开,咱们正在尝试重连,请耐心等待”

在config.json中增长

"socket.io":{
    "origins":"*:*"
        }
复制代码

而后部署并重启就能够解决这个报错,命令以下

./nodebb upgrade
./nodebb restart
复制代码

3.Nodebb的基础配置

通过下面几个配置,论坛看起来才有点像本身的论坛

3.1.语言、站点标题、主题和皮肤

  • 主题配置路径:/admin/appearance/themes
  • 皮肤配置路径:/admin/appearance/skins
  • 语言配置路径:admin/general/languages
  • ”站点标题“ 配置路径:admin/settings/general

3.2.窗口部件

3.2.1.右侧窗口部件-使用教程提示

在配置路径(admin/extend/widgets-->categories.tpl / sidebar),从“可用的窗口部件”中选择HTML,而后编辑要显示的内容以下

nodebb窗口部件html配置样例

<li>
    <a href="http://www.baidu.com">
        <strong>榕树下论坛支持视频播放啦</strong>
        <br/>使用教程、精彩课程
        <br/>期待更多内容吧~
    </a>
</li>
复制代码

其中 Container内容填写:

<div class="alert alert-danger">{{body}}</div>
复制代码

3.2.2.右侧窗口部件-最近访问用户展现

在配置路径(admin/extend/widgets-->categories.tpl / sidebar):从“可用的窗口部件”中选择,"latest users",而后修改参数以下

nodebb窗口部件lastest users配置样例

Title填写为:最近访问

其中 Container内容填写:

<div class="panel panel-primary">
   <div class="panel-heading">
     <h3 class="panel-title">{{title}}</h3>
   </div>
   <div class="panel-body">{{body}}</div>
</div>
复制代码

3.3.顶部窗口部件-最近主题

在配置路径(admin/extend/widgets-->categories.tpl / sidebar),从选择recent cards( 能够参照下节 插件安装 ),这个插件不用改参数,直接使用默认参数便可

部署完毕后的首页以下,看起来有点像本身的样子了吧:)

nodebb配置插件后的首页

4.插件安装

4.1.典型安装:以安装recent-cards为例

  • 寻找插件,输入'recent','cards':(admin/extend/plugins#download)
  • 选择安装
  • 启动插件: (admin/extend/plugins#installed)
  • 部署并重启,
    • 经过 ./nodebb upgrade 和 ./nodebb restart
    • 或者点击右上角的“部署并重启论坛”
  • 才能够admin/extend/widgets页面的”可用的窗口部件“下拉列表中看到这个名字

4.2.非典型安装:上传文件到阿里云OSS的插件

论坛建立后,在一个帖子粘贴图片,能够看到下面内容,这种方式是保存在本地,默认图片存储路径:./public/uploads/files/

![9790b9eb-e330-47fc-a0dd-d49535d0f443-image.png](/assets/uploads/files/1567754565220-9790b9eb-e330-47fc-a0dd-d49535d0f443-image.png)
复制代码

有个第三方插件能够把图片上传到阿里云,插件的名字是nodebb-plugin-alioss-uploads

不过这个插件的启动方式比较特殊,部署安装后,还须要经过export参数的方式,把参数传递给插件。

须要在执行nodebb start以前,先export参数,以下

export OSS_ACCESS_KEY_ID="LTAI9ziVIDTcSb**"
export OSS_SECRET_ACCESS_KEY="fsITkWUPxjfljcS3lEsdZSlGBlGh**"
export OSS_DEFAULT_REGION="oss-cn-hangzhou"
export OSS_UPLOADS_BUCKET="jfjun4test"
export OSS_UPLOADS_HOST="http://jfjun4test.oss-cn-hangzhou.aliyuncs.com"
export OSS_UPLOADS_PATH="temp-nodebb"
复制代码

这个插件部署成功后,再图片上传后地址以下,发现图片地址就已是阿里云上的地址了

![34e65e5f-583b-44e5-855d-953b4e9c7fee-image.png](http://jfjun4test.oss-cn-hangzhou.aliyuncs.com/temp-nodebb/dd09d788-fb77-4d70-a610-5d9ab4c5b5a8.png)
复制代码

4.3.本身开发插件

若是本身开发插件,能够参见文档 Writing Plugins for NodeBB

5.经常使用的后台管理

5.1.建立板块

地址 admin/manage/categories

在为版块配置权限:配置权限时,能够选择群组,也能够选择单个用户

5.2.群组与权限

能够创建不一样的群组,能够把用户归到多个群组, admin/manage/groups

6.参考文档

相关文章
相关标签/搜索