CentOS7 SVN 無法連接不上:?jiǎn)栴}排查與修復(fù)指南
可能原因與診斷方法
當(dāng)CentOS7服務(wù)器上的SVN服務(wù)無法連接時(shí),需從網(wǎng)絡(luò)、服務(wù)狀態(tài)及配置三個(gè)層面逐步排查:
- 防火墻攔截:檢查是否開放3690端口或禁用防火墻臨時(shí)測(cè)試
- 服務(wù)未運(yùn)行:通過
systemctl status svnserve
驗(yàn)證服務(wù)狀態(tài) - 權(quán)限不足:確認(rèn)SVN倉(cāng)庫(kù)目錄的讀寫權(quán)限及SELinux策略
- 配置錯(cuò)誤:核對(duì)
svnserve.conf
中匿名訪問與認(rèn)證規(guī)則
解決方案分步說明
1. 防火墻與端口配置
執(zhí)行以下命令開放默認(rèn)SVN端口:
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
或臨時(shí)關(guān)閉防火墻測(cè)試:systemctl stop firewalld
2. 服務(wù)啟動(dòng)與狀態(tài)監(jiān)控
重啟SVN服務(wù)并設(shè)置開機(jī)啟動(dòng):
systemctl restart svnserve
systemctl enable svnserve
通過netstat -tunlp | grep 3690
確認(rèn)端口監(jiān)聽狀態(tài)。
3. 倉(cāng)庫(kù)權(quán)限與SELinux調(diào)整
修改倉(cāng)庫(kù)目錄權(quán)限:
chmod -R 777 /svn/repos
chcon -R -t svnserve_content_t /svn/repos
4. 關(guān)鍵配置文件修正
編輯/svn/repos/conf/svnserve.conf
,確保包含:
anon-access = none
auth-access = write
password-db = passwd
高級(jí)問題排查
若上述操作無效,需進(jìn)一步檢查:
- 查看
journalctl -u svnserve
日志定位服務(wù)錯(cuò)誤 - 使用
telnet 服務(wù)器IP 3690
測(cè)試端口連通性 - 確認(rèn)客戶端使用的協(xié)議格式(svn:// 或 http://)匹配服務(wù)端配置
總結(jié)與注意事項(xiàng)
多數(shù)SVN連接問題源于網(wǎng)絡(luò)限制或基礎(chǔ)配置錯(cuò)誤。建議按順序執(zhí)行端口檢查、服務(wù)重啟、權(quán)限修正和配置驗(yàn)證。修改SELinux策略后需重啟服務(wù)生效,生產(chǎn)環(huán)境慎用777權(quán)限模式,應(yīng)根據(jù)實(shí)際需求設(shè)置最小權(quán)限。