修改httpd.conf
打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
增加虚拟主机配置
NameVirtualHost *:80ServerAdmin [email protected] 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 ServerAdmin [email protected] 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 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
在你的网站配置中添加下面的代码
php_admin_value open_basedir "/usr/local/apache/htdocs/www/:/tmp/"
需要注意的是:
因为/etc/httpd/conf.d/vhost.conf中设置了open_basedir之后, 虚拟用户就不会再自动继承php.ini中的open_basedir设置值了,这就难以达到灵活的配置措施, 所以建议您不要在/etc/httpd/conf.d/vhost.conf中设置此项限制。 可以在php.ini中设置open_basedir = .:/tmp/