2009-10-16 285 views
0

我使用所有默認設置和運行在端口9999上的Apache來設置基本的Win32 CollabNet SVN服務器1.6.5-6。另外,我安裝了TortoiseSVN。只要我使用FILE URL,如:file:/// C:/ SVNRepository/,一切都可以正常使用Tortoise和Eclipse。遠程連接到CollabNet SVN的問題

如果我指向http://localhost:9999的Internet Exploder,它會給我一個http文本消息,指出「It works!」。當我嘗試連接URL http://localhost:9999/svn時,瀏覽器顯示C:\ SVNRepository的4個根目錄,但它們不是可瀏覽的目錄。將瀏覽器指向svn:// localhost:9999/svn會導致瀏覽器打開Tortoise,然後將explorer.exe鎖定5分鐘,直至超時。

出了什麼問題?


商議後,得到的答覆竟然是:

<Location /svn> 
    DAV svn 
    #SVNParentPath C:/NotUsed 
    SVNPath "C:/SVNRepository" 
    SVNListParentPath On 
    #Require valid-user 
    #AuthType Digest 
    AuthName "SVNRepository" 
    #AuthUserFile "C:/Subversion Server/httpd/conf/svnauthfile" 
</Location> 
+0

嗨 您是否像下面的答案中一樣運行svnserve.exe?如果你能記錄你所做的解決這個問題會很好 - 謝謝你。 :-) – 2009-10-19 03:34:11

+0

我還沒有解決這個問題。本地SVN的東西很好。當我嘗試使用Tortoise和URL svn:// mymachine:9999/CodeRoot從遠程計算機連接到我的SVN時,它只是超時並鎖定我的explorer.exe大約2分鐘。如果我的網址稍微有點錯誤,比如錯誤的端口號,它會立即顯示「無法連接」。所以,這證明烏龜認爲它承認但不能與之談判的「某些東西」。 – djangofan 2009-10-19 15:04:42

+0

您使用的是哪個Windows版本? – GmonC 2009-10-19 16:37:40

回答

1

當您嘗試在Web瀏覽器中打開存儲庫時發現未找到錯誤,表明該URL是錯誤的。從閱讀opencollab svn服務器的自述文件看來,推薦的存儲庫的url-prefix是/ svn,所以如果你遵循這些建議,你的「CodeRoot」將是http://localhost:9999/svn/CodeRoot

你應該能夠確認,如果這是看的Apache的httpd.conf文件,在該文件的底部,你應該找到類似

<Location /_url prefix here_> 
    DAV svn 
    #SVNParentPath C:\repositories 
    SVNPath C:\repositories 
</Location> 

如果只有一個存儲庫和案例希望能夠通過localhost/svn訪問它,您應該使用SVNPath而不是SVNParentPath,並將其指向存儲庫的完整路徑。 如果您希望多個存儲庫在/ svn下可用,請改用SVNParentPath,並將其指向包含所有svn存儲庫的目錄。

+0

好吧,您對一件事是正確的。我有SVNParentPath配置不正確,也沒有引號周圍。我更新了我的原始錯誤描述。感謝您的幫助,但我仍然沒有得到它的工作。 – djangofan 2009-10-19 16:20:28

+0

這聽起來像你應該在你的配置中使用SVNPath而不是SVNParentPath。 – Zareth 2009-10-19 16:25:16

+0

啊!就是這樣!謝謝!你獲得積分。 – djangofan 2009-10-19 16:37:36

0

我從來沒有使用SVN與Apache,但應該不會是

HTTP://本地主機: 9999

如果通過apache訪問它?我可以看到,指定svn協議在嘗試連接時可能會混淆烏龜。

還試圖「telnet localhost 9999」來測試端口正在偵聽。

HTH。

+0

是的,netstat顯示端口正在偵聽。此外,網址http:// localhost:9999在網頁瀏覽器中顯示訊息「它正在運作」。 – djangofan 2009-10-16 23:02:54

+0

svn:// url並未混淆explorer.exe。會發生什麼是它使用系統中的文件關聯來打開具有相同URL的TortoiseSVN。龜雖然鎖定,無法打開網址(請參閱我的原始描述)。 – djangofan 2009-10-19 15:13:47

1

如果您嘗試通過Apache服務器訪問您的SVN存儲庫,則應使用指定http協議的URL:http://localhost:9999/something。 svn協議用於獨立的svn服務器。 something部分將取決於如何配置Apache(無論Apache希望映射到目錄C:\ SVNRepository)。

+0

我試過了。這是顯而易見的嘗試,這就是爲什麼我開始思考svn://是正確的路要走。 – djangofan 2009-10-16 23:02:10

0

這很難說,但最明顯的是有一些錯誤的Apache配置。 要獲得更準確的答案,您應該發佈具體的設置步驟。

但除了自行安裝,你應該看看VisulaSVN Server。這在Windows環境中非常方便(您似乎可以使用它)。它是一個完整的SVN服務器,可通過簡單的GUI輕鬆配置。

+0

我做了安裝程序隨附的標準apache安裝,並且我接受了除了使用端口9999而不是80以外的所有默認設置。 – djangofan 2009-10-16 23:03:47

1

svn://開頭的顛覆URL使用子版本自己的協議,由svnserve處理。如果您使用的是Apache,如果配置正確,則您使用的是Apache的mod_dav_svn模塊。當使用apache提供svn版本庫時,你也可以通過任何瀏覽器訪問版本庫 - 只需在瀏覽器中輸入URL,你就會看到一個相當簡單的文件列表表示。這是一個非常有用的方法來查看是否實際提供了存儲庫。通過apache提供的所有URL使用http協議或其SSL變體https。與任何網絡服務器一樣,如果您使用的是非標準端口,則需要使用URL指定它。