2012-12-09 46 views
1

我想從網絡瀏覽器訪問該存儲庫,這樣做 - 通過WebDAVSVN在Linux上的Mandriva - 訪問遠程倉庫從Windows的網絡瀏覽器

訪問 -

passwd文件文件:

... 
    [users] 
    harry = harryssecret 
    sally = sallyssecret 

...

<VirtualHost remote-ip:81> 
    <Location /svn> 
     DAV svn 
     SVNPath /home/svn 
     AuthType Basic 
     AuthName "...." 
     AuthUserFile /etc/subversion/passwd 
     Require valid-user 
    </Location> 
</VirtualHost> 

然後重新啓動Apache -

ctlscript.sh restart apache 

請求從的Windows - 主機 -

http: //remote-ip:81/svn/test 

得到的迴應 - enter image description here

輸入哈利和harryssecret,但我得到 -

401:需要授權

此服務器無法驗證您是否有權訪問請求的文檔。您提供了錯誤的憑據(例如,錯誤的密碼),或者您的瀏覽器不知道如何提供所需的憑據。

我在做什麼錯?

回答

1

我在做什麼錯?

所有,從 「未讀docs」 開始

的AuthUserFile需要標準Apache的passwd文件, 基於路徑的訪問控制列表(你 試圖寫入到passwd文件)要求的LoadModule附加模塊和額外的指令在 <Location> ,從SVN您的passwd文件:// - 擔任回購爲svnserve的

實例從我的生活系統(相關部分)

https.conf

AuthType Basic 
AuthBasicProvider file 
AuthUserFile ...htpasswd 
AuthzSVNAccessFile ...authz 

Satisfy Any 
Require valid-user 
  • 手託+需要RO匿名訪問回購
  • 需要有效的用戶是面向auth。寫訪問
  • 的AuthUserFile - 平坦用戶列表
  • 的AuthzSVNAccessFile - 基於路徑的ACL

htpasswd的

lazybadger:$apr1$5tg... 

(字符串與每個用戶的編碼的用戶名通)

AuthZ的

[/] 
*=r 

[Elgg-Russian:/] 
@Coders=rw 

[Elgg-TranslationRU:/] 
@Translators=rw 

[Hello:/] 
lazybadger=rw 

(SVN位置中的組,子樹,已從默認訪問權限更改)

+0

非常感謝您的迴應,Lazy Badger! 這就是我需要的!謝謝! –

+1

@ ivanov-void - 根據你的repo-URL(尾部)'svn/test'不能與'SVNPath/home/svn'共存,你也錯過了(或誤用SVNPath)SVNParentPath的位置 –

+0

非常感謝很多信息!你幫了我。 –

相關問題