svn:存储库永久移动错误 - apache 配置问题

svn:存储库永久移动错误 - apache 配置问题

我已经阅读了 stackoveflow 上“看似”相似的所有其他主题,但找不到解决方案。

当我在本地网络中发出命令时,svn co ip/svn/repo一切正常。

但有时我确实会在远程服务器上进行检查,因此我需要使用 dyndns 设置域。我很久以前就设置了 apache 来支持此功能,但之前从未见过此错误。

如果我这么做:

svn info https://svn.idev.ge/gamoicanies/

它给了我错误:Repository moved permanently to 'https://svn.idev.ge/gamoicanies/'; please relocate

但如果我这么做:

svn info https://svn.idev.ge/gamoicanies/logo

它运行良好。

所以我的问题是我无法签出存储库的根目录。但我可以很好地处理子目录。

我的仓库的目录结构如下:

/var/svn/repo1
/var/svn/repo2

我的子域名 svn.idev.ge 直接转到 /svn/ 目录。我猜想这就是我所有问题的根源。有没有办法修复我的 apache 配置以维护子域名,而无需添加额外的无用 svn 目录,例如https://svn.idev.ge/svn/gamoicanies/并且可以结账吗?

Apache 文件如下所示:

<VirtualHost *:80>

   ServerName svn.idev.ge
   ServerAlias www.svn.idev.ge
   Redirect permanent / https://svn.idev.ge/

</VirtualHost>



<VirtualHost *:443>

  ServerAdmin [email protected]
  ServerName svn.idev.ge
  ServerAlias www.svn.idev.ge

   DocumentRoot /var/svn/

       SSLEngine On
       SSLCertificateFile    /etc/apache2/ssl/server.crt
       SSLCertificateKeyFile /etc/apache2/ssl/server.key

   <Directory />
    Order allow,deny
    allow from all
   </Directory>


    <Location />
      DAV svn
      SVNParentPath /var/svn/
      SVNListParentPath On
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /etc/apache2/passwords
      Require valid-user
      AuthzSVNAccessFile /var/svn/svnusers.conf
    </Location>

</VirtualHost>

请注意,这非常令人沮丧。

答案1

您没有将其DocumentRoot用于任何用途,只需将其更改为不是 SVN 目录父级的其他内容,或将其完全删除,并改用服务器的默认设置(可能是/var/www//var/www/html)。目录重叠是导致问题的原因。

顺便说一下,这个区块:

<Directory />
  Order allow,deny
  allow from all
</Directory>

..可能不是您想要做的;在文件系统根目录上放置允许是没有必要的,并且可能存在严重的安全问题。

将您的OrderAllow指令放在<Location />块内。

相关内容