- 使用yum命令一鍵安裝
yum install subversion
yum install mod_dav_svn
- 創(chuàng)建SVN數(shù)據(jù)目錄和配置目錄
mkdir -p /mnt/svn/data #用來(lái)存放版本倉(cāng)庫(kù)的數(shù)據(jù)
mkdir -p /mnt/svn/conf #用來(lái)存放版本倉(cāng)庫(kù)的配置
其實(shí)每個(gè)倉(cāng)庫(kù)都有一份獨(dú)立的配置文件绰垂,可以配置用戶和密碼還有每個(gè)用戶的權(quán)限娱局,這樣做只是為了方便在同一份配置文件中管理多個(gè)倉(cāng)庫(kù),當(dāng)然conf目錄不是必要的,視具體情況而定。
- 在mnt/svn/data目錄下創(chuàng)建一個(gè)doc目錄碎税,并初始化為倉(cāng)庫(kù)
mkdir /mnt/svn/data/doc
svnadmin create /mnt/svn/data/doc #把doc目錄初始化為倉(cāng)庫(kù)
初始化后doc目錄如下
root:/mnt/svn/data/doc>ll
total 16
drwxr-xr-x. 2 root root 79 Feb 22 22:19 conf
drwxr-sr-x. 6 root root 4096 Feb 22 22:43 db
-r--r--r--. 1 root root 2 Feb 22 22:11 format
drwxr-xr-x. 2 root root 4096 Feb 22 22:11 hooks
drwxr-xr-x. 2 root root 39 Feb 22 22:11 locks
-rw-r--r--. 1 root root 229 Feb 22 22:11 README.txt
其中conf目錄存放的就是該倉(cāng)庫(kù)配置文件
root:/mnt/svn/data/doc/conf>ll
total 16
-rw-r--r--. 1 root root 1080 Feb 22 22:11 authz
-rw-r--r--. 1 root root 309 Feb 22 22:11 passwd
-rw-r--r--. 1 root root 3110 Feb 22 22:19 svnserve.conf
- 備份一個(gè)svnserve.conf并修改svnserve.conf
cd /mnt/svn/data/doc/conf
cp svnserve.conf.default
vim svnserve.conf
去掉19、20馏锡、27雷蹂、34行的注釋,并修改27行和34行如下
19 anon-access = read
20 auth-access = write
27 password-db = /mnt/svn/conf/passwd #指向配置目錄的配置文件
34 authz-db = /mnt/svn/conf/authz #指向配置目錄的配置文件
- 復(fù)制doc/conf的authz文件和passwd文件到/mnt/svn/conf下
cd /mnt/svn/data/doc/conf
cp authz passwd /mnt/svn/conf
- 在配置文件目錄下修改配置文件杯道,添加用戶和倉(cāng)庫(kù)權(quán)限
cd /mnt/svn/conf
vim passwd
#添加用戶
6 [users]
7 # harry = harryssecret
8 # sally = sallyssecret
9 linxl = linxl
10 wangjm = wangjm
11 wangbm = wangbom
vim authz
21 [groups]
22 # harry_and_sally = harry,sally
23 # harry_sally_and_joe = harry,sally,&joe
24 public_document_group = linxl,wangjm,wangbm
25
26 # [/foo/bar]
27 # harry = rw
28 # &joe = r
29 # * =
30
31 #[repository:/baz/fuz]
32 # @harry_and_sally = rw
33 # * = r
34 [doc:/]
35 @public_document_group = rw
36 * =
authz文件24行為設(shè)置用戶分組
34行為倉(cāng)庫(kù)名和該倉(cāng)庫(kù)下的某個(gè)目錄
下面定義該倉(cāng)庫(kù)的該目錄下的組的權(quán)限和用戶全選匪煌,組名前加@,r為只讀党巾,rw為讀寫萎庭,* = 表示其他用戶對(duì)該倉(cāng)庫(kù)的該目錄沒(méi)有讀寫權(quán)限
如果有多個(gè)倉(cāng)庫(kù),可以繼續(xù)在下面添加昧港,比如
[doc2:/client/]
wangbm = r
* =
表示倉(cāng)庫(kù)doc2的client目錄擎椰,用戶wangbm有讀的權(quán)限
- 啟動(dòng)SVN服務(wù)
svnserve -d -r /mnt/svn/data #在后臺(tái)啟動(dòng)data下所有的倉(cāng)庫(kù)
ps aux | grep svn #查看svn服務(wù)是否啟動(dòng)支子,出現(xiàn)下面的內(nèi)容即為成功啟動(dòng)
[root:/mnt/svn/conf]# ps aux | grep svn
root 16931 0.0 0.0 156632 752 ? Ss 21:13 0:00 svnserve -d -r /mnt/svn/data/
#另外创肥,關(guān)閉svn服務(wù)命令
pkill svnserve
#也可以使用kill進(jìn)程號(hào)
這時(shí)可以在客戶端中使用SVN管理文件了。
- 最后值朋,可以在SVN服務(wù)的啟動(dòng)和關(guān)閉寫成腳本放到/mnt/svn目錄下叹侄,在修改了配置文件后可以方便重啟服務(wù)