0

我试图在同一个站点上托管颠覆和维基。

我在 /etc/apache2/sites-available 中创建了两个文件

在“颠覆”

我有

<VirtualHost -myserverIP-:80>
        ServerAdmin webmaster@localhost
        ServerName  svn.example.com
        DocumentRoot /var/svn/repos
        <Location /svn/repos>
                DAV svn
                SVNPath /var/svn/repos
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /etc/apache2/passwords
      Require valid-user
        </Location>

</VirtualHost>

在“维基”中我有

<VirtualHost -myserverIP-:80>
        ServerAdmin webmaster@localhost
        ServerName wiki
        ServerAlias -myserverIP-

        DocumentRoot /home/www/wiki/html
        <Directory /home/www/wiki/html>
                AllowOverride None
                Options -Indexes -MultiViews -SymLinksIfOwnerMatch +FollowSymLinks
                Order allow,deny
                allow from all
        </Directory>

        <Location /wiki>
        </Location>

        <DirectoryMatch "^/home/www/wiki/html/(data|conf|bin|inc)/">
            Order allow,deny
            Deny from all
            Satisfy All
        </DirectoryMatch>

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        ErrorLog /home/www/wiki/logs/error.log
        CustomLog /home/www/wiki/logs/access.log combined


</VirtualHost>

但是现在,当我浏览到服务器的 IP 地址时,我得到了 /var/svn/repos 目录的内容,而当我刚刚获得 wiki 页面时,我得到了 wiki 索引页面。我实际上可以去 -IPaddress-/svn/repos 并查看 SVN 存储库,但是 -IPaddress-/wiki 不起作用。

感谢您的提示

4

2 回答 2

2

您的两个虚拟主机都在同一台机器上的 80 端口上。Apache 只能猜测您要使用哪一个。它正在猜测颠覆之一并浏览到指定的 DocumentRoot。您需要区分虚拟主机,或使用服务器名称而不是 IP 浏览到服务器。

相反,您可以在其他虚拟主机中设置 SVN 位置。

还可以考虑使用 /etc/apache2/mods-available/dav_svn.conf,具体取决于您的操作系统。

于 2012-09-20T20:22:33.163 回答
0

但是现在,当我浏览到服务器的 IP 地址时,我得到了 /var/svn/repos 目录的内容,而当我刚刚获得 wiki 页面时,我得到了 wiki 索引页面。我实际上可以去 -IPaddress-/svn/repos 并查看 SVN 存储库,但是 -IPaddress-/wiki 不起作用。

当您向 apache 发出请求并且您使用的主机名未由任何ServerNameServerAlias任何虚拟主机定义时,apache 返回默认虚拟主机,该虚拟主机始终是文件中的第一个虚拟主机(或名称为最小的词典顺序,例如00-default_vhosts.conf)。在您的情况下,您的 SVN 虚拟主机是第一位的,因此它是“默认”虚拟主机。如果您将 2 换成另一个将是“默认”虚拟主机。

于 2012-09-20T20:35:01.943 回答