如何在Linux系统环境下安装DedeCMS站点及安全设置
Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码,这是其他的操作系统所做不到的,正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。
随着Linux服务器应用范围越来越广泛,国内很多站长也开始使用它作为自己的Web服务器,所以,今天马海祥就来介绍一下如何在Linux系统环境下安装DedeCMS站点及安全设置。
一、在Linux系统环境下安装DedeCMS及安全设置
Linux内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP等。
1、安装准备
·Linux(Ubuntu)
·Apache2
·MySQL5
·PHP5.3
服务器需要具备以上几个基本环境,一般Linux的Web操作系统都会默认安装这些组件,当然您也可以自己去安装,具体的安装方法可以通过在线的一些文档获取,这里就不进行深入。
2、下载解压DedeCMS最新版
通过织梦官网下载DedeCMS最新版,一般下载包为DedeCMS****.tar.gz格式,Linux下可以使用命令行:
tar -zxvf DedeCMS-****.tar.gz
将解压后的uploads目录上传到站点根目录,我们这里系统站点根目录为:/var/dedecms/
3、安装DedeCMS
访问http://我的站点/install,点击确认进入服务器环境监察,我们可以看到服务器情况,如图:
这里我们发现几个目录没有可写入权限,我们需要给这个目录分为权限。
首先需要给站点目录绑定apache服务的用户,使用命令行:
sudo chown -R www-data /var/dedecms/
这样给站点目录指定权限用户为www-data
我们这里需要给几个无需写入权限的目录去除写入权限,分别输入:
sudo chmod -R 755 /var/dedecms/data/
sudo chmod -R 755 /var/dedecms/html/
sudo chmod -R 755 /var/dedecms/uploads/
sudo chmod -R 555 /var/dedecms/include/
sudo chmod -R 555 /var/dedecms/install/
sudo chmod -R 555 /var/dedecms/dede/
sudo chmod -R 555 /var/dedecms/plus/
sudo chmod -R 555 /var/dedecms/images/
sudo chmod -R 555 /var/dedecms/member/
sudo chmod -R 555 /var/dedecms/special/
sudo chmod -R 555 /var/dedecms/templets/
sudo chmod 555 /var/dedecms/index.php
sudo chmod 555 /var/dedecms/tags.php
这样我们继续执行下一步(如图)。
4、设定执行权限
我们可以给DedeCMS几个目录关闭可执行权限,这里的可执行是指在Apache中无法运行php脚本,那我们则可以在Apache目录配置中做如下的设置(虚拟机可设置.htaccess)
<VirtualHost *:80>
...
<Directory /var/dedecms/uploads/>
php_admin_flag engine off
</Directory>
<Directory /var/dedecms/data/>
php_admin_flag engine off
</Directory>
<Directory /var/dedecms/html/>
php_admin_flag engine off
</Directory>
<Directory /var/dedecms/templets/>
php_admin_flag engine off
</Directory>
<Directory /var/dedecms/images/>
php_admin_flag engine off
</Directory>
</VirtualHost>
因为我们这里是PHP5,所以可以按照上面的方法设置,如果是老版本的PHP,那就只能通过:
<Directory "/var/dedecms/uploads/">
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>
来设定。
5、完成安装
至此我们已经完成了DedeCMS的安装和配置。
另外,为了网站数据的安全,也要对数据库文件data文件做些设置,具体可查看马海祥博客《安全正确转移网站data目录文件的具体方法步骤》的相关介绍。
二、DedeCMS站点高级安全策略
在安装DedeCMS及设置之后,在之前的基础上我们再进一步来对Linux下的DedeCMS进行安全配置,以保证我们的站点能够更加安全的运行在服务器上。
1、安装Apache文件访问权限模块
为了保证每个虚拟站点都能够拥有自己独立的文件访问权限,我们需要安装Apache安全权限分离模块,在终端中输入:
sudo apt-get install apache2-mpm-itk
2、添加管理后台站点控制帐号
接下来我们需要再添加一个后台站点的Apache运行帐号,在终端中输入:
sudo useradd -g www-data -d /dev/null -s /usr/sbin/nologin www-admin
这样我们就添加了一个www-admin帐号,专门用于控制后台站点的文件访问权限。
3、将后台管理目录移出,并且创建独立站点
默认安装后,后台的管理目录是在站点更目录下的/dede,为了安全起见我们需要将这个目录移出,但为了能够正常管理站点,我们需要将这个后台目录创建独立站点。
(1)、移动后台管理目录
我们先创建一个目录,这个目录专门用于存放后台站点文件,在终端中输入:
sudo mkdir /var/dedecms-admin
然后将织梦后台移动到这个文件夹中,输入:
sudo mv /var/dedecms/dede/* /var/dedecms-admin/
(2)、创建虚拟站点
我们需要创建一个新的站点用于显示后台,我们可以在/etc/apache2/site-enabled/目录中创建一个文件名为:default-admin的文件,内容如下:
<VirtualHost *:80>
ServerName admin.dede.com
ServerAdmin webmaster@localhost
DocumentRoot /var/dedecms-admin
AssignUserId www-admin www-data
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/dedecms-admin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
创建完成后我们重新启动服务器,在终端输入:
sudo service apache2 restart
这里我们给后台站点域名设置为mahaixiang.cn用户可以根据自己情况设定更为复杂的域名形式,例如:dedesiteadmin2017.mahaixiang.cn
然后在系统host纪录中添加一条指向站点域名对应ip的纪录,保证其能够正常访问。
(3)、给管理站点目录设定权限控制帐户
为了保证后台文件访问的安全,我们也需要给它设定文件访问权限,在终端中输入:
sudo chown www-admin.www-data /var/dedecms-admin/
这样就给这个目录指定了www-admin的访问帐号。
(4)、调整后台文件配置,保证后台正常访问
由于我们直接移动了管理后台文件目录,所以我们访问mahaixiang.cn会出现报错,这时候我们需要对系统中的目录配置进行调整。
①、找到/var/dedecms-admin/config.php,将第12行
require_once(DEDEADMIN.'/../include/common.inc.php');
改为:
require_once(DEDEADMIN.'/../dedecms/include/common.inc.php');
然后在这段代码下面加上:
$cfg_plus_dir = $cfg_phpurl = $cfg_basehost."/".$cfg_plus_dir;
②、找到/var/dedecms-admin/login.php,将11行
require_once(dirname(__FILE__).'/../include/common.inc.php');
改为:
require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');
③、找到/var/dedecms/data/safe/inc_safe_config.php,第2行,改为
$safe_gdopen = '1,2,3,4,5,7';
④、找到/var/dedecms-admin/exit.php,第11行
require_once(dirname(__FILE__).'/../include/common.inc.php');
改为:
require_once(dirname(__FILE__).'/../dedecms/include/common.inc.php');
⑤、复制include中的相关文件
我们需要将include文件夹下的一些文件拷贝到管理后台站点中以保证后台正常使用:
mkdir /var/dedecms-admin/include/dialog
sudo cp -R /var/dedecms/include/dialog/* /var/dedecms-admin/include/dialog
mkdir /var/dedecms-admin/include/js
sudo cp -R /var/dedecms/include/js/* /var/dedecms-admin/include/js
sudo mkdir /var/dedecms-admin/include/ckeditor
sudo cp -R /var/dedecms/include/ckeditor/* /var/dedecms-admin/include/ckeditor
4、重新分配前台Apache用户权限
设定完成后我们需要给前台站点重新指派权限,在终端输入:
sudo chown -R www-admin.www-data /var/dedecms/
这样就把前台用户设定为了www-admin,然后再执行:
sudo chmod -R 755 /var/dedecms/
这样设置后后台管理就具有了站点操作权限,但前台浏览用户没有修改文件的权限了。
但这里前台uploads需要有可上传的权限,所以还需要执行:
sudo chmod -R 777 uploads/
5、完成安全配置
这样一来我们就完成了系统的安全设置,做到了前后台的权限分离,当然您也需要配置下php.ini禁用掉某些函数,配合系统做好各个方面的安全设置。
6、Nginx设置
由于Nginx轻便容易维护,很多站长也会选择Nginx作为站点服务器,设置思路同上文类似,但有稍许的不同,下面我们就来单独对其进行介绍。
(1)、安装Nginx以及php5-fpm
终端中输入:sudo apt-get install nginx
以及:sudo apt-get install php5-fpm
如果已经安装了Apache的用户需要停止Apache,以免同Nginx冲突,可以使用命令行:sudo service apache2 stop
(2)、添加站点
同样我们需要添加两个站点,一个前台“www.mahaixiang.cn”一个后台“admin.mahaixiang.cn”,基本配置如下:
www.mahaixiang.cn站点:
server {
root /var/dedecms;
index index.html index.htm index.php;
server_name www.mahaixiang.cn;
...
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param script_FILENAME /var/dedecms$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
}
admin.mahaixiang.cn站点配置:
server {
root /var/dedecms-admin;
index index.html index.htm index.php;
server_name admin.mahaixiang.cn;
...
location ~ .php$ {
fastcgi_pass 127.0.0.1:9001;
fastcgi_param script_FILENAME /var/dedecms-admin$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
}
}
这里主要是admin的站点采用的9001端口,以及站点目录重新做了调整。
(3)、指派站点文件访问控制权限
同apache的apache2-mpm-itk不同,php5-fpm默认就可以进行权限控制。
在文件/etc/php5/fpm/pool.d/www.conf中则是默认采用了“www-data”作为站点的控制用户,所以为了后台具有对应的操作权限,我们需要添加一个专门的控制权限。
cd /etc/php5/fpm
cp www.conf admin.conf
修改admin.conf文件
其中我们只要将:
user = www-admin
group = www-data
listen = 127.0.0.1:9001
这几个地方做一个更改即可。
完成后重启下服务
sudo service php5-fpm restart
sudo service nginx restart
(4)、nginx下取消目录执行的权限
之前,我们曾在马海祥博客上介绍了apache下如何取消目录执行权限(具体可查看马海祥博客《取消网站文件目录脚本执行权限的方法步骤》的相关介绍),nginx也是类似,但配置方法稍有不同:
server {
...
location ~* ^/uploads/.*.(php|php5)$
{
deny all;
}
}
按照这个方法,将其他目录也同样设置即可。
马海祥博客点评:
近年来,越来越多的企业看到了Linux的这些强大的功能,利用Linux担任全方位的网络服务器。
Linux在它的追捧者眼里是一个近乎完美的操作系统,它具有运行稳定、功能强大、获取方便等优点,因而有着广阔的前景,或许也值得我们每一个计算机爱好者学习和应用。
本文发布于马海祥博客文章,如想转载,请注明原文网址摘自于https://www.mahaixiang.cn/CMS/1782.html,注明出处;否则,禁止转载;谢谢配合!您可能还会对以下这些文章感兴趣!
-
dedecms cookies泄漏导致SQL漏洞的修复方法
最近,公司做的新网站都是用织梦系统搭建的,虽说织梦系统是很好用,但织梦程序的最头疼的就是安全问题了,今天,公司的网站就收到阿里云后台的信息提示网站存在一些漏洞需要及时处理。漏洞提示:dedecms cookies泄漏导致SQL漏洞;漏洞描述是:dedecms的文章发表表单中泄漏了用于防御CSRF的核心cookie,同时在其他核心支付系统也使用了同样的cookie进行验证,黑客可利用泄漏的cookie通过后台验证,进行后台注入。如下图所示:……【查看全文】
-
防止dedeCMS织梦网站被黑挂木马的一些方法
Dedecms后台系统程序升级到5.7 sp2版本之后,依旧存在很多漏洞。截止到今天,依旧有大约3万个使用dedecms管理系统程序开发的网站被黑客挂马。目前,dedecms官网没有给予任何答复以及解决方案。另外,对于国内公认最具权威的360网站安全监测……【查看全文】
-
dedecms v5.7 CSRF保护措施绕过漏洞
今日,在检查网站及服务器安全问题的时候,发现阿里云后台一直提示有一个“dedecms v5.7 CSRF保护措施绕过漏洞”影响网站安全,需要紧急修复,漏洞名称:dedecms v5.7 CSRF保护措施绕过漏洞;漏洞描述:dedecms最新版(20171228更新),增加了部分函数对CSRF漏洞的检查,然而对函数输出校验不当导致可以传入恶意数组绕过CSRF防御。……【查看全文】
-
织梦DedeCms文章标题和简介摘要字数长度限制修改的方法教程
我们在使用织梦CMS系统建站的时候,网站前端在调用文章的过程中,经常会碰到标题和文章摘要会自动截取一定量的字数,而并非全部调用出来,无论怎么修改调用代码都不行,尤其是使用UTF8版本的织梦系统,调用的文字更少了。其实,这主要是因为Dedecms织梦系统默认的文章标题的最大长度为60字节,使用GBK版本的,也就是30个汉字;使用UTF8版本的,也就是10个汉字;如果文章标题超过60字节将会自动截断,导致标题显示不全,而现在文章标题30个汉字是……【查看全文】
-
织梦(dedecms)后台登录验证码不显示或不正常的解决方法
随着互联网的快速发展,站长已经成为了互联网中的新兴人群,而其中建站使用的cms以织梦居多,伴随着人数的增多,在使用织梦cms中遇到的问题也越来越多,其中最棘手的问题莫过于验证码无法显示而导致无法登陆后台,如果连后台都登陆不了,何谈操作,这也成为了许多新手站……【查看全文】
-
织梦模板(dedecms)功能模块模板路径对应表
织梦内容管理系统(DedeCms)是国内知名PHP开源网站管理系统,也是目前国内使用用户最多的PHP类CMS系统,DedeCms免费版的主要目标用户锁定在个人站长,功能主要专注于个人网站或中小型门户的构建,当然也不乏有企业用户在使用本系统。织梦内容管理系统(DedeCms)基于……【查看全文】
-
织梦dedecms列表页实现无限下拉加载效果的方法技巧
最近帮人制作网站,发现资讯类的网站,在文章列表页展示信息的时候,使用“加载更多”、“无限下拉”效果的特别多,今天刚好在dedecms(织梦系统)上做了一个测试,实现了此效果,所以,就借助马海祥博客的平台,拿出来跟大家免费分享一下,因为我觉得技术这东西,如……【查看全文】
-
取消网站文件目录脚本执行权限的方法步骤
对于网站安全维护的过程中,目录的执行权限是非常敏感的,一般来说,可以写入的目录是不能够拥有脚本的执行权限的,像DedeCMS系统,可写入的有两个目录,既:data文件和uploads文件,data目录主要是基本配置文件和缓存数据,uploads则是附件上传保存的目录,针对不同服务器环……【查看全文】
-
如何合并栏目列表分页URL首页链接index.html与第一页的重复
最近随着百度对原创文章的支持调整,发现自己负责的几个站首页的排名都很好,可就是栏目页的排名不是很理想,仔细看了下,从seo的角度来说,发现栏目首页的代码出现重复现象,分散了栏目页的权重。而搜索引擎优化对于大部分网站的重要性也不言而喻,那么我们要怎么更好……【查看全文】
阅读:1712关键词: URL首页链接 index.html 栏目列表分页 合并栏目URL 日期:2012-10-06 -
dedeCMS模版SQL注入漏洞和SQL注入漏洞的修复方法
今天,在检查阿里云服务器安全问题的时候,发现服务器上的织梦网站有2个漏洞提示,分别为:dedecms模版SQL注入漏洞;dedecms SQL注入漏洞。该漏洞都是来自织梦的/member/文件夹中的soft_add.php和album_add.php文件的不安全,导致SQL注入的发生。在阿里云的漏洞描述详细区域下方将有收到影响的文件以及服务器,可以使用阿里云建议的修复方案。……【查看全文】
-
DedeCMS后台文件任意上传漏洞media_add.php的修复方法
最近,公司的网站迁移到阿里云之后,一直提示有一个漏洞需要紧急修复,漏洞名称:dedecms后台文件任意上传漏洞;漏洞描述:dedecms早期版本后台存在大量的富文本编辑器,该控件提供了一些文件上传接口,同时dedecms对上传文件的后缀类型未进行严格的限制,这导致了黑客可以上传WEBSHELL,获取网站后台权限。……【查看全文】
-
修改网站后台管理员用户名admin的具体操作方法汇总
这两天,群里有很多的博友反馈说,自己的网站被挂马,大家也一起吐槽各种被黑、被挂马的现象及解决方法。其中有几个博友说自己网站模板代码被改,是因为网站后台管理员账号被破解了,黑客就直接登录后台随意的改起来了。询问大家有什么方法能把网站后台的admin账号修改……【查看全文】
-
迅睿CMS系统栏目页面分页样式错位的解决方法
最近,开始使用迅睿CMS系统来搭建网站,在套用列表页的时候,分页样式总是出现错位的问题,对于这种情况,我们该如何解决呢?对于很多初次使用迅睿CMS系统的的朋友来说,可能都会遇到过这问题吧,下面我就借助马海祥博客的平台与大家分享一下具体的解决方法:……【查看全文】
-
DedeCMS <=5.7 SP2 file_class.php 任意文件上传漏洞
最近有个博友咨询我说,他用织梦DedeCMS系统做的一个新站,上传到服务器后,便提示有严重漏洞危险,问该如何解决?其实这个漏洞很好解决的,网上也早已公布的修复方法,在此,我便借助马海祥博客的平台将修复方法分享如下:漏洞名称:file_class.php 任意文件上传漏洞;漏洞公告:dedecms v5.7 sp2 任意文件上传漏洞 (CVE-2019-8362)……【查看全文】
-
dedeCMS任意文件上传漏洞select_soft_post.php的修复方法
对于大多数站长来说,使用织梦程序搭建的网站最头疼的问题就是安全问题了,近期博主也多次收到阿里云后台的信息提示网站存在一些漏洞需要及时处理。进入阿里云后台,我查看了漏洞提示:dedecms任意文件上传漏洞;原因是:dedecms变量覆盖漏洞导致任意文件上传,对于该漏洞,解决方法也比较简单,便找到了修复方法,在此,我便借助马海祥博客的平台将修复方法分享如下……【查看全文】
-
如何在Linux系统环境下安装DedeCMS站点及安全设置
近年来,越来越多的企业看到了Linux的这些强大的功能,利用Linux担任全方位的网络服务器。Linux在它的追捧者眼里是一个近乎完美的操作系统,它具有运行稳定、功能强大、获取方便等优点,随着Linux服务器应用范围越来越广泛,国内很多站长也开始使用它作为自己的Web服务器,所……【查看全文】
-
安全正确转移网站data目录文件的具体方法步骤
说到网站安全的问题,那就不得不先说下data目录文件了,data目录是系统缓存和配置文件的目录,一旦此目录文件被攻击后,那对网站可能就是致命的了,一般来说,data目录都有可以读写的权限,只要是能够写入的目录都可能存在安全隐患,很多站长甚至给予这个目录可执行的权……【查看全文】
-
织梦dedecms栏目添加并调用自定义缩略图功能
我们用织梦dedecms后台管理系统制作网站的时候,点击进入每个栏目时,都会有“关于我们”,“新闻中心”,“产品展示”等提示性的图片,单独调用这些图片比较麻烦,对此,我们可以修改程序,实现每个栏目都有上传栏目缩略图的功能,就方便多了。网上有很多关于dedecms添……【查看全文】
-
织梦系统(dedecms)文章样式属性的调用标签汇总
在《织梦(dedecms)标签调用代码大全》一文中,我已经跟大家介绍了一些我们常用的织梦模板调用标签,本文再跟大家介绍一些织梦文章样式属性的调用标签,合理的利用文章调用标签,不禁可以加强页面的用户体验,也可以使网站的结构布局更加合理,充分的展示我们想要推广的文章,……【查看全文】
-
如何解决点击次数影响网页加载速度的问题
对于一个专门做博客的站长来说,在文章页中,什么js效果都可以忽略,但是有一个js文件是必须要留下的,那就是文章点击次数的js文件,因为这样你就可以一目了然的看到你这篇文章受欢迎的程度了。但是最近有个朋友反映说,因为自己的博客空间买的是虚拟空间,运行加载的比……【查看全文】
分类目录
热点推荐
互联网更多>>
互联网思维的一些特征 如今,互联网迅猛发展已经渗透人们生活各个方面,尤其是互联网正加快向传统行业渗透和融合,对传统行业提出严……
网站开启https后,百度分享插件不显示了该怎么解决? 百度分享插件不支持https的解决方法:网站自从开启https之后,网页中的百度分享就不能用了!但是又寻找不到类似百……
如何开启苹果系统的两步验证机制,避免iCloud帐号遭到攻击 首先,你需要登录至苹果的网页版Apple ID管理系统,你需要点击“管理你的Apple ID”,随后输入帐号密码信息。在登录……
SEO优化 更多>>
-
网站的站外SEO优化为什么要做外链
前几年,做SEO的小伙伴们的主要任务就是发外链…… -
如何做好一个企业网站
随着互联网的快速发展,企业从开始的被动建设…… -
如今的搜索引擎似乎越来越来喜欢灰
如今,纯黑帽SEO的玩法难度已越来越大,其实不…… -
通过流量公式原理获得淘宝免费自然
不管是刚做淘宝,还是做淘宝有一段时间的卖家…… -
如何根据企业形象定位企业网站的诉
网站是企业的理念体现,是网络营销的基础,在…… -
如何以SEO的角度来优化网站的URL连接
大部分网站的URL命名规则是“根域名+栏目+文章页…… -
百度移动搜索冰桶算法上线带给了我
冰桶算法基于百度移动搜索,将针对低质站点及…… -
如何将一个第三方整形网站做到月订
在互联网行业工作也有很多年了,纵观这些年来……
本月热点文章
- 1织梦后台升级后验证码登录一直显示错误的解决方法
- 2迅睿CMS系统栏目页面分页样式错位的解决方法
- 3图解Dedecms网站后台文章采集功能的使用方法步骤
- 4首页显示空白,页面提示无法找到function lib_dsv函数的解决方法
- 5织梦DedeCms文章标题和简介摘要字数长度限制修改的方法教程
- 6织梦系统(dedecms)文章样式属性的调用标签汇总
- 7修改DedeCMS图片上传路径命名规则的具体方法步骤
- 8dedeCMS任意文件上传漏洞select_soft_post.php的修复方法
- 9如何在Linux系统环境下安装DedeCMS站点及安全设置
- 10DedeCMS后台文件任意上传漏洞media_add.php的修复方法