DoraCMS 安装教程(windows) 

应一些前端朋友的建议,和反馈的一些问题,很多童鞋提议出一个DoraCMS完整的安装文档,在这里我就详细介绍一下doracms在windows下是如何安装的。(linux和mac后面再补充)。

一、环境准备。

1、安装nodejs,下载地址:https://nodejs.org/en/download/ 根据您操作系统的版本下载对应的node,下载完成后进行安装,安装过程没什么好说的,基本上都是下一步,如何验证安装成功呢?起一个cmd窗口,执行node -v,如果看到版本号,就证明node已经安装成功了。

注意:有时候安装成功了执行node -v 会提示没有node命令,我碰到过几次,重启机器就可以了,如果还是不行,就手动将nodejs添加到环境变量中。

DoraCMS安装教程1.jpg

2、安装mongodb。mongodb为nosql数据库,下载地址https://www.mongodb.org/downloads#production,同样根据自己操作系统的版本选择对应的安装包。建议默认安装到c盘(默认到其它盘也是可以的,但是后面启动有时候会报找不到数据库存放目录,这个时候,你需要通过修改配置文件,通过配置文件指定数据库存放目录,然后以该配置启动数据库才能启动成功,如果默认到c盘,就不用那么麻烦了)。


注意:如果安装到其他盘(例如D盘),你可以这样做:

① 在D盘下新建Data文件夹

② 在mongdb的安装目录下找到bin目录,创建文件名为mongodb.conf的配置文件

DoraCMS安装教程2.jpg

③ 启动mongdb:

mongod --config mongodb.conf

DoraCMS安装教程3.jpg

这样mongodb就启动了,将来的数据都存放在D盘的data目录下。


3、安装redis,这里提供一个windows下的版本 

redis-2.4.2-win32-win64-fix.zip

解压后的目录如图:

DoraCMS安装教程4.jpg

本地测试redis可以不用设置密码,执行redis-server.exe,开启redis:

DoraCMS安装教程5.jpg

注意:

①将来部署到服务器,redis必须设置密码,如何设置请参考我之前写的 Redis 未授权访问漏洞

②如果你之前已经装过了redis,也运行过doracms,这里请务必注意清除全部redis的缓存数据


4、安装 GraphicsMagick Display,它是做图像处理的,nodejs利用gm包调用GraphicsMagick Display来处理图片缩略图,裁剪等动作,下载地址:http://www.graphicsmagick.org/download.html 直接安装到本地就可以了。

注意:很多朋友提出在mac下图片上传不正常,基本上也是GraphicsMagick Display没装上的原因,GraphicsMagick可以再绝大多数的平台上使用,Linux、Mac、Windows都没有问题。至于在mac上如何装,我目前没有mac的机器,找了一篇文章大家可以参考一下 Mac下安装GraphicsMagick Display


二、运行DoraCMS

1、下载源码(使用工具TortoiseGit),地址 DoraCMS源码,下载完成后的目录

DoraCMS安装教程6.jpg

注意:doracms默认数据库为本地数据库(127.0.0.1:27017),用户名密码为空,即无需设置,redis也默认没有密码,无需设置。

2、安装依赖。

在源码根目录下执行npm install,等待一会

DoraCMS安装教程7.jpg


注意:因为墙的原因,有童鞋可能会非常慢,也有可能会报错,这里你可以用cnpm的方式去安装,即先安装cnpm(npm install cnpm -g),之后再执行

cnpm install

DoraCMS安装教程8.jpg

以上依赖包全部安装完毕,在代码根目录下多出node_modules文件夹,里面包含所有依赖。

注意:碰到好些童鞋都是一个个依赖安装,这样费时费力而且不能保证全部安装完成,因为包和包之间可能也是依赖的。


3、启动DoraCMS。在第一步环境准备中,我们已经安装并开启了mongodb和redis。现在只用启动DoraCMS就可以了,代码根目录执行:

npm start

DoraCMS安装教程9.jpg

如果没有报错,则启动成功。


三、配置

1、添加管理员用户组和管理员。

找到routes下的adminCtrl.js文件,注释下面的代码:

cms教程.jpg

