DoraCMS開發指南

一、 DoraCMS 安裝
1.1 安裝nodejs
1.2 安裝Mongodb。
1.3 運行DoraCMS
1.3.1啟動mongodb
1.3.2 插入初始數據
1.3.3運行DoraCMS
1.3.4 訪問地址
二、 DorCMS 開發
2.1 配置文件
2.2 關于路由
2.3 關于模板
2.4 實體類
2.5 用到的插件
2.6 關于編碼
三、總結
四、FAQ
一、DoraCMS 安裝
1.1 安裝nodejs
DoraCMS 是基于Nodejs 開發的,所以要想正常運行DoraCMS 需要nodejs環境。在Nodejs官網(https://nodejs.org/) 根據電腦版本下載對應的安裝文件進行安裝,安裝完成后,打開命令窗口執行 node -v,如果出現版本號,證明安裝成功。我的電腦是64位版本,安裝了重啟之后才生效。
1.2 安裝Mongodb。
DoraCMS 使用的是Mongodb 的數據庫,至于Mongodb 的特點和nosql的優勢在此就不做詳細描述了。安裝方法很簡單,到官網 (https://www.mongodb.org/) 下載對應版本,直接安裝就可以了。這里有一點需要注意的是,如果你安裝在D盤,安裝完成后,在D盤根目錄下創建文件夾 data ,不然啟動mongo會提示數據庫路徑錯誤,當然你也可以通過命令啟動mongodb來指定數據庫的路徑,如果你不想麻煩,就照我說的處理就可以了。
1、在本地盤建立一個文件夾(最好英文名稱),通過svn checkout 出DoraCMS的代碼,項目地址:https://git.oschina.net/doramart/DoraCMS,svn地址:svn://git.oschina.net/doramart/DoraCMS ,完成后代碼結構如下:
注:.idea 不屬于項目文件夾,為webstorm 工程文件,不必理會。
1.3 運行DoraCMS
1.3.1啟動mongodb
找到mongodb安裝目錄下bin文件夾,執行 mongod.exe
1.3.2 插入初始數據
在《DoraCMS操作指南》 中有提到插入初始管理數據,因為剛安裝的數據是空的,需要插入初始數據來管理后臺,這里重新介紹一次:
①、找到Mongodb安裝目錄(MongoDBServer3.0bin) 執行 mongo.exe
②、輸入 use doracms
③、插入用戶組數據:
db.admingroups.insert({ "_id":"4yTbsWiI", "name":"超級管理員", "power":"{"sysTemManage_0_1":true,"sysTemManage_0_2":true,"sysTemManage_0_3":true,"sysTemManage_0_4":true,"sysTemManage_0_5":true, "contentManage_1_1":true,"contentManage_1_2":true,"contentManage_1_3":true,"userManage_2_1":true,"projectManage_3_1":true, "projectManage_3_2":true,"projectManage_3_3":true,"contentManage_1_4":true,"contentManage_1_5":true,"sysTemManage_0_6":true, "contentManage_1_6":true}", "date":ISODate("2015-06-30T08:04:46.092Z"), "__v":0 })
④、插入用戶數據:
db.adminusers.insert({ "_id":"E1jNjZi8", "name":"test", "username":"test", "password":"581fbebb8a5f5827", "phoneNum":12358563215.0, "email":"doramart@qq.com", "group":"4yTbsWiI", "comments":"doramart", "logo":"/upload/images/defaultlogo.png", "date":ISODate("2015-06-18T01:17:15.007Z"), "__v":0 })
⑤、插入數據如果存在格式問題,需要在記事本里編輯一下。如果上述執行正常,那么默認的登錄名和密碼為 test / 000000 ,這樣,您就可以正常登錄后臺了。
1.3.3運行DoraCMS
在剛剛svn下載的代碼目錄下 調出cmd命令窗口,執行npm start
如果沒有報錯,證明運行成功了。
注意:DoraCMS 指定了默認端口號為80,如果您的機器已經占用了80端口,這里會報錯,如果想修改默認端口號,可以到代碼的bin目錄下 www 文件修改,當然修改完成,訪問路徑記得帶上端口號:
至此,doraCMS就運行起來了
1.3.4 訪問地址
前臺:127.0.0.1 (默認80端口)
后臺:127.0.0.1/admin
二、DorCMS 開發
2.1 配置文件
DoraCMS 的主要配置在 settings.js 中設置(/onlineCMS/models/db/settings.js):
//數據庫配置 COOKIE_SECRET:\\\’doramart.com\\\’, URL:\\\’mongodb://127.0.0.1:27017/doracms\\\’, DB:\\\’doracms\\\’, HOST:\\\’127.0.0.1\\\’,//數據庫地址 PORT:27017,//數據庫端口號 \\\’doracms\\\’,//數據庫用戶名 \\\’000000\\\’,//數據庫密碼 //站點基礎信息配置 SITETITLE:\\\’前端開發俱樂部\\\’,//站點名稱 SITEDOMAIN:\\\’http://www.html-js.cn\\\’,//站點域名 SITEICP:\\\’粵ICP備111111號-2\\\’,//站點備案號 SYSTEMMAIL:\\\’xxxx@163.com\\\’,//站點郵箱 UPDATEFOLDER:process.cwd() \\\’/public/upload\\\’,//默認上傳文件夾本地路徑 TEMPSFOLDER:process.cwd() \\\’/views/web/temp\\\’,//默認模板文件夾本地路徑 DATAOPERATION:process.cwd() \\\’/models/db/bat\\\’,//數據庫操作腳本目錄 DATABACKFORDER:\\\’C:/softbak/xxxx/\\\’,//服務端數據庫操作腳本目錄 CMSDISCRIPTION:\\\’前端開發俱樂部,分享前端知識,豐富前端技能。匯集國內專業的前端開發文檔,為推動業內前端開發水平共同奮斗。html,js,css,nodejs,前端開發,jquery,web前端,web前端開發,前端開發工程師\\\’, SITEKEYWORDS:\\\’前端開發俱樂部,前端俱樂部,DoraCMS內容管理系統,前端開發,web前端,web前端開發,前端開發工程師,設計,開發,前端資源,angularjs,JavaScript,js,Ajax,jQuery,html,html5,css3,瀏覽器兼容,前端開發工具,nodejs,node,boostrap\\\’, SITEBASICKEYWORDS:\\\’前端開發俱樂部,前端開發,前端俱樂部,DoraCMS\\\’,//基礎關鍵詞 STATICFILEPATH:\\\’\\\’,//靜態文件空間地址 UPDATEFILEPATH:\\\’\\\’,//上傳文件空間地址 QINIUACCESS_KEY:\\\’\\\’,//七牛秘鑰 QINIUSECRET_KEY:\\\’\\\’,//七牛秘鑰 QINIUCMSBUCKETNAME:\\\’\\\’,//七牛Bucket_Name
針對上面這些靜態參數都進行了詳細的注釋,如果你設置了數據庫賬號密碼,則需要在這里做相應的配置,同時需要在 Dbopt.js 中做相應的數據庫連接設置。
Settings.js 中有四個參數需要注意一下:
UPDATEFOLDER:process.cwd() \\\’/public/upload\\\’,//默認上傳文件夾本地路徑 TEMPSFOLDER:process.cwd() \\\’/views/web/temp\\\’,//默認模板文件夾本地路徑 DATAOPERATION:process.cwd() \\\’/models/db/bat\\\’,//數據庫操作腳本目錄
上面三個參數原則上不用修改,UPDATEFOLDER 指定上傳文件的目錄,TEMPSFOLDER 為指定的模板文件夾,DATAOPERATION 為執行數據備份的腳本目錄文件夾
DATABACKFORDER:\\\’C:/softbak/xxxx/\\\’,//服務端數據庫操作腳本目錄
DATABACKFORDER 指定數據備份的本地路徑。
下面的配置都是后臺模塊的靜態參數:
SYSTEMMANAGE:\\\’sysTemManage_0\\\’,//后臺模塊(系統管理) ADMINUSERLIST:\\\’sysTemManage_0_1\\\’, ADMINGROUPLIST:\\\’sysTemManage_0_2\\\’, EMAILTEMPLIST:\\\’sysTemManage_0_3\\\’, ADSLIST:\\\’sysTemManage_0_4\\\’, FILESLIST:\\\’sysTemManage_0_5\\\’, DATAMANAGE:\\\’sysTemManage_0_6\\\’,//數據管理 BACKUPDATA:\\\’sysTemManage_0_6_1\\\’,//數據備份 CONTENTMANAGE:\\\’contentManage_1\\\’,//后臺模塊(內容管理) CONTENTLIST:\\\’contentManage_1_1\\\’, CONTENTCATEGORYS:\\\’contentManage_1_2\\\’, CONTENTTAGS:\\\’contentManage_1_3\\\’,//標簽管理 CONTENTTEMPS:\\\’contentManage_1_4\\\’,//模板管理 CONTENTTYPES:\\\’contentManage_1_5\\\’,//內容屬性管理 CONTENTFILMTYPES:\\\’contentManage_1_5_1\\\’,//內容屬性管理 CONTENTCOUNTRYTYPES:\\\’contentManage_1_5_2\\\’,//內容屬性管理 CONTENTYEARSTYPES:\\\’contentManage_1_5_3\\\’,//內容屬性管理 MESSAGEMANAGE:\\\’contentManage_1_6\\\’,//留言管理 USERMANAGE:\\\’userManage_2\\\’,//后臺模塊(會員管理) REGUSERSLIST:\\\’userManage_2_1\\\’
改參數對應后臺模板文件 adminTemp.ejs 中的模塊列表的:
也就是說,如果新增模塊,需要在配置文件(settings.js) 和 adminTemp.ejs 中配置相應的cid。
這個屬性是權限控制需要的,除此之外,加入新模塊后,需要在權限管理模塊加入新模塊,并配置對應的cid
2.2 關于路由
DoraCMS 中所有的請求都是通過nodejs的路由來處理的,原理類似于java中的 struts 。
路由文件在routes文件夾下:
Admin.js , 后臺所有模塊管理路由
Content.js 前臺文檔相關
Index.js 首頁相關(也包含文檔列表和文檔相親)
System.js 系統操作的相關路由 (比如文件上傳、郵件發送等)
Users.js 用戶中心的相關請求走這里
Validat.js 后臺權限控制(沒有授予管理權限(session)會直接過濾掉請求)
2.3 關于模板
DoraCMS 是基于ejs 模板引擎來表現前臺頁面的,選擇ejs 是因為比jade更好理解一些。屬性js的童鞋也好接受ejs的語法來展示數據。DoraCMS 的模板文件都在 views 文件夾下:
解析:
1、views 下的 index.ejs 為首頁主體內容,sitemap.ejs 是站點地圖的主體內容,sitemap.ejs是展示給用戶看的,不需要手動更新。
2、Web 為前臺的所有模板文件,web根目錄下的 do404.ejs, do505.ejs , dosuccess.ejs 是處理操作過程結果反饋的模板,這些是普遍需要用到的。
3、Users 是用戶相關頁面模板。
4、Temp中包含了公共header和footer,以及文檔模板,aboutMe、blog、lab 都屬于文檔模板,可以根據自己的需要自行添加。
5、public 文件夾中的模板暫時沒用到。
6、Manage 里是后臺的所有頁面模板,adminTemp.ejs 是模板外殼,里面包含了各個模塊列表和一些公共的引用。
7、public 文件夾下是公共目錄,主要放置靜態文件,包括前臺和后臺的靜態js,css,以及DoraCMS 用到的jquery插件等。Public 下的文件都是公開的,在app.js 中設置。
2.4 實體類
這里稱為“實體類”可能有些不妥,在java中,這部分確實就叫實體類,代表每個對象所具有的屬性,文件存放于models 文件夾中。
每個對象都有詳細注釋,開發者自己去查看就可以了。
2.5 用到的插件
開發過程中,很多功能并不是自己寫的,用到了npm上比較優秀的一些插件,在此選出一些做介紹,所有插件在 node_modules 下
1、Express nodejs 框架,是DoraCMS的基礎框架
2、Gm 圖片縮略圖,為上傳圖片生成指定大小的縮略圖
3、Moment 時間格式化工具,功能非常強大
4、Nodemailer nodejs郵件發送組件
5、Formidable 文件上傳組件
6、Qiniu 七牛云存儲組件,用于將文件上傳到七牛上
7、Qr-image 用戶將自定義鏈接生成二維碼圖片的組件,輕量級 很方便
8、Archiver 文件夾壓縮工具,將指定文件夾壓縮為zip
9、Shortid 用在了實體類中,用于生成短id替代 mongodb 的長id
10、Validator 用戶服務端數據校驗,提供很多方法對數據進行校驗
11、Ueditor-nodejs 將nodejs和百度的ueditor整合,這個組件感覺很有用
12、Mongoose 用于nodejs 連接 mongodb,并提供了豐富的數據處理的接口
2.6 關于編碼
1、DoraCMS 的編碼,前臺主要用到了 ejs 模板和ejs語法 展示數據;后臺主要用到了ejs和 angularjs 來展示數據。不熟悉 angularjs 的童鞋和簡單了解一下,對于后臺展示數據非常方便,但是不適合前臺,因為angularjs 不適合做seo 。
2、DoraCMS 基于 nodejs express 編寫,所以前端基本是div css js ,服務端主要是js,對js比較了解的前端開發者很容易就能上手。
3、DoraCMS 80%%u7684代碼都有注釋,詳細介紹了接口的用途和細節處理,方便查看。
三、總結
DoraCMS 開發時間比較短,功能并不是很豐富,但是麻雀雖小、五臟俱全,基本功能都是具備的。由于DoraCMS是本人獨立開發,由于技術有限難免會有些處理不好的地方,或者一些很明顯的bug(雖然我也在不斷的改善),如果您發現了問題,請您不佞賜教,如果確實存在問題,我會不斷的更新上去,這也是開源的目的之所在。如果您有更好的解決方案或者對DoraCMS有更好的想法,也可以通過我的博客聯系我,讓我們一起探討,共同進步。
四、FAQ
1、一直沒看到說設置數據庫密碼,這樣安全么?
當然不安全,本地調試可以不用設置密碼,程序部署上去肯定是要設置數據庫賬號密碼的,怎樣設置呢,給個鏈接大家可以參考下:
http://ibruce.info/2015/03/03/mongodb3-auth/
2、網絡上很多cms都很強大,為什么要選擇DoraCMS ?
當然,目前很多成熟的cms(織夢、phpcms等),DoraCMS 剛起步自然比不了,首先DoraCMS創建的目的是為了更深入的了解nodejs并付諸實踐,開源的目的也是為了通過案例來不斷改進我們的nodejs水平,共同提高;其次DoraCMS結構清晰、模塊簡單,上手很容易。目前市面的cms結構復雜,想要自己修改定制學習成本比較高。初識nodejs的開發者可以了解一個cms實現的基礎過程,熟悉nodejs的也可以用DoraCMS 來進行二次開發,不用再從頭開始。DoraCMS 遵循MIT協議完全開源,您可以自由定制屬于你自己的網站而不必花很多時間去處理最基礎的一些東西,為了讓更多的人去了解和認識nodejs,于是DoraCMS 誕生了。
3、演示地址在哪里?
http://www.html-js.cn 基于DoraCMS 定制的博客系統
http://www.dailyads.cn 基于 DoraCMS 定制的視頻分享站點

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:www.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » DoraCMS 基于Nodejs的內容管理系統(開發文檔)

登錄

找回密碼

注冊

主站蜘蛛池模板: 九九热免费在线播放视频| 亚洲精品日本一区二区| 茶陵县| 少妇无码av无码专区在线观看| 日本一区不卡高清更新二区 | 色老99久久精品偷偷鲁| 国产午夜精品福利视频| 高清自拍亚洲精品二区| 日韩一区二区在线看精品| 国产日韩欧美| 99国产精品欧美一区二区三区| 狠狠色综合网站久久久久久久| 男人一天堂精品国产乱码| 国产欧美日韩另类精彩视频| 人人澡超碰碰97碰碰碰| 国产尤物精品自在拍视频首页| 亚洲国产精品成人无码区| 国产精品一线二线三线区| 国产AV无码专区亚洲AWWW| 国产精品第一二三区久久| 99热国产这里只有精品9| 精品人妻码一区二区三区| 中文字幕午夜福利片午夜福利片97 | 国产成人AV在线免播放观看新| 国色天香成人一区二区 | 欧美成本人视频免费播放| 亚洲国产成人精品无色码| 韩国精品久久久久久无码| 亚洲精品成人网久久久久久| 亚洲精品一区二区区别| 国产成人av一区二区三区不卡| 亚洲综合无码明星蕉在线视频| 亚洲无av在线中文字幕| 边添小泬边狠狠躁视频| 天堂资源国产老熟女在线| 午夜激情福利在线免费看| 屁股中文字幕一二三四区人妻| 麻豆一区二区三区香蕉视频| 67194亚洲无码| 久久亚洲国产五月综合网| 欧美人成精品网站播放|