Apache 使用webmin创建虚拟主机将加载默认站点

Apache 使用webmin创建虚拟主机将加载默认站点,apache,virtualhost,webmin,Apache,Virtualhost,Webmin,因此,我尝试设置一个rackspace云服务器,用一个IP托管多个站点(而不是服务器)。我在Ubuntu 12.04 LTS服务器上安装了Virtualmin/Webmin。我创建了目录/var/www/sites/testsite。然后,我在Webmin->Servers->ApacheWebServer下创建了一个虚拟主机,设置如下: Address: Any Port: 80 Document Root: /var/www/sites/testsite Server Name: tests

因此,我尝试设置一个rackspace云服务器,用一个IP托管多个站点(而不是服务器)。我在Ubuntu 12.04 LTS服务器上安装了Virtualmin/Webmin。我创建了目录/var/www/sites/testsite。然后,我在Webmin->Servers->ApacheWebServer下创建了一个虚拟主机,设置如下:

Address: Any
Port: 80
Document Root: /var/www/sites/testsite
Server Name: testsite.com
然后,为了测试它,我在本地机器上编辑了hosts文件并添加了

[my.server.ip.address] testsite.com
然后在我的浏览器中转到testsite.com,问题是它正在加载默认站点(位于/var/www),而不是我刚刚创建的虚拟站点(我通过在/var/www和/var/www/sites/testsite中添加不同的index.html文件来验证这一点)

以下是webmin在/etc/apache2/sites available/webmin.1372454178.conf中创建的指令

DocumentRoot /var/www/sites/testsite
<Directory "/var/www/sites/testsite">
allow from all
Options +Indexes
</Directory>
ServerName testsite.com
ServerAlias www.testsite.com
DocumentRoot/var/www/sites/testsite
通融
选项+索引
ServerName testsite.com
ServerAlias www.testsite.com

我发现,出于某些原因,将“Any”与特定端口混合使用并不能很好地发挥作用

尝试将vhost设置更新为:

Address: Any
Port: Any
Document Root: /var/www/sites/testsite
Server Name: testsite.com
执行此操作时,请确保清空在选择特定端口时填写的所有框

另外,作为旁注,习惯于将站点设置为不允许目录索引,当然,除非特别需要

因此,在实际指令集中:

Options -Indexes

这将阻止人们在你的网站上到处挖掘。当然,如果您需要允许某人查看目录,您可以使用.htaccess以文件夹为单位添加权限,这样做。在我们的情况下,我们忘记了最初添加服务器名称,然后是webmin虚拟主机编辑/删除,它没有更新指令,因此其中缺少服务器名称。。添加服务器名称并重新启动apache后,它已开始正常工作

服务器->Apache Web服务器:选择虚拟服务器->编辑指令

Server Name: testsite.com
其他->命令Shell

service apache2 restart

在浏览器中打开您的网址。

我通过添加指令解决了这个问题 ServerAlias domain.tld*.domain.tld

您可以在Apache->Your Virtual Domain settings->Networking and Addresses->Alternate Virtual server names字段下找到此设置

domain.tld
*.domain.tld

答案正确吗?如果是这样,就应该接受。谢谢如果它被标记为正确就好了;)