刚安装跟据网上配置svn服务器的方法(http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html),自己配了svn服务器,但是在使用如下命令checkout时,
svn co svn://*.*.*.*/project
出现错误:
E000110: Unable to connect to a repository at URL 'svn://*.*.*.*/project'
svn: E000110: Can't connect to host '*.*.*.*': Connection timed out
百度找的方法基本上是windows的,大致检查方法:
1,服务器有没有运行,有没有打开相应端口;
2,防火墙有没有开放相应端口;
3,客户端是否可以连接服务器的相应端口,使用命令telnet 服务器IP 相应端口,如:telnet 192.168.0.1 3690
于是查端口:
netstat -a
得
tcp 0 0 *:svn *:* LISTEN
或
netstat -n
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
这不是开了端口了吗?继续找方法。
有人说用明文指定端口和主机:
svnserve -d --listen-port 3690 --listen-host 0.0.0.0 -r /somewhere/somewhere(修改成具体路径)
还是不行。
后面决定看下防火墙设置,使用setup命令打开图像设置界面,在进入System services选项时,
发现[ ] svnserve 这一选项并没有选中,故选中,然后重试了下checkout,还是不行。
换用service iptables status命令查看端口:
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
6 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
发现这里并无3690端口,因此使用编辑/etc/sysconfig/iptables文件的方法添加开放端口3690
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存退出后,使用如下命令重启服务:
service iptables restart
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
最终svn co成功