Apache IP虚拟主机

时间:2012-10-04 03:47:44

标签: apache apache2 virtualhost

服务器有两个IP,新的centos min安装。 Apache正在运行,两个ips加载Apache测试页面。 www.domain.com和domain.com都解析为第二个IP。

我想第一个IP(192.168.0.1)加载Apache测试页面,这个工作正常

我希望第二个IP(192.168.0.2)在/ home / site / 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 = / var / www / home / site / www

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

2 个答案:

答案 0 :(得分: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 :(得分:-1)

您缺少NameVirtualHost指令。

  NameVirtualHost 192.168.0.2:80

我也强烈建议在目录指令中加入。