2012-10-04 45 views
2

服务器有两个IP,最新安装的是centos centos。 Apache正在工作,两个ips都加载Apache测试页面。 www.domain.com和domain.com都解析为第二个IP。Apache IP虚拟主机

我想第一个IP(192.168.0.1)来加载Apache的测试页面,这是工作的罚款

我想第二个IP(192.168.0.2)中加载网站的/ home /网站/ www

目前,当我们转到domain.com或www.domain.com或第二IP时,它会加载apache测试页面而不是站点,下面是我们的配置。另外我的IP列为192,而不是真正的IPS。我错过了什么?为什么不是192.168.0.2加载/ home/site/www而不是Apache测试页?

ServerRoot "/etc/httpd" 
Listen 80 
ServerName 192.168.0.1:80 
DocumentRoot "/var/www/html" 
<Directory "/var/www/html"> 

NameVirtualHost 192.168.0.2:80 

<VirtualHost 192.168.0.2:80> 
DocumentRoot /home/site/www 
ServerName mydomain.com 
ServerAlias *.mydomain.com 
ErrorLog logs/mydomain.com-error_log 
CustomLog logs/mydomain.com-access_log common 
</VirtualHost> 

更新

的修复

chcon这个-R --reference = /无功/网络/家/网站/ WWW

的SELinux需要在其上设置正确的权限,使用参考它将相同的权限复制到我的新文件夹

回答

4

试试这个:

ServerRoot "/etc/httpd" 
Listen 80 
ServerName 192.168.0.1:80 

NameVirtualHost 192.168.0.1:80 
NameVirtualHost 192.168.0.2:80 


<VirtualHost 192.168.0.1:80> 
DocumentRoot /var/www/html 
ServerName mydomain.com #change accordingly 
ServerAlias *.mydomain.com 
ErrorLog logs/mydomain.com-error_log 
CustomLog logs/mydomain.com-access_log common 
</VirtualHost> 


<VirtualHost 192.168.0.2:80> 
DocumentRoot /home/site/www 
ServerName mydomain2.com 
ServerAlias *.mydomain2.com 
ErrorLog logs/mydomain2.com-error_log 
CustomLog logs/mydomain2.com-access_log common 
</VirtualHost> 

不要忘记申请在Apache上的变化。 service httpd reload或类似命令。 此外,请确保目录/var/www/html至少具有读取apache用户的权限。

-1

您缺少NameVirtualHost指令。

NameVirtualHost 192.168.0.2:80 

我也强烈建议把目录指令也放进去。

+0

我试过了,结果相同。 IP2 /域仍然加载测试页而不是/ home/site/www – user1155594

+0

[NameVirtualHost is * Deprecated *](http://httpd.apache.org/docs/2.4/mod/core.html#namevirtualhost)根据apache -httpd文档;在2.3.11之前,NameVirtualHost需要指示服务器特定的IP地址和端口组合可用作基于名称的虚拟主机。在2.3.11及更高版本中,任何时候在多个虚拟主机中使用IP地址和端口组合时,都会自动为该地址启用基于名称的虚拟主机。 –