本文記錄在 CentOS 6 上使用 yum 安裝 Subversion,建立版本庫、設定權限、啟動 svnserve 服務,並設定開機自啟的完整流程。
yum install https://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum install --enablerepo=rpmforge,rpmforge-extras subversion
useradd svn
passwd svn
mkdir -p /home/svn/svndata
cd /home/svn/svndata
svnadmin create test
編輯 test/conf/svnserve.conf,取消註解並設定:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = test
編輯 test/conf/authz:
[/]
test_user = rw
[/trunk/test]
test_user1 = rw
test_user2 = rw
編輯 test/conf/passwd:
[users]
test_user = test123456
chown -R svn:svn /home/svn/svndata/
# 以 svn 帳號啟動(單一版本庫)
su svn -c "svnserve -d -r /home/svn/svndata/test --listen-host 192.168.1.123 --listen-port 9231"
# 或以 root 啟動(多版本庫,指定父目錄)
svnserve -d -r /home/svn/svndata --listen-host 192.168.1.123 --listen-port 9231
參數說明:-d 背景執行,-r 根目錄,--listen-port 指定埠(預設 3690),<1024 需 root。
ps -ef | grep svnserve
# 建立標準目錄結構並匯入
mkdir -p /home/svn/svntmp/{trunk,tags,branches}
cd /home/svn/svntmp
svn import . svn://192.168.1.123:9231/test -m "Initiate test repo"
echo "svnserve -d -r /home/svn/svndata --listen-host 192.168.1.123 --listen-port 9231" >> /etc/rc.local
編輯 ~/.subversion/servers:
[globals]
store-plaintext-passwords = no
