2012-04-25 22 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存儲庫,並在控制檯命令和版本客戶端中正常運行。