背景
在搭建好的虛擬機器上搭建好svn後,在用SVN用戶端串連時出現了一些問題,費了好大的勁兒,最終在有經驗的高手的協助下順利解決。下面就自己的問題來分析一下。
問題
Can‘t connect to host '192.167.33.10':由於串連方在一段時間後沒有正確回覆或串連的主機沒有反應,串連嘗試失敗。
原因
1、IP可能被佔用,換一個沒有被佔用的IP地址
2、防火牆的3690連接埠沒有對外開放 解決方案
第一步:修改設定檔:vi /etc/sysconfig/iptables
<span style="font-size:18px;"> # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT </span>
第二步:換Ip地址,開啟Vagrantfile檔案進行修改,修改結果如下。
<span style="font-size:18px;"># Create a private network, which allows host-only access to the machine # using a specific IP. config.vm.network "private_network", ip: "<span style="color:#FF0000;">192.168.11.18</span>"</span>
第二步:重啟虛擬機器
第三步:修改Xshell中的會話,修改結果如下:
第四步:重新進入到SVN進行配置,然後啟動SVN
<span style="font-size:18px;">[root@localhost vagrant]# mkdir -p /var/svn/svnrepos[root@localhost vagrant]# svnadmin create /var/svn/svnrepossvnadmin: E165002: '/var/svn/svnrepos' is an existing repository[root@localhost vagrant]# cd /var/svn/svnrepos[root@localhost svnrepos]# lsconf db format hooks locks README.txt[root@localhost svnrepos]# cd conf[root@localhost conf]# lsauthz passwd svnserve.conf[root@localhost conf]# vi passwd[root@localhost conf]# vi authz[root@localhost conf]# vi svnserve.conf[root@localhost conf]# svnserve -d -r /var/svn/svnrepos</span>
第五步:添加入站規則,再啟動SVN
<span style="font-size:18px;">[root@localhost conf]# /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT[root@localhost conf]# /etc/init.d/iptables savebash: /etc/init.d/iptables: No such file or directory[root@localhost conf]# service iptables restartRedirecting to /bin/systemctl restart iptables.serviceFailed to issue method call: Unit iptables.service failed to load: No such file or directory.[root@localhost conf]# svnserve -d -r /var/svn/svnrepossvnserve: E000098: Can't bind server socket: Address already in use</span>
到這裡再用SVN用戶端串連伺服器就沒有問題了。
技巧小擴充
自己安裝軟體的路徑盡量用全英文沒有空格,否則很可能會出現一些問題,偶已經在這方面吃過大虧了,謹記哦。
小結
當自己遇到問題時,不要氣餒,去網上找資料,做實驗,請教已經在這方面有經驗的人, 問題總能夠解決。如果碰到了問題全世界都不會,那你就可以申請專利了,哈哈。