5

所以我正在尝试设置一个机架空间云服务器来托管多个站点(不是服务器),使用一个 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/www 和 / 中添加不同的 index.html 文件来验证这一点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
4

3 回答 3

2

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

您可以在 Apache -> 您的虚拟域设置 -> 网络和地址 -> 备用虚拟服务器名称字段下找到此设置。

域.tld *.domain.tld

于 2014-11-14T08:22:37.077 回答
1

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

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

Server Name: testsite.com

其他 -> 命令外壳

service apache2 restart

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

于 2014-04-16T15:01:32.633 回答
0

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

尝试将虚拟主机设置更新为:

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

这样做时,请确保清空在选择特定端口时填写的所有框。

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

所以在实际指令集中:

Options -Indexes

这将阻止人们在您的网站中挖掘。如果您当然需要允许某人查看目录,您可以使用 .htaccess 逐个文件夹添加权限

于 2013-09-12T11:17:48.713 回答