2012-10-04 214 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地址和端口組合時,都會自動爲該地址啓用基於名稱的虛擬主機。 –