我正在为一个项目设置一个svn服务器。我已经安装了SVN,让它与一个新的SVN用户一起运行,在passwd文件中创建了user/password组合,并在svnserve.conf中提供了它。我在存储库中为当前项目创建了一个文件夹。。。
所以我有
/home/svn/repositories/my_new_project
我在我的服务器上运行netstat-lntp
Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
24405/svnserve
...etc...
现在,跳下服务器,跳上我的客户端机器,检查服务器是否启动,我
ping my_network_server_name_here
用32字节的数据Ping my_network_server_name_here[1.2.3.4]:
Reply from [1.2.3.4]: bytes=32 time=1ms TTL=62
Reply from [1.2.3.4]: bytes=32 time=1ms TTL=62
Reply from [1.2.3.4]: bytes=32 time=2ms TTL=62
Reply from [1.2.3.4]: bytes=32 time=3ms TTL=62
而且我的ping速率很高,所以我知道服务器是可以访问的。我安装了乌龟SVN。我右键单击要添加到存储库的文件夹,点击导入,然后将其发送到
svn://my_network_server_name_here:3690/my_new_project
我得到的回应是…
Unable to connect to a repository at URL
svn://my_network_server_name_here/my_new_project
Can't connect to host 'my_network_server_name': A connection attempt failed because the connected party did not properly respond after a period of time or established connection failed because the connected host has failed to respond.
我的问题是…我哪里搞砸了?
对于svnserve -d -r /home/svn/repositories
,repo svn://my_network_server_name_here:3690/my_new_project
的URL表示:您在文件夹my_new_project
中创建了存储库(svnadmin-create)。这是正确的吗?
0.0.0.0:3690
的意思是"在所有接口上进行服务器侦听",但并不意味着"在所有界面上都可以连接到它"。因为中间的一些工具可以阻止连接到svnserve。您可以在SVN中使用轻量级命令(如svn ls URL
)
- 尝试使用主机名
localhost
从repo的主机连接到repo - 如果正常,则使用主机的FQDN从repo的主机连接到repo
- 如果可以,从外部主机连接到repo,减少每次迭代中的中间主机数量
预期路由上的防火墙,阻止访问未列出的端口