2012-04-25 80 views
0

第三方提供了运行Apache和SVN的服务器。但是,我正在设置回购并访问它。Apache + SVN设置 - 接收对某些SVN请求禁止但不是全部

什么工作

我可以访问浏览器的回购协议。我的问题似乎是在版本或终端中运行SVN命令。

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

什么行不通

创建分支与COPY命令:

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 
[[email protected] ~]$ 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 
[[email protected] ~]$ 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 

回答

0

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

<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存储库,并在控制台命令和版本客户端中正常运行。