我有一个在共享主机Linux帐户上运行的apache svn服务器。
症状是我可以用PuTTY连接到托管svn的服务器就好了, 但是TortoiseSVN资源库浏览器无法连接。
我试过svn,svn + ssh,
如果我尝试svn我得到:
E730060:无法连接到URL上的存储库 'svn://50.97.138.99:36901 / test'svn:E730060:无法连接到主机 '50 .97.138.99':连接尝试失败,因为已连接 一段时间后,党没有正确回应,或已确立 连接失败,因为连接的主机无法响应。
如果我尝试svn + ssh, 我反复提示输入密码,最后不得不多次取消pwd对话框,错误是:
无法连接到网址'svn + ssh://wren.arvixe.com'的存储库 要更好地调试连接问题,请从ssh中删除-q选项 Subversion配置文件的[tunnels]部分。网络 连接意外关闭
我现在已经整整工作了两天,用Google搜索出来,开始变得神志不清。
感谢您的帮助。我很乐意提供更多细节/做实验/等 我不知道任何人想要开始的细节,所以对不起,如果没有足够的细节。
答案 0 :(得分:3)
关于如何访问您的存储库似乎存在一些混淆。如果没有人设置,您无法通过svn+ssh://
进行浏览。有人设置了这个吗?
我很惊讶您可以通过SSH(使用PuTTY)登录服务器,因为它是共享托管服务器。这通常是不允许的。大多数共享主机站点都不允许shell访问。
您在开场白语中提及 apache svn服务器 。然后,您同时尝试svn://
和svn+ssh://
。有四个单独设置Subversion服务器和访问Subversion的方法:
mod_dav_svn.so
和mod_dav.so
。你有这个设置吗?如果您这样做,则需要使用http://
而不是svn://
访问您的存储库。svnserve
as the server。这很容易设置。您在显示时使用svn://
访问您的存储库。有人配置svnserve
并让它运行吗?svnserve
,但与ssh
集成,可以使用Unix文件访问。设置起来非常非常棘手,我看到很少有人真正使用它。每个用户在访问存储库时都会触发自己的svnserve
进程。存储库可以直接访问它,您必须设置个人帐户以防止任何shell访问。否则用户可以直接操作存储库。问题是,如果不知道如何在系统上设置Subversion,就无法帮助您。你创建了存储库吗?如果是,您是否启动了svnserve
进程来访问它?是否有人在该系统上设置了Subversion存储库?如果其他人设置了存储库,您将必须从他们那里获得有关如何访问存储库的确切指示。
如果您是设置存储库的人,您是设置了Apache还是设置了svnserve?如果您已设置svnserve
,是否使用默认端口3690,或设置另一个端口?你能确定这个端口是否被防火墙阻止了吗?您可以使用telenet
命令直接尝试访问端口:
c取代; telnet 50.97.138.99 3690
如果无法连接,您将看到“无法连接到远程主机”消息,这意味着svnserve
未运行,或者您的防火墙正在阻止该端口。由于您可以登录服务器,请尝试登录服务器,并直接访问该存储库:
$ svn log svn:// localhost
如果您可以访问repo,则运行svnserve,但防火墙会阻止它。如果您无法访问svnserve
,则可能无法正常运行。
试一试,看看你得到了什么。