2012-01-22 98 views
0

我在我的電腦上安裝了subversion和apache。我可以用followinf URL訪問到我的倉庫SVN:遠程訪問不起作用

http://localhost/svn/repos/ 

現在我想我的組的其他成員訪問,我已經把我的存儲庫中的項目文件。由於這是我第一次使用svn,我尋找解決方案,我覺得我有點失落。

我閱讀了有關我的路由器中的端口轉發,所以我打開了我的路由器接口。我去了我的路由器配置NAT/PAT部分並添加以下caracteristics一個新的規則:

Application: svn 
External port:3690 
Internal port:80 
protocol : TCP 
equipment: myPC 

,並檢查該選項「活動」。但我想我錯過了一些東西。 我的文章,以驗證遠程訪問工作我得去

svn://83.200.108.71 

雖然它不工作的讀取。 「無法連接..」 有人可以幫助我嗎。

+1

確實:svn://83.200.108.71:3690有效嗎? – TimWolla

+0

@TimWolla沒有它不起作用 – Anila

+0

你爲什麼要通過路由器訪問它與svn而其他人通過http訪問它?你有沒有設置svnserve守護進程?或者你使用Apache模塊? – khmarbaise

回答

1

等等...您可以通過http://訪問您的存儲庫?爲什麼不讓其他人使用http://訪問存儲庫?

不要對你的路由器做任何事情。不要與端口混爲一談。 Apache httpd正在爲您的存儲庫提供服務,只需使用Port 80即可。告訴您的用戶只需通過http://<machineName>/svn/repos即可訪問您的存儲庫。這裏的所有都是它的。

svn://是與http://完全不同的協議。端口3690恰好是svn://的默認端口,但這並不意味着如果您在那裏重新路由http://協議,一切都將起作用。

大多數情況下,首先使用Subversion的人設置svnserve服務器而不是Apache httpd,因爲它比使用Apache http更簡單。這裏是你如何建立一個倉庫使用svn://

$ svnadmin create my_repos  # 
$ vi my_repos/conf/svnserve.conf #Need to denop 'password-db=passwd' line 
$ vi my_repos/conf/passwd   #Need to setup user accounts 
$ svnserve -r my_repos -d 

就是這樣。現在您的用戶可以通過svn://<machineName>訪問存儲庫。

雖然svnserve會比Apache,速度更快更簡單,更容易,有很多原因在svnserve以使用Apache httpd的:

  • 80端口很可能不會被網絡,同時3690端口可能阻塞
  • 你可以讓apache httpd的認證使用LDAP(這也可以讓Windows Active Directory身份驗證)
  • 的Apache httpd進程可以服務多個倉庫,而svnserve只能在港口服務單個存儲庫3690
+0

謝謝我會嘗試。 – Anila