centos下搭建多項目svn服務器
svn是多人協作開發中的利器,是一個開放源代碼的版本控制系統。
相比與git,他的操作更加簡單,windows下有優秀的圖形界面,並且支持的文件類型比較多。
本文講述如何在linux下搭建一個svn服務器,並且進行權限分配,項目管理。
服務器環境:centos7
安裝步驟:
1.yum install subversion -y
出現complete即代表安裝完成.
2.選擇一個目錄作為svn服務器根目錄 我選擇的是 /srv
mkdir /srv/svn
3.創建版本庫,因為要展示多個版本庫的搭建,因此這裏我創建3個版本庫作為演示。
svnadmin create /srv/svn/p1
svnadmin create /srv/svn/p2
svnadmin create /srv/svn/p3
這樣就可以創建三個項目,項目名為p1,p2,p3
現在文件目錄如上圖,我們查看一下每個項目的目錄
可以看到p1下擁有這6個文件,其中最主要的是conf目錄,查看conf目錄,可以看到3個文件
authz //權限控制文件
passwd //用戶賬號密碼
svnserve.conf //svn配置文件
p1,p2,p3 都有這幾個文件,因為我們要搭建的是多項目svn服務器,因此 權限控制與賬號密碼文件 需要公共使用。
拷貝authz 與 passwd到 /srv/svn 公共目錄下
cp /srv/svn/p1/conf/authz /srv/svn
cp /srv/svn/p1/conf/passwd /srv/svn
編輯svn目錄下的 賬號密碼文件
vi /srv/svn/passwd
如圖 我添加了這幾個用戶 =號左邊的代表登錄用戶 右邊代表登錄密碼。
再編輯 svn下的權限控制文件
可以看到group標簽。 這裏是添加用戶組的,我們可以給每個用戶指定屬於哪個用戶組,並且以組為單位賦予權限。
如圖,我創建了四個用戶組,admin組包含用戶zdp,其他3個組包含了測試用戶
svn的權限控制很精確,可以指定到每個項目,每個成員,每個組所擁有的權限
我在文件的底部添加如下記錄。
[/]
@admin = rw
test1 = r
[p1:/]
@group2 = rw
[p2:/]
@group2 = rw
test5 = rw
[p3:/]
@group3 = rw
接下來分別解釋一些1,2,3,4所代表的含義。
1:admin組擁有對svn跟目錄的讀寫權限,test1擁有對根目錄的讀權限。
可以看到指定組權限的時候 加個@即可。
2:group2組 擁有對 p1項目 的讀寫權限。
3.4的含義 大家想必都能懂了吧。
接下來編寫每個項目的 配置信息。
vi /srv/svn/p1/conf/svnserve.conf
如圖,找到這五個地方,地方去掉前面的#號,修改為如上圖信息。
anon-accsee =none //匿名是否可讀 read代表允許,none禁止
auth-access = write //授權用戶可寫
password-db = /srv/svn/passwd //該項目的賬號密碼信息 使用根目錄下我們剛才編寫的passwd文件
authz-db = /srv/svn/authz //同上,權限信息使用根目錄下的文件
realm = p1 //重要,指定該項目的域名,建議和項目名同名,通過指定該信息,就可以使用url區分不同的項目了
保存 然後對 其他兩個項目信息都類似的編寫。
svnserve -d -r /srv/svn //啟動svn服務器
接下來就可以在windows下使用TortoiseSVN 進行項目的版本控制了。
比如說 檢出p1項目,就可以使用url : svn://ip地址或者域名/p1
centos下搭建多項目svn服務器