dedecms程序在Linux服务器下设置权限
今天在本地调试完网站,上传到vps重新安装恢复数据后,生成栏目或者是内容页的时候一直提示“DedeTag Engine Create File False”。因为是刚调试完就直接上传安装了,所以出现这样的提示,我首先想到了是空间问题,进而推测应该是权限问题导致了这一问题。于是给了user用户的根目录(因为栏目页也无法生成)写入权限,再进入后台生成的时候,果然,不再提示“DedeTag Engine Create File False”,问题解决。
虚拟主机用户的话,设置文件夹权限为775。
这是出现“DedeTag Engine Create File False”提示的情况之一。
第二种情况:栏目设置错误。
有的时候我们新建了一个栏目,该栏目在生成栏目页和内容页的时候也会提示这个错误,这个时候我们就应该看一下这个栏目的栏目设置是否存在问题。
栏目设置中可能存在的问题:
1、命名规则未填写(即为空)
解决方法:只需填好相应的规则即可,重新选择栏目类型,也可以快速自动填写。
2、命名规则中含有非法字符
解决方法:将非法字符替换或删除。
3、命名规则设置错误
例如:命名列表页为{typedir}/{tid}html,这种命名方式对列表只有一页的栏目是正常的,如果列表是两页或两页以上时,由于进程冲突,生成栏目就会出现 DedeTag Engine Create File False 的提示。
解决方法:此时只需要增加{page}变量到名称中即可解决问题。
4、生成文件的层次不对
例如设置列表文件要在列表{typedir}目录下,不能向下再有目录比如:{typedir}/list{tid}{page}html是对的,可以生成但是如果设置为 {typedir}/list/{tid}{page}html这样将会出错。
5、发布文章后将栏目改为了“外部链接”类型
在某个栏目里发了几篇文章,后来把这个栏目改成外连接了,更新文档时,系统还会更新这个栏目下的那几篇文章,但地址是外连接,所以无法生成文件,由此产生DedeTag Engine Create File False提示。
第三种情况:模板文件中有标签错误。
此时可以将织梦官方的模板复制进来,替换现有模板,如果生成正常不提示“DedeTag Engine Create File False”,则可以确定是模板文件有问题。
这种情况下只能去排查模板文件,找到错误的地方修改。
我自己写的教程,搞不定联系我。
DeDecms安全从以下几个方面做起:
会员目录,不需要的话删除,里边表单太多,官方维护少,很容易通过这里黑
plus目录,插件目录里边有一部分插件是用不到的,比如搜索,目前百度站内搜索挺好用的,搜索功能也很容易被利用,用不到的插件就删除
后台默认地址:这个不用讲了,必须改,而且改的奇葩一点
“install”: 安装程序目录,安装完必须删除
权限设置:plus只给读取权限,不给写入权限,uploads只给读写权限,不给执行权限
如果使用了信息收集表单,那么表单将会是别人入侵的重要通道
外部拦截-云锁,CDN
目前杨雨个人博客http://itbyccom通过这7种方式处理以后就没被攻破过了
此外:DeDecms教程:http://itbyccom/web/dedecms
目录权限设置
web服务器运行的用户与目录所有者用户必须不一样,比如apache运行的用户为www,那么网站目录设置的所有者就应该不能设置为www,而是设置不同于www的用户,如centos。
我们这里假设web服务器以www用户运行,网站分配的用户为centos,dedecms网站根目录为/home/centos/web。
不建议用户把栏目目录设置在根目录, 原因是这样进行安全设置会十分的麻烦, 在默认的情况下,安装完成后,目录设置如下:
1、首先设置网站目录所有者为centos,用户组为www,目录设置为750,文件为640。
cd /home/centos
chown -R centoswww web
find web -type d -exec chmod 750 {} \;
find web -not -type d -exec chmod 640 {} \;
2、data、templets、uploads、a images目录, 设置可读写,不可执行的权限;
设置可读写权限:
cd /home/centos/web
chmod -R 770 data templets uploads a images
设置不可执行权限:
apache的设置,在apache配置文件中加入如下代码(以data目录为例,其它设置基本相同)。
<Directory /home/centos/web/data>
php_flag engine of
</Directory>
<Directory ~ "^/home/centos/web/data">
<Files ~ "php">
Order allow,deny
Deny from all
</Files>
</Directory>
nginx的设置如下:
location ~ ^/(data|templets|uploads|a|images)/\(php|php5)$
{
deny all;
}
3、不需要专题的,建议删除 special 目录, 需要可以在生成HTML后,删除 special/indexphp 然后把这目录设置为可读写,不可执行的权限,上面介绍了如何设置可读写和不可执行的权限,这里就不重复了。
其它需注意问题
1、虽然对 install 目录已经进行了严格处理, 但为了安全起见,我们依然建议把它删除;
2、不要对网站直接使用MySQL root用户的权限,给每个网站设置独立的MySQL用户帐号,许可权限为:
SELECT, INSERT , UPDATE, DELETE,CREATE , DROP , INDEX, ALTER , CREATE TEMPORARY TABLES
由于DEDE并没有任何地方使用存储过程,因此务必禁用 FILE、EXECUTE 等执行存储过程或文件操作的权限。
假设我们建立的数据库名为centosmysql,数据库用户为centosmysql,密码为123456,具体设置命令如下:
mysql -uroot -p
mysql>GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES ON centossql TO centossql@localhost IDENTIFIED BY 123456;
mysql>FLUSH PRIVILEGES;
mysql>exit
3、更改默认管理目录dede,改到不易被猜到就好。
4、关注后台更新通知,检查是否打上最新dedeCMS补丁。
一、文章说明:
能正常登录到dede后台,但是在打开所有档案列表,查看文章时,却发现,文章列表是空白,什么都不显示,一般出现这种情况多是因为权限问题,本文就说一下作者的解决方法。
二、dede系统后台列表页空白没有文章
第1步:使用ssh工具登录到服务器上查看网站是否属于www用户,如果不是www用户,在终端执行以下命令。
chown -R www /mnt/www/wwwinternetkecom
/mnt/www/wwwinternetkecom是作者的网站目录地址,大家需要根据自己的网站目录地址进行相应修改,修改后,网站中所有权就属于www用户了。
第2步:修改网站权限为755,在终端执行以下命令。
chmod -R 755 /mnt/www/wwwinternetkecom
755是所有者居有最高权限,其他用户只能读取和执行权限,却没有写入权限。
第3步:一般来说完成第一二步,再重新登录一下网站后台即可发现已经正常了,如果还没正常应该是mysql数据库问题。找到mysql数据库地址,在终端执行以下命令。
chmod -R 777 /mnt/mysql
第4步:重启mysql,在终端执行以下命令。
/etc/initd/mysql restart
0条评论