論壇這個東西出現的挺久了,如今也並不是新潮的事,可是一個公司,有了不少的客戶,要是有個論壇的話,能讓客戶或者員工在本身的論壇上吐吐槽、反饋下意見,那也是一件挺加分的事。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/
![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)
複製代碼
若是本身開發插件,能夠參見文檔 Writing Plugins for NodeBB
地址 admin/manage/categories
在爲版塊配置權限:配置權限時,能夠選擇羣組,也能夠選擇單個用戶
能夠創建不一樣的羣組,能夠把用戶歸到多個羣組, admin/manage/groups