apache服务器版本:2.2
问题描述:使用apache服务器配置几台虚拟主机,但是利用浏览器访问每一个虚拟主机时,页面总是apache服务器的欢迎页面(默认页面)
原因:自己配置虚拟主机的DocumentRoot目录不是/var/www/下的,而是root用户创建的/www/下的目录,而这时SELinux又未关闭,所以导致httpd进程无法访问到/www/目录下的相应虚拟主机目录,从而服务器内部跳转到apache欢迎页。
问题详解及解决措施:
开启SELinux

使用root用户创建的3个虚拟主机的目录

虚拟主机配置文件,/etc/httpd/conf.d/virtual.conf

httpd监听的端口(80和8080)和关闭main主机(直接注释#DocumentRoot这一行即可),配置在/etc/httpd/conf/httpd.conf


重新启动apache服务器

使用浏览器访问10.79.32.20和10.79.32.20:8080,发现页面为apache欢迎页面,不是各个虚拟主机定义的目录下的index.html文件。


这时关闭SELinux,然后重新启动apache服务器。发现访问的各个虚拟主机的文件正确。


知识总结:
httpd这个程序,默认情况下(SELinux开启),httpd只能访问/var/www/这个目录下的文件,除非自己讲其他目录设置为可读取的模式才可以。建议用户在建立虚拟主机目录时,设置权限为apache用户组可读。