找到/models/db 下的 adminFunc.js ,注释下面的一段,直接返回true

DoraCMS安装教程11.jpg


至此,访问后台页面就不需要登录了,开启服务后,你可以直接访问地址:

用户组管理 :http://127.0.0.1:81/admin/manage/adminGroupList

管理员添加 : http://127.0.0.1:81/admin/manage/adminUsersList

注意:1、先添加用户组,在添加管理员

    2、添加完成之后,把之前注释掉的两个地方还原,然后重启服务,用刚才设置的管理员信息登录后台。


2、配置模板

DoraCMS服务启动之后,访问前台是有问题的,需要在后台配置模板后才能正常访问。

① 用刚才设置的管理员账户密码进入后台,找到模板配置模块。 

DoraCMS安装教程12.jpg


②、切换到安装主题选项卡,点击安装。

DoraCMS安装教程13.jpg


安装成功后会在可用主题中找到刚安装的主题:

DoraCMS安装教程14.jpg


注意:当前正在使用的主题不允许卸载。


③ 在可用主题中点击“启用”,即可激活改主题:

DoraCMS安装教程15.jpg


④ 这时候再访问首页看看(http://127.0.0.1:81/),是不是可以访问了?

注意:默认情况下,模板是不需要配置的。模板单元的作用是为不同类别设置不同模板,有兴趣的童鞋可以研究一下。

至此,DoraCMS就可以正常启用了。


如果您有任何问题或建议,欢迎在下面留言反馈,感谢您的支持!

如果后续还有其它问题,请查看 DoraCMS安装常见问题详解

发表评论

登录 后参与评论

评论列表 (43条)

  • ziming
    1 天前
    2222222222
  • ziming
    1 天前
    @liaoshiwei  11111
  • doramart [  管理员]
    1 年前
    @kk_123  具体什么错,看看依赖是否安装完整
  • kk_123
    1 年前
    有大神在mac上开发么?我这边启动报错是怎么回事啊
  • wjcccc
    2 年前
    @doramart  提示“亲爱哒,请先在后台安装并启用模板喔~!”这个问题是由于注释js文件时,把var power=false注释了。我刚才也是犯了这个错误才出的这个问题。
  • wjcccc
    2 年前
    @madiss  你好,您这不是bug,是您多注释掉了一段代码,把js代码里面的var power = false取消注释就可以了!
  • gdhzkk
    2 年前
    @doramart  谢谢管理员回复,一直在关注 DoraCMS呢,希望能继续优化后台用户体验方面,如后台添加文章限定字数这个不需要吧,而且每一项都必须填这个也不需要吧,如果是前台用户投稿限定字数感觉合理。
  • doramart [  管理员]
    2 年前
    @gdhzkk  近期一直在充电,更新计划从未停止,感谢关注~!
  • doramart [  管理员]
    2 年前
    @gdhzkk  时间是通过moment标准时间格式化的
  • gdhzkk
    2 年前
    好了,重启服务 重新用管理员身份登录后台又可以发布文章了
  • gdhzkk
    2 年前
    你这里的评论时间也不对,刚刚发布的评论 就显示23分钟前?
  • gdhzkk
    2 年前
    本地安装后发布不了文章,注册用户提示【乱写邮箱被我发现了吧】邮箱是正确的,但为何提示这个?
  • gdhzkk
    2 年前
    作者快更新吧,问题有点多额,只要遇到表单什么的都要求全部填写,好不容易安装好了,文章点击发布又没反应,全部都填写了点击发布也没反应。
  • gdhzkk
    2 年前
    安装不了啊,才到第二步MongoDB这个就启动不了,搜了下 MongoDB网上资料也很少,不知道是怎么回事
  • hongy
    2 年前
    @doramart  起了的,注释的时候是可以启动的,我再看看是啥问题吧,谢谢啦
  • doramart [  管理员]
    2 年前
    @hongy  这个跟代码注释没有关系吧,重启失败看下什么错误,mongo和redis都起了么?
  • hongy
    2 年前
    你好,请问添加用户组及管理员完成之后,把之前注释掉的两个地方还原,然后重启服务失败是什么原因呢??
  • wq6255169
    2 年前
    @doramart  没事了 我找到了
  • doramart [  管理员]
    2 年前
    @wq6255169  不要注释错了,有个地方需要返回true
  • wq6255169
    2 年前
    不用了 找到原因了 但是遇到了新问题 按照你说的注释代码重新运行并不能跳过登录啊
  • wq6255169
    2 年前
    npm ERR! Please include the following file with any support request: npm ERR! /Users/wyc/wyc_working/webStorm_space/DoraCMS-master/npm-debug.log 在npm start时候出现了这个 是什么鬼
  • doramart [  管理员]
    2 年前
    @bb415453941  目前redis主要做用户登录的缓存,站点地图缓存和模板的缓存,其实不用也是可以,但是体验不是很好,代码方面可能要你自己改一下了...后面考虑下要不要给个开关
  • bb415453941
    2 年前
    可以不用redis吗
  • doramart [  管理员]
    2 年前
    @longphui  请用“dora简约”的模板试试,这个模板是最完整的
  • longphui
    2 年前
    @madiss  这个问题解决了吗?
  • longphui
    2 年前
    @doramart  我也遇到上面的问题,清空数据库,也没用 啊,我第一次安装
  • doramart [  管理员]
    2 年前
    @madiss  这个问题之前遇到过,后来解决了,是最新代码么,或者你重复安装过?那么清理下数据库和缓存再试一下
  • madiss
    2 年前
    安装好后访问http://127.0.0.1:81/admin/manage/adminGroupList,但页面跳转显示“亲爱哒,请先在后台安装并启用模板喔~!”,但第一步不是设置用户组和用户吗,不然怎么在后台安装并启用模板?
  • doramart [  管理员]
    2 年前
    @yansile  把 node_modules 下的都删掉重新试一下
  • yansile
    2 年前
    @yansile  然后我忽略之后,cms的文章发表不了,数据备份也备份不了!
  • yansile
    2 年前
    我的npm install时报错了 gyp ERR! configure error gyp ERR! stack Error: Can't find Python executable "python", you can set the PYT HON env variable. gyp ERR! stack at failNoPython (D:\nodejs\node_modules\npm\node_modules\node -gyp\lib\configure.js:116:14) gyp ERR! stack at D:\nodejs\node_modules\npm\node_modules\node-gyp\lib\confi gure.js:71:11 gyp ERR! stack at FSReqWrap.oncomplete (fs.js:82:15) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! node -v v4.2.4 gyp ERR! node-gyp -v v3.0.3
  • doramart [  管理员]
    2 年前
    @admin  好吧,你又找到bug了 !_!
  • admin
    2 年前
    @test1  pt>alert(0)</script> aaa<script>alert(0)</script>
  • doramart [  管理员]
    2 年前
    @test1  建议很好,后面尝试下,谢谢!
  • test1
    2 年前
    很多CMS 都有安装模块,是否可以考虑加上这个模块呢
  • liaoshiwei
    2 年前
    哦 哦 好像明白了
  • liaoshiwei
    2 年前
    但是没添加图片 求帮忙
  • liaoshiwei
    2 年前
    添加了文章之后 首页还是空的
  • doramart [  管理员]
    2 年前
    @liaoshiwei  你好,在类别管理里顶级分类下添加一个子类,在文章类别中选择子类。目前默认首页不显示顶级类别下的文章。
  • liaoshiwei
    2 年前
    @doramart  学习中
  • liaoshiwei
    2 年前
    你好 安装完首页的文章怎样设置来的
  • doramart [  管理员]
    2 年前
    @chentian  你好,你是不是加了什么东西(res.end)之类的,可以加扣扣:305511094
  • chentian
    2 年前
    POST /admin/doLogin 200 2.829 ms - - Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:335:11) at ServerResponse.header (g:\WorkSpace\SchoolStyle\node_modules\express\lib\response.js:718:10) at ServerResponse.contentType (g:\WorkSpace\SchoolStyle\node_modules\express\lib\response.js:551:15) at ServerResponse.send (g:\WorkSpace\SchoolStyle\node_modules\express\lib\response.js:138:14)