CentOS SVN無法連接:常見問題排查與修復(fù)指南
問題現(xiàn)象
在CentOS系統(tǒng)中使用svn checkout
或客戶端工具連接SVN倉庫時,可能遇到以下錯誤提示:
svn: E000013: Can't connect to host 'svn.example.com:3690': Connection refused
排查與解決方案
1. 檢查SVN服務(wù)運(yùn)行狀態(tài)
執(zhí)行以下命令確認(rèn)svnserve
服務(wù)是否已啟動:
systemctl status svnserve
若服務(wù)未運(yùn)行,使用命令啟動并設(shè)置開機(jī)自啟:
systemctl start svnserve
systemctl enable svnserve
2. 驗(yàn)證防火墻配置
確保防火墻已開放SVN默認(rèn)端口3690:
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
臨時關(guān)閉防火墻測試連接:
systemctl stop firewalld
3. 檢查SVN倉庫權(quán)限配置
確認(rèn)倉庫目錄的svnserve.conf
配置文件中以下參數(shù)設(shè)置:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
同時檢查passwd
和authz
文件中的用戶權(quán)限設(shè)置。
4. 處理SELinux安全策略限制
臨時禁用SELinux測試是否影響連接:
setenforce 0
若問題解決,需永久調(diào)整策略或設(shè)置SVN相關(guān)布爾值:
setsebool -P httpd_can_network_connect 1
5. 網(wǎng)絡(luò)連通性測試
使用telnet
或nc
命令檢測端口可達(dá)性:
telnet 服務(wù)器IP 3690
若連接失敗,檢查網(wǎng)絡(luò)路由、代理設(shè)置或物理防火墻規(guī)則。
配置示例
典型svnserve.conf
配置片段:
[general]
realm = MySVNRepo
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz