2012-06-06:增加Nginx服务器的配置
在Linux环境下搭建安装DedeCMS本篇不再具体说明,大家可以点击文档《Linux下安装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,为了安全起见我们需要将这个目录移出,但为了能够正常管理站点,我们需要将这个后台目录创建独立站点。 3.1.移动后台管理目录 我们先创建一个目录,这个目录专门用于存放后台站点文件,在终端中输入: sudo mkdir /var/dedecms-admin 然后将织梦后台移动到这个文件夹中,输入: sudo mv /var/dedecms/dede/* /var/dedecms-admin/ 3.2.创建虚拟站点 我们需要创建一个新的站点用于显示后台,我们可以在/etc/apache2/site-enabled/目录中创建一个文件名为:default-admin的文件,内容如下:
如果您需要了解Windows Server 2012下如何搭建配置DedeCMS环境,可以查看:《Windows Server 2012 搭建PHP+MySQL环境安装DedeCMS系统》
6.Nginx设置
由于Nginx轻便容易维护,很多站长也会选择Nginx作为站点服务器,设置思路同上文类似,但有稍许的不同,下面我们就来单独对其进行介绍。
6.1.安装Nginx以及php5-fpm
终端中输入:sudo apt-get install nginx
以及:sudo apt-get install php5-fpm
(如果已经安装了Apache的用户需要停止Apache,以免同Nginx冲突,可以使用命令行:sudo service apache2 stop)
6.2.添加站点
同样我们需要添加两个站点,一个前台“www.dede.com”一个后台“admin.dede.com”,基本配置如下:
www.dede.com站点:
server {
root /var/dedecms;
index index.html index.htm index.php;
server_name www.dede.com;
...
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.dede.com站点配置:
server {
root /var/dedecms-admin;
index index.html index.htm index.php;
server_name admin.dede.com;
...
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端口,以及站点目录重新做了调整。
6.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
6.4.nginx下取消目录执行的权限
在《Linux下安装DedeCMS及安全设置》 中介绍了apache下如何取消目录执行权限,nginx也是类似,但配置方法稍有不同:
server {
...
location ~* ^/uploads/.*.(php|php5)$
{
deny all;
}
}
按照这个方法,将其他目录也同样设置即可。
标签:



