2009-10-16 84 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指定它。