1 安裝SVN
# yum install subversion
1.新建一個目錄用於存儲SVN所有文件【根目錄下】
# mkdir /svn
2. 新建一個資源倉庫
# svnadmin create /svn/project
# ls /svn/project/
conf db format hooks locks README.txt
目錄用途說明:
l hooks目錄:放置hook腳本文件的目錄
l locks目錄:用來放置subversion的db鎖文件和db_logs鎖文件的目錄,用來追蹤存取文件庫的客戶端
l format文件:是一個文本文件,裡面只放了一個整數,表示當前文件庫配置的版本號
l conf目錄:是這個倉庫的配置文件(倉庫的用戶訪問賬號、權限等)
3. 配置svn服務的配置文件svnserver.conf文件【文件下載】
# vi /svn/project/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /svn/project/conf/passwd
authz-db = /svn/project/conf/authz
realm = My Test Repository #這是個提示信息
4. 添加兩個訪問用戶及口令
# vi /svn/project/conf/passwd
[users]
test1 = 123456
test2 = 123456
注意:對用戶配置文件的修改立即生效,不必重啟svn服務。
5. 配置新用戶的授權文件
# vi /svn/project/conf/authz
[groups]
admin = test1,test2
[/]
@admin = rw
@user = r
* =
格式說明:
版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>
/ 表示對根目錄(即/svn/project目錄)下的所有子目錄范圍設置權限;
[/abc] 表示對資料庫中abc項目設置權限;
創建一個admin組,組成員包括xiaoran.shen和test1
創建一個user組,成員只有test2;
admin組對目錄有讀寫權限;
單個用戶test2有讀寫權限;
*=表示除了上面設置的權限用戶組以外,其他所有用戶都設置空權限,空權限表示禁止訪問本目錄,這很重要一定要加上。
注意:對權限配置文件的修改立即生效,不必重啟svn。
6. 啟動svn服務
svnserve -d -r /svn/project/
注意:不要使用系統提供的 /etc/init.d/svnserve start 來啟動,因為系統默認的啟動腳本中沒有使用 –r /svn/project參數指定一個資源。這種情況下啟動的svn服務,客戶端連接會提示“svn: No repository found in 'svn://192.168.11.229/project' ”這樣的錯誤。
默認svn服務器端口是3690。
殺死svn服務:
# ps -ef|grep svn
root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/
root 4692 3676 0 16:13 pts/2 00:00:00 grep svn
# kill -9 4642
若要使用/etc/init.d/svnserve 腳本,可以修改start()函數部分,如下:
start() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon --pidfile=${pidfile} $exec $args -r /svn/project
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}