【问题标题】:Apache+SVN Setup - Receiving Forbidden on some SVN requests but not allApache+SVN 设置 - 在某些 SVN 请求上接收禁止但不是全部
【发布时间】:2012-04-25 16:55:33
【问题描述】:

第三方提供了运行 Apache 和 SVN 的服务器。但是,我正在设置 repo 并访问它。

有什么作用

我可以在浏览器中访问存储库。我的问题似乎在于使用版本或在终端中运行 SVN 命令。

使用 svn+ssh 从主干或分支中签出,并提交到这些位置。

什么不起作用

使用复制命令创建分支:

svn cp ^/trunk ^/branches/test -m'creating test branch'
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate

访问仓库的根目录

svn ls  http://svn.server/repo
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate 

我认为 svn 错误是一个红鲱鱼。对于每个失败的请求,我都会在访问日志中看到以下内容:

60.60.60.60 - - [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 401 478
60.60.60.60 - TravisKs [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 301 315

查看我的浏览器对根目录的请求的访问日志(成功)

60.60.60.60 - - [25/Apr/2012:09:47:31 -0700] "GET / HTTP/1.1" 200 936

所以我的配置/安全性似乎有错误,但无法找到它。

我的虚拟主机配置

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /var/www/svn/
    ServerName svn.server
    ServerAlias svn.server

        <Directory "/var/www/svn" >
                Options Indexes FollowSymLinks
                AllowOverride All
                Allow from all
                Order allow,deny
        </Directory>

    ErrorLog /var/log/svn.server.com-error_log
    CustomLog /var/log/svn.server.com-access_log common

</VirtualHost>

我的 SVN 配置

<location "/repo">
  DAV svn
  SVNPath /var/www/svn/repo

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /var/www/svn/repo/conf/passwd
  Require valid-user
</location>

编辑

确认目录的文件权限

/var/www
[TravisKs@server ~]$ ls -la /var/www/svn
total 10032
drwxr-xr-x. 3 root   root       4096 Apr 23 16:46 .
drwxr-xr-x. 7 root   root       4096 Feb 13 14:33 ..
drwxr-xr-x. 7 apache apache     4096 Apr 20 17:19 repo
[TravisKs@server ~]$ ls -la /var/www/svn/repo/
total 1180
drwxr-xr-x. 7 apache apache    4096 Apr 20 17:19 .
drwxr-xr-x. 3 root   root      4096 Apr 23 16:46 ..
drwxr-xr-x. 2 apache apache    4096 Apr 20 15:44 conf
drwxr-xr-x. 3 apache apache    4096 Apr 20 17:19 dav 
drwxr-sr-x. 6 apache apache    4096 Apr 24 19:10 db
-r--r--r--. 1 apache apache       2 Apr 20 14:18 format
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 hooks
-rw-r--r--. 1 apache apache 1167874 Apr 20 14:34 import_log.txt
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 locks
-rw-r--r--. 1 apache apache     229 Apr 20 14:18 README.txt

【问题讨论】:

    标签: apache svn configuration


    【解决方案1】:

    所以问题似乎源于 VirtualHost 和 SVN 之间的冲突。我重新配置了我的 httpd.conf 文件,删除了虚拟主机,只保留了 location 指令:

    <location "/svn">
      DAV svn
      SVNParentPath /var/www/svn
      SVNListParentPath on
    
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /var/www/svn/repo/conf/passwd
      Require valid-user
    </location>
    

    接下来的步骤将是在适当的位置创建和使用身份验证文件。此时,我们可以通过浏览器浏览整个 SVN 存储库,并在控制台命令和版本客户端中正常运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2019-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      相关资源
      最近更新 更多