Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 搭建獨立 SVN 服務器:svnserve 安裝配置全流程

編輯:Linux 教學

Subversion (SVN) 服務器有兩種運行模式:獨立 svnserve 與 Apache 模組 mod_dav_svn。本文詳細記錄基於 svnserve + FSFS 存儲後端的獨立服務器搭建、倉庫建立、用戶權限控制全流程。

軟體版本與下載

  • subversion-1.6.13.tar.gz
  • subversion-deps-1.6.13.tar.gz(依賴包)

一、編譯安裝 Subversion

wget https://subversion.tigris.org/downloads/subversion-1.6.13.tar.gz
wget https://subversion.tigris.org/downloads/subversion-deps-1.6.13.tar.gz
tar -xzvf subversion-1.6.13.tar.gz -C ../software/
tar -xzvf subversion-deps-1.6.13.tar.gz -C ../software/
cd ../software/subversion-1.6.13/
./configure --prefix=/usr/local/subversion-1.6.13
make clean && make && make install

驗證:./svnserve --version 輸出版本資訊即成功。

二、建立版本倉庫(FSFS 格式)

mkdir -p /www/svn/repository
./svnadmin create --fs-type fsfs /www/svn/repository/
ls /www/svn/repository/
# conf db format hooks locks README.txt

選擇 FSFS 原因:BDB 格式在服務器異常中斷時易鎖死數據;FSFS 更安全、相容性更好。

三、導入專案代碼

mkdir -p /www/svn/tmp/{trunk,tags,branches}
cp -r nginx /www/svn/tmp/trunk/
./svn import /www/svn/tmp/ file:///www/svn/repository/ -m "first import"

導入成功顯示 Committed revision 1.

四、驗證與權限設定

./svn list --verbose file:///www/svn/repository/
chmod 770 /www/svn/repository
chmod -R g+w /www/svn/repository

五、用戶認證與授權配置

1. 主配置 /www/svn/repository/conf/svnserve.conf

[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = repository
[sasl]

2. 用戶文件 /www/svn/repository/conf/passwd

[users]
xuhh = xuhh@766

3. 權限文件 /www/svn/repository/conf/authz

[groups]
dev_team = xuhh, user2, user3

[/]
@dev_team = rw
* = r

[/project/trunk]
@dev_team = rw
* =

注意:authz 中出現的用戶必須在 passwd 定義過;修改 authz 即時生效,無需重啟服務。

六、啟動 svnserve 服務

svnserve -d -r /www/svn/repository
# -d 守護進程模式,-r 根目錄

客戶端檢出:svn checkout svn://server_ip/project/trunk

七、開機自啟與系統服務化

建立 /etc/init.d/svnserve SysV init 腳本,或加入 /etc/rc.local:

echo "svnserve -d -r /www/svn/repository" >> /etc/rc.local

關鍵避坑提醒

  • 倉庫目錄權限必須讓運行 svnserve 的用戶可讀寫(建議專用用戶 svn,組 svn)。
  • 防火牆開放 3690 端口(svnserve 預設)。
  • 大型團隊建議遷移至 Apache + mod_dav_svn,支援 HTTPS、LDAP 整合、更細粒度權限。
  • 定期備份倉庫:svnadmin dump /www/svn/repository > backup.dump。

獨立 svnserve 輕量、配置簡單,適合中小團隊或內網代碼託管快速落地。

Copyright © Windows教程網 All Rights Reserved