1. 程式人生 > >centos下搭建多項目svn服務器

centos下搭建多項目svn服務器

服務器環境 出現 配置文件 png 演示 sta 圖形界面 -a 3.4

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服務器