Apache2在同一台服务器上承载两个站点

Apache2在同一台服务器上承载两个站点,apache,svn,ubuntu,Apache,Svn,Ubuntu,我试图在同一个站点上托管subversion和wiki 我在/etc/apache2/sites中创建了两个可用文件 在“颠覆”中 我有 <VirtualHost -myserverIP-:80> ServerAdmin webmaster@localhost ServerName svn.example.com DocumentRoot /var/svn/repos <Location /svn/repos&g

我试图在同一个站点上托管subversion和wiki

我在/etc/apache2/sites中创建了两个可用文件

在“颠覆”中

我有

<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>

服务器管理员webmaster@localhost
ServerName svn.example.com
DocumentRoot/var/svn/repos
DAV svn
SVNPath/var/svn/repos
AuthType Basic
AuthName“Subversion存储库”
AuthUserFile/etc/apache2/passwords
需要有效用户
在“维基”里我有


服务器管理员webmaster@localhost
服务器名维基
服务器别名-myserverIP-
DocumentRoot/home/www/wiki/html
不允许超限
选项-索引-多视图-符号链接所有者匹配+跟随符号链接
命令允许,拒绝
通融
命令允许,拒绝
全盘否定
满足所有
#可能的值包括:调试、信息、通知、警告、错误、临界值、,
#警惕,埃默格。
日志级别警告
ErrorLog/home/www/wiki/logs/error.log
CustomLog/home/www/wiki/logs/access.log组合
但是现在,当我浏览到服务器的IP地址时,我得到了/var/svn/repos目录的内容,而当我刚刚看到wiki页面时,我得到了wiki索引页面。实际上,我可以转到-IPaddress-/svn/repos并查看svn存储库,但是-IPaddress-/wiki不起作用


感谢您提供的提示

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

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

还考虑使用/ETC/APACHE2/MODS可用/DavySv.CONF,这取决于您的操作系统。 但是现在,当我浏览到服务器的IP地址时,我得到了/var/svn/repos目录的内容,而当我刚刚看到wiki页面时,我得到了wiki索引页面。实际上,我可以转到-IPaddress-/svn/repos并查看svn存储库,但是-IPaddress-/wiki不起作用


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

感谢您的解释。将它添加到另一个虚拟主机中非常有效
<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>