系统环境:centos6.5
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用户组可读。



GitHub 加速计划 / li / linux-dash
12
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