SVN 重定向循环

SVN Redirect cycle

所以我在我的 centos 6.5 版本 1.6.11 上安装了 SVN 我正在尝试在 /var/www/html/svn/testrepo 中配置我的存储库, 所以我在 google 中找到了很多指南并使用了所有指南来尝试这样做, 这是我的 subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be both:
#
#   a) readable and writable by the 'apache' user, and
#
#   b) labelled with the 'httpd_sys_content_t' context if using
#   SELinux
#
#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff
#   # chown -R apache.apache stuff
#   # chcon -R -t httpd_sys_content_t stuff
#


<Location /unixmen1>
   DAV svn
   SVNParentPath /var/www/html/svn
# Require SSL connection for password protection.
# SSLRequireSSL

      AuthType Basic
      AuthName "Subversion repos"
      AuthUserFile /etc/svn-auth-users
      Require valid-user

</Location>

现在我检查了一下,发现 /etc/svn-pass 和 /etc/svn-auth-users 是一样的... 我也没有在 /var/ 中看到 svn 文件夹,这很奇怪,因为它显示在所有指南中, 我试过那些指南: http://www.if-not-true-then-false.com/2010/install-svn-subversion-server-on-fedora-centos-red-hat-rhel/

https://wiki.centos.org/HowTos/Subversion

只是不知道我到底做错了什么...... 顺便说一句,这是我第一次尝试设置 svn ...

编辑:

现在,在我玩了一会儿之后,我可以通过浏览器访问整个目录,但我无法使用 tortoiseSVN 连接到存储库,我收到重定向循环错误 httpd/access 日志显示:

 192.168.1.36 - - [19/Nov/2015:14:44:19 +0200] "OPTIONS /svn/unixmen1 HTTP/1.1" 301 319 "-" "SVN/1.9.2 (x64-microsoft-windows) 
serf/1.3.8 TortoiseSVN-1.9.2.26806"

这是在错误日志中:

    [Thu Nov 19 14:40:38 2015] [notice] Apache/2.2.15 (Unix) DAV/2 SVN/1.6.11 configured -- resuming normal operations
[Thu Nov 19 14:44:04 2015] [notice] caught SIGTERM, shutting down
[Thu Nov 19 14:44:09 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Nov 19 14:44:09 2015] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 19 14:44:09 2015] [notice] Digest: done
[Thu Nov 19 14:44:09 2015] [notice] Apache/2.2.15 (Unix) DAV/2 SVN/1.6.11 configured -- resuming normal operations

我还更改了 subversion.conf 文件(编辑了上面的文件) etc/svn-auth-users 中有 1 个用户,但 svn 甚至不需要凭据,只是说 URL 有一个重定向周期: 192.168.1.14/svn/unixmen1

[root@SVN svn]# cd /var/www/html/svn/unixmen1/
[root@SVN unixmen1]# ls -als
total 36
4 drwxr-xr-x 7 apache apache 4096 Nov 19 12:43 .
4 drwxr-xr-x 3 root   root   4096 Nov 19 09:47 ..
4 drwxr-xr-x 2 apache apache 4096 Nov 19 09:47 conf
4 drwxr-sr-x 6 apache apache 4096 Nov 19 09:47 db
4 -r--r--r-- 1 apache apache    2 Nov 19 09:47 format
4 drwxr-xr-x 2 apache apache 4096 Nov 19 09:47 hooks
4 drwxr-xr-x 2 apache apache 4096 Nov 19 09:47 locks
4 drwxr-xr-x 2 root   root   4096 Nov 19 12:43 project1
4 -rw-r--r-- 1 apache apache  229 Nov 19 09:47 README.txt
[root@SVN unixmen1]#

如果有人能帮助我,我将不胜感激。

  1. 为 Apache 的主机显示 DocumentRoot。我想,它低于 /var/www/html/svn/,这是一个很大的错误
  2. 我看到 cd /var/www/html/svn/unixmen1/,即来自 <Location> 虚拟 路径作为真实物理路径存在(甚至在 DocumentRoot 中??? - 请参阅第 1 页) - 这是巨大的 NO-NO

Apache 提供的 SVN-repos 的通用规则(肮脏的短草稿)

  1. 存储库位于 web-root 之外的任何位置
  2. DAV-Location 在 DocumentRoot(唯一名称)中不作为真实路径存在
  3. SVNParentPath 用于服务具有共同第一父级的存储库家族,SVNPath - 用于服务单个存储库

即f.e.:

  • var/repos/Name1 ... var/repos/NameN 是存储库的路径
  • var/www/html 是 DocumentRoot
  • URL 因为 repos 必须是 smth。喜欢 http://HOST/repositories/NameX

您的配置将是(相关部分)

# if mod_dav was compiled as a shared object (instead of statically linked)
LoadModule dav_module         modules/mod_dav.so
LoadModule
LoadModule 
...
<Location /repositories>
   ...
   SVNParentPath /var/repos/
   ...
</Location>