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

时间:2013-06-28 21:46:40

标签: apache virtualhost webmin

所以我正在尝试建立一个机架式云服务器来托管具有单个IP的多个站点(而不是服务器)。我在Ubuntu 12.04 LTS服务器上安装了Virtualmin / Webmin。我创建了目录/ var / www / sites / testsite。然后我使用以下设置在Webmin-> Servers-> Apache Webserver下创建了一个虚拟主机:

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 /中添加不同的index.html文件来验证这一点www和/ var / www / sites / testsite)。

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

DocumentRoot /var/www/sites/testsite
<Directory "/var/www/sites/testsite">
allow from all
Options +Indexes
</Directory>
ServerName testsite.com
ServerAlias www.testsite.com

3 个答案:

答案 0 :(得分:3)

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

你可以在Apache下找到这个设置 - &gt;您的虚拟域设置 - &gt;网络和地址 - &gt;备用虚拟服务器名称FIELD。

使用domain.tld * .domain.tld

答案 1 :(得分:1)

在我们的情况下,我们忘记最初添加服务器名称,然后忘记webmin虚拟主机编辑/删除,它没有更新指令,因此其中缺少服务器名称。添加服务器名称和重新启动Apache后,它已经开始正常工作。

服务器 - &gt; Apache Webserver:选择您的虚拟服务器 - &gt;编辑指令

Server Name: testsite.com

其他 - &gt;命令外壳

service apache2 restart

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

答案 2 :(得分:0)

我发现将'Any'与特定端口混合由于某种原因不能很好地发挥作用。

尝试将vhost设置更新为:

Address: Any
Port: Any
Document Root: /var/www/sites/testsite
Server Name: testsite.com

执行此操作时,请确保清空在选择特定端口时填写的所有框。

此外,正如旁注,习惯于将您的网站设置为不允许目录索引,除非当然特别要求。

所以在实际指令集中:

Options -Indexes

这将阻止人们在您的网站中挖掘。如果您当然需要允许某人查看目录,您可以使用.htaccess

逐个文件夹添加权限。