怎样安装和使用织梦CMS(DEDECMS)

2015年9月24日 | 分类: 【技术】

【安装】

下载&解压:

下载:http://www.dedecms.com/products/dedecms/downloads/

wget http://updatenew.dedecms.com/base-v57/package/DedeCMS-V5.7-UTF8-SP2.tar.gz && tar -zxvf DedeCMS-V5.7-UTF8-SP2.tar.gz && mv DedeCMS-V5.7-UTF8-SP2/uploads portal && rm -rf DedeCMS-V5.7-UTF8-SP2

设置目录权限:

改变主目录权限为777:

chmod 777 portal

改变以下所有子目录的权限为777:

cd portal && chmod -R 777 plus dede data a install special uploads

安装:

访问:http://domain.name/install

【排错】

报错:undefined function XSSClean()

症状是无法编辑软件,页面空白。奇怪的是新安装的没有此类问题。

Fatal error: Call to undefined function XSSClean() in dede/soft_edit.php on line 81

解决:注释掉81行

//    $arcRow=XSSClean($arcRow);$addRow=XSSClean($addRow);

参考:http://www.ucbug.com/jiaocheng/75161.html
参考:http://www.51zixuewang.com/article/jianzhanjingyan/zhimengdedecmsjiaocheng/228877.html
参考:https://www.douban.com/note/323262360/

【HACK】

需求:发布文章和采集时仅动态发布

修改以下模板就:
dede/templets/article_add.htm 发表普通模板
dede/templets/album_add.htm 发表图集模板
dede/templets/archives_add.htm 发表通用文档模板
dede/templets/archives_sg_add.htm 发表特殊类文章模板

修改 article_add.htm 的575行:

          <td width="90">发布选项:</td>
          <td width="379"><input name="ishtml" type="radio" class="np" value="1" checked="1" />
生成HTML
  <input type="radio" name="ishtml" class="np" value="0"/>
仅动态浏览 </td>

为:

          <td width="90">发布选项:</td>
          <td width="379">
				<input name="ishtml" type="radio" class="np" value="1" />生成HTML  
				<input name="ishtml" type="radio" class="np" value="0"  checked="1" />仅动态浏览
		  </td>

需求:批量修改动态发布为静态生成,或者反过来修改

如果发布时设置为动态发布,那么在批量生成时是否生成静态?如果不,可以批量修改动态发布为静态生成,或者反过来修改。

打开 dede_archives 这个表,ismake 字段是要修改的对象。

UPDATE `dede_archives` SET `ismake` = '1' #修改所有文档为静态发布
UPDATE `dede_archives` SET `ismake` = '-1' #修改所有文档为动态浏览

如果针对栏目进行设置:

update dede_arctype set isdefault=-1 #将所有栏目设置为“使用动态页”
update dede_arctype set isdefault=1 #将所有栏目设置为“使用静态页”

需求:取消远程图片转为本地图片

编辑:dede/templets/archives_add.htm

<input name="remote" type="checkbox" class="np" id="remote" value="1"<?php if($cfg_rm_remote=='Y') echo ' checked="1" '; ?> />

将Y改为N。

编辑:dede/templets/archives_edit.htm

<input name="remote" type="checkbox" class="np" id="remote" value="1" checked>

将value=”1″ checked中的1改为0,将checked去掉。

需求:修改文档标题最大长度

在控制面板修改文档标题最大长度参数后,比如设置为100,需要手工修改数据表,修改简略标题的长度。

DEDECMS中的“简略标题”默认长度为36个字符,即18个汉字。

1. 修改数据库字段设置,找到dede_archives表,再找到shorttitle字段,将值由36修改为100。

2. 修改管理后台目录(默认目录为/dede/)下的核心文件,批量替换里面的源代码,把36修改为100。

archives_add.php
archives_do.php
archives_edit.php
article_add.php
article_edit.php
$shorttitle = cn_substrR($shorttitle,36);

需求:希望文章ID从指定数字开始,至少8个数字,那么从10000000,预设容量900万条

1. 发布一篇文章
2. 在phpMyAdmin中打开dede_archives表、dede_arctiny表、dede_addonarticle表中此文章的ID为10000000。
3. 发布第二篇文章的ID即为100001。此时删除第一篇文章。

参考:http://www.55of.com/cms/dedecms/188
参考:http://www.bkjia.com/dedecms/339121

INSERT INTO `dede_addonarticle` (`aid`, `typeid`, `body`, `redirecturl`, `templet`, `userip`) VALUES
(10000000, 1, 'Fisrt Article', '', '', '144.34.216.232');
INSERT INTO `dede_archives` (`id`, `typeid`, `typeid2`, `sortrank`, `flag`, `ismake`, `channel`, `arcrank`, `click`, `money`, `title`, `shorttitle`, `color`, `writer`, `source`, `litpic`, `pubdate`, `senddate`, `mid`, `keywords`, `lastpost`, `scores`, `goodpost`, `badpost`, `voteid`, `notpost`, `description`, `filename`, `dutyadmin`, `tackid`, `mtype`, `weight`) VALUES
(10000000, 1, '0', 1545707252, '', 1, 1, 0, 60, 0, 'Fisrt Title', '', '', '未知', '未知', '', 1545707252, 1493086954, 1, 'wwsss,', 0, 0, 0, 0, 0, 0, 'wwsss', '', 1, 0, 0, 13);
INSERT INTO `dede_arctiny` (`id`, `typeid`, `typeid2`, `arcrank`, `channel`, `senddate`, `sortrank`, `mid`) VALUES
(10000000, 1, '0', 0, 1, 1493086954, 1545707252, 1);

需求:在指定文章ID区间批量删除

在后台一条条的删除文章的话实在太慢了,可以使用SQL批量删除aid文章:

DELETE FROM dede_addonarticle WHERE aid >= 10000000 and aid <=10000035;
DELETE FROM dede_arctiny WHERE id >= 10000000 and aid <=10000035;
DELETE FROM dede_archives WHERE id >= 10000000 and aid <=10000035;

参考:http://jingyan.baidu.com/article/414eccf63ab2e96b421f0a47.html

需求:附件服务器设置

参考:http://down.admin5.com/edu/dedecms/76542.html
参考:http://down.admin5.com/edu/dedecms/76542.html

【安全】

DEDEDATA设置

1. 将data这个文件夹移动到程序上一层目录:与dedecms系统目录同级;
2. 修改系统目录/include/common.inc.php文件的第24行,修改DEDEDATA常量为新的目录。
3. 进入系统后台,在系统配置中修改模板缓存目录tplcache目录为你相对的目录,比如/../db/data/tplcache
4. 修改网站的首页文件index.php中第9行的/data/common.inc.php也为相对的目录,比如/../db/data/common.inc.php

常规设置:

1. 修改管理目录dede的目录名称
2. 后台管理员不要使用admin或者其他易被猜到的账号
3. 使用最新版的dede cms建站,留意后台的升级信息
4. 如果你用不到会员功能,在系统设置里面关闭会员功能;或者直接请删除member这个文件夹;如果必须使用,请安装360安全补丁。
5. 织梦可删除目录列表:member会员功能,special专题功能,install安装程序(必删),company企业模块,plus\guestbook留言板,友情链接,以及其他模块一般用不上的都可以不安装或删除。总之就是减少别人往网站提交信息的可能。
6. DEDE后台管理目录下的以下文件是后台文件管理器(这俩个功能最多余,也最影响安全,许多HACK都是通过它来挂马的。它简直就是小型挂马器,上传编辑木马忒方便了。一般用不上统统删除)。
file_manage_control.php
file_manage_main.php
file_manage_view.php
media_add.php
media_edit.php
media_main.php
5. 不需要SQL命令运行器的将dede/sys_sql_query.php 文件删除。避免HACK利用。不需要tag功能请将根目录下的tag.php删除。不需要顶一下、踩一下功能的请将plus目录下的digg_ajax.php和digg_frame.php删除。
6. 将data、templets、uploads、a或html目录, 设置可读写,不可执行的权限
7. 将include、member、plus、后台管理目录 设置为可执行脚本,可读,但不可写入(安装了附加模块的,book、ask、company、group 目录同样如此设置)。
8. 文件夹权限不要设置777,data文件夹下的common.inc.php文件设置644属性等,

安装360检测中心提供的dedecms安全修复补丁

本安全补丁共修复12个高危漏洞,并且集成了360网站安全检测的后门查杀和漏洞修复功能。仅适合织梦DedeCMS v5.7 SP1正式版 (2013-07-15发布),对不满足此版本的用户,可以先去官方先升级至这个版本,然后使用补丁包覆盖安装。

注意,先验证网站所有权,再下载补丁包。

下载地址:http://webscan.360.cn/dedecms/about

安装360webscan后,因为需要修改“dede”目录为其他文件夹名,在系统管理时会出现报错:“输入内容存在危险字符,安全起见,已被本站拦截”。此时,需要修改360safe文件夹中webscan_cache.php代码的16行,把单引号之间的内容修改为当前后台文件夹名:

$webscan_white_directory='admin|\/dede\/'

参考:http://www.ithov.com/master/128947.shtml