升级到 Xubuntu 13.10 后虚拟主机停止工作

升级到 Xubuntu 13.10 后虚拟主机停止工作

我有这样的配置,/etc/apache2/sites-enabled/ 中有一个文件 z500.trunk(它是 sites-available 中文件的符号链接):

<VirtualHost 127.0.2.1:80>
    DocumentRoot "/home/kuba/projects/z500/trunk/www"
    ServerName z500.trunk
    Alias /FilesZ500 "/home/kuba/projects/z500/files"
    Alias /css-cache "/home/kuba/projects/z500/trunk/tmp/css"
    Alias /js-cache "/home/kuba/projects/z500/trunk/tmp/js"
</VirtualHost>

在 /etc/hosts 中:

127.0.2.1       z500.trunk

但当我使用浏览器访问该网站时(http://z500.trunk/),我得到的是正常的默认页面,而不是虚拟页面。

它在 13.04 中运行正常,这里出了什么问题?

答案1

Ubuntu 13.10 现在使用 Apache 2.4,它带来的一些变化可能会对您产生影响:

VirtualHost 的默认位置位于extra/httpd-vhosts.conf,但此文件名不是强制性的。

如果您确实选择采用其他文件命名方案,则它们需要以 结尾,这.conf与之前的规则不同。

我会检查你的 httpd.conf 并确保你的 vhosts 有一个 Include。

Include etc/apache24/extra/httpd-vhosts.conf

顺便提一下,Apache 2.4 允许在配置中使用变量。这在配置大量虚拟主机时非常有用。

以下示例显然不适用于您的名称或目录结构。我只是为了传播信息而提出这一点。我喜欢这个功能,希望更多人采用它。

<VirtualHost 127.0.2.1:80>
    Define SN z500.trunk
    DocumentRoot "/home/kuba/${SN}/www"
    ServerName ${SN}
    Alias /FilesZ500 "/home/kuba/${SN}/files"
    Alias /css-cache "/home/kuba/${SN}/tmp/css"
    Alias /js-cache "/home/kuba/${SN}/tmp/js"
</VirtualHost>

答案2

正如@DavicHoude所说,该文件需要有.conf扩展名并且需要AllowOverride All目录,因为.htaccess 不起作用(我收到了 403 个错误):

<VirtualHost 127.0.2.1:80>
    DocumentRoot "/home/kuba/projects/z500/trunk/www"
    ServerName z500.trunk
    <Directory /home/kuba/projects/z500/trunk/www>
        Options +Indexes +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    Alias /FilesZ500 "/home/kuba/projects/z500/files"
    Alias /css-cache "/home/kuba/projects/z500/trunk/tmp/css"
    Alias /js-cache "/home/kuba/projects/z500/trunk/tmp/js"
</VirtualHost>

相关内容