這篇是把自己在阿里雲伺服器上,配合寶塔面板部署 SVN 服務時走過的流程整理成一份可重複操作的筆記。內容包含安裝、建立版本庫、配置帳號權限、設定連線埠與白名單,以及最後的連線測試。
參考資料
- 寶塔安裝 SVN 搭建版本庫:CSDN 文章
1. 安裝 SVN 服務
先在寶塔終端進入伺服器,安裝 subversion:

yum -y install subversion
2. 建立版本庫
假設我要把版本庫建在 /www/svn/myproj:
svnadmin create /www/svn/myproj
建立完成後,版本庫目錄下會看到標準的 SVN 結構。

3. 配置帳號與權限
進入版本庫下的 conf 目錄,主要會調整三個檔案:
passwdauthzsvnserve.conf

passwd:建立登入帳號
在 [users] 區塊下直接新增使用者,例如:

[users]
YJSP = 114514
格式就是:
使用者名稱 = 密碼
authz:配置讀寫權限
這個檔案用來定義不同使用者對版本庫路徑的權限:

[/]
# 使用者 = 權限(r = read、w = write)
YJSP = rw
* =
這裡 * = 代表匿名使用者不給任何權限。
svnserve.conf:指定認證與授權來源
這個檔案要把幾個關鍵設定取消註解並改好:

anon-access = read:匿名使用者只讀auth-access = write:已授權使用者可寫password-db = passwd:帳號設定檔authz-db = authz:權限設定檔realm = /www/svn/myproj:這個版本庫對外顯示的識別範圍
4. 開放連線埠
SVN 預設使用 3690,但實務上常會改成自訂埠。除了在寶塔開放埠之外,也要同步在阿里雲控制台放行。
寶塔防火牆
位置大致是:
安全 -> 系統防火牆 -> 添加端口規則
建議確認以下欄位:
- 協議:
TCP - 端口:預設
3690,或你的自訂值 - 來源:預設所有 IP,若要限制來源可改成白名單
- 策略:放行
- 方向:入站

阿里雲控制台防火牆
雲端主機側也要開放相同連線埠,設定方向與寶塔保持一致即可。

如果只想讓固定 IP 連線
可以把來源 IP 收斂成白名單,而不是直接開給所有人。

在寶塔和阿里雲兩邊,都把規則的來源位址改成指定 IP:

如果你的網路出口不是固定 IP,這種做法會讓維護成本變高,部署前最好先確認使用情境。

5. 設定 SVN 服務根路徑
如果要讓 svnserve 明確以某個根路徑提供服務,可以調整全域設定檔:
/etc/sysconfig/svnserve
例如:
# OPTIONS="--daemon --root <SVN 所有版本庫的根目錄> --listen-port=<開放的端口>"

這樣之後對外提供的路徑會更清楚,也方便集中管理多個版本庫。
6. 啟動與檢查服務
完成以上設定後,就可以啟動 SVN 服務。
先停止舊進程:
systemctl stop svnserve
再重新啟動:
systemctl start svnserve
確認服務狀態:
systemctl status svnserve
如果正常啟動,通常會看到類似 Active: active (running) 的狀態。
7. 客戶端連線測試
這裡我用 VisualSVN 做測試。

連線格式如下:
svn://伺服器公網 IP:端口/版本庫名稱
例如:
svn://xxx.xxx.xxx.xxx:3690/myproj

第一次連線時,如果服務端要求登入,就輸入先前在 passwd 裡配置的帳號與密碼。

常見問題
svnserve: E000098: Can't bind server socket: Address already in use
這代表目前指定的埠已經被其他進程占用,先查是哪個進程卡住:
netstat -tunlp | grep 3690
如果看到類似:
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1234/svnserve
表示埠已經有既存服務在使用。這時候先把舊服務停掉,再重新檢查:
systemctl stop svnserve
netstat -tunlp | grep 3690
如果沒有任何輸出,通常就代表埠已經被釋放,可以重新啟動服務再試一次。
我自己的整理
這次部署真正容易漏掉的,不是 svnadmin create 這種單一命令,而是「版本庫內部設定」、「系統服務設定」和「雲端防火牆規則」三者要同時對齊。
只要其中一層少開、少改或改錯,客戶端看起來就會像是整個服務掛掉。所以後來我會把這類部署流程固定拆成三段檢查:
- 庫內帳號與權限有沒有配好
- 服務本身有沒有啟動成功
- 網路入口有沒有真的放行
照這個順序排查,通常會比反覆重裝快很多。