论坛这个东西出现的挺久了,如今也并不是新潮的事,可是一个公司,有了不少的客户,要是有个论坛的话,能让客户或者员工在本身的论坛上吐吐槽、反馈下意见,那也是一件挺加分的事。html
搭建一个本身的论坛又不难,跟着下面教程来吧,只须要半天时间,给本身的公司加加分吧:)node
NodeBB是Design Create Play开发的一款使用Node.js构建的论坛系统,使用redis或mongoDB数据库,采用web socket技术实现即时交互和实时通知,具备许多开箱即用的现代功能,如社交网络集成和流媒体讨论。ios
在github上有不少其余开源的论坛,nodebb不敢说最受欢迎也能够说最受欢迎之一了,最收欢迎的缘由,可能就是可以灵活扩展三方插件的特性了。nginx
名词解释:BB=bulletin board(电子公告牌)git
太啰嗦的忽略,只讲有价值的部分 以Ubuntu环境为例,参见官网Installing on Ubuntugithub
http://host:port
便可,不要用到nginxnodebb软件的安装很是简单,就是一个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_test1
redis
安装完毕后,会提示下面语句,记住这个用户名和密码,登陆时用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.
复制代码
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"
}
}
复制代码
经过下面命令启动:
./nodebb start
复制代码
而后浏览器用经过:http://localhost:4567
进行访问
没有任务配置的论坛首页以下:
在config.json中增长
"socket.io":{
"origins":"*:*"
}
复制代码
而后部署并重启就能够解决这个报错,命令以下
./nodebb upgrade
./nodebb restart
复制代码
通过下面几个配置,论坛看起来才有点像本身的论坛
在配置路径(admin/extend/widgets-->categories.tpl / sidebar),从“可用的窗口部件”中选择HTML,而后编辑要显示的内容以下
<li>
<a href="http://www.baidu.com">
<strong>榕树下论坛支持视频播放啦</strong>
<br/>使用教程、精彩课程
<br/>期待更多内容吧~
</a>
</li>
复制代码
其中 Container内容填写:
<div class="alert alert-danger">{{body}}</div>
复制代码
在配置路径(admin/extend/widgets-->categories.tpl / sidebar):从“可用的窗口部件”中选择,"latest 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>
复制代码
在配置路径(admin/extend/widgets-->categories.tpl / sidebar),从选择recent cards( 能够参照下节 插件安装 ),这个插件不用改参数,直接使用默认参数便可
部署完毕后的首页以下,看起来有点像本身的样子了吧:)
论坛建立后,在一个帖子粘贴图片,能够看到下面内容,这种方式是保存在本地,默认图片存储路径:./public/uploads/files/

复制代码
有个第三方插件能够把图片上传到阿里云,插件的名字是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"
复制代码
这个插件部署成功后,再图片上传后地址以下,发现图片地址就已是阿里云上的地址了

复制代码
若是本身开发插件,能够参见文档 Writing Plugins for NodeBB
地址 admin/manage/categories
在为版块配置权限:配置权限时,能够选择群组,也能够选择单个用户
能够创建不一样的群组,能够把用户归到多个群组, admin/manage/groups