DoraCMS 安装教程(windows)

Stella981
• 阅读 782

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

一、环境准备。

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

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

DoraCMS 安装教程(windows)

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

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

① 在D盘下新建Data文件夹

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

DoraCMS 安装教程(windows)

③ 启动mongdb:

mongod --config mongodb.conf

DoraCMS 安装教程(windows)

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

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

DoraCMS 安装教程(windows) redis-2.4.2-win32-win64-fix.zip

解压后的目录如图:

DoraCMS 安装教程(windows)

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

DoraCMS 安装教程(windows)  

注意:

①将来部署到服务器,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 安装教程(windows)

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

2、安装依赖。

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

DoraCMS 安装教程(windows)

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

cnpm install

DoraCMS 安装教程(windows)

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

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

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

npm start

DoraCMS 安装教程(windows)

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

三、配置

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

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

DoraCMS 安装教程(windows)

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

DoraCMS 安装教程(windows)

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

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

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

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

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

2、配置模板

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

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

DoraCMS 安装教程(windows)

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

DoraCMS 安装教程(windows)

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

DoraCMS 安装教程(windows)

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

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

DoraCMS 安装教程(windows)

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

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

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
3年前
java将前端的json数组字符串转换为列表
记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这