红联Linux门户
Linux帮助

CentOS中增加apache虚拟主机的配置

发布时间:2015-10-24 15:33:44来源:linux网站作者:绝世十二少

修改httpd.conf

打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so


增加虚拟主机配置

<pre name="code" class="html">NameVirtualHost *:80 
<VirtualHost *:80> 
ServerAdmin webmaster@dummy-host.www.dedecms128.dev 
DocumentRoot "/var/www/html/www.dedecms128.dev" 
ServerName www.dedecms128.dev 
ServerAlias www.dedecms128.dev 
php_admin_value open_basedir "/var/www/html/www.dedecms128.dev/:/tmp/" 
ErrorLog logs/www.dedecms128.dev-error_log 
CustomLog logs/www.dedecms128.dev-access_log common 
</VirtualHost> 
 
<VirtualHost *:80> 
ServerAdmin webmaster@dummy-host.www.phpcms128.dev 
DocumentRoot "/var/www/html/www.phpcms128.dev" 
ServerName www.phpcms128.dev 
ServerAlias www.phpcms128.dev 
php_admin_value open_basedir "/var/www/html/www.phpcms128.dev/:/tmp/" 
ErrorLog logs/www.phpcms128.dev-error_log 
CustomLog logs/www.phpcms128.dev-access_log common 
</VirtualHost> 


PHP报错信息[按照上面配置不会遇到此错误]:

[error] [client 192.168.147.1] PHP Warning:  include(): Failed opening '../phpcms/base.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/www.phpcms128.dev/install/install.php on line 5, referer: http://www.phpcms128.dev/install/install.php


解决方法如下:

Apache中open_basedir的安全配置

open_basedir = .:/tmp/
这个设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,有效防止php木马跨站运行。

在Apache服务器中,切忌一定要在虚拟主机配置文件中添加以下代码,否则PHP木马脚本可以浏览你服务器上的任意文件,这意味着你的服务器很快会被攻破。


添加代码如下:
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
注意:把/usr/local/apache/htdocs/www/替换成你自己的网站目录


例如:
编辑虚拟主机配置文件
vi /etc/httpd/conf.d/vhost.conf
在你的网站配置中添加下面的代码
<VirtualHost *:80>
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
</VirtualHost>


需要注意的是:
因为/etc/httpd/conf.d/vhost.conf中设置了open_basedir之后,虚拟用户就不会再自动继承php.ini中的open_basedir设置值了,这就难以达到灵活的配置措施,所以建议您不要在/etc/httpd/conf.d/vhost.conf中设置此项限制。可以在php.ini中设置open_basedir = .:/tmp/


在Ubuntu 14.04 LTS系统中设置Apache虚拟主机:http://www.linuxdiyf.com/linux/10614.html

ubuntu15.04 nginx1.6.5配置虚拟主机:http://www.linuxdiyf.com/linux/12585.html

CentOS 6.5 Apache搭建虚拟主机:http://www.linuxdiyf.com/linux/10701.html