剛安裝跟據網上配置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成功
