在上一篇文章中,我們已經(jīng)實(shí)現(xiàn)了對SVN和Apache的安裝,并將它們集成在一起工作。這一篇?jiǎng)t主要介紹如何對SVN For Apache進(jìn)行一些配置。
- ???在Apache下為SVN建立多個(gè)庫。上篇中雖然也建立了一個(gè)SVN的庫在Apache下,但是我們不可能一個(gè)SVN服務(wù)器上只有一個(gè)項(xiàng)
目,或者所有項(xiàng)目共用一個(gè)SVN庫進(jìn)行開發(fā),在Apache上為SVN建立多個(gè)庫可以通過建立多個(gè)虛擬目錄的方式實(shí)現(xiàn)。下面我們就來講講具體的步驟(注
意,此篇中的配置和上篇中的配置方式有很大區(qū)別)
- 到F盤建立我們的SVN代碼存放位置目錄:SubversionFiles,并在其中建立一個(gè)conf目錄,將會(huì)把對Apache對SVN的配置文件都放在這里
- 再在F:\SubversionFiles下目錄Test1和Test2,并將它們變成SVN庫(用svnadmin create命令或者用TortoiseSVN來創(chuàng)建都可以)
- 在httpd.conf的最后添加如下代碼
#
# SVN 項(xiàng)目配置文件,格式:Include 配置文件名
#為每個(gè)虛擬目錄設(shè)置一個(gè)配置文件,用Include命令加載
#
Include F:/SubversionFiles/conf/*.project
即把F:/SubversionFiles/conf/目錄下的所有*.project文件都包到httpd.conf中來
- 在F:/SubversionFiles/conf/創(chuàng)建Test1.project和Test2.project文件,Test1內(nèi)容如下,Test2可以做相應(yīng)的修改
#SVN項(xiàng)目名
???? DAV svn
??? #SVN項(xiàng)目的路徑
???? SVNPath F:\SubversionFiles\Test1
??? #SVN項(xiàng)目的路徑權(quán)限授權(quán)文件存放路徑
????AuthzSVNAccessFile F:\SubversionFiles\conf\Test1.access
#對于所有用戶都需要身份驗(yàn)證
????Satisfy Any
???? Require valid-user
#驗(yàn)證方式
????AuthType Basic
??? #項(xiàng)目的名稱
???? AuthName "My Test1"
??? #用戶信息
???? AuthUserFile? F:\SubversionFiles\conf\user
以
上配置含義是在Apache下建立了一個(gè)叫作Test1的SVN虛擬目錄,指向F:\SubversionFiles\Test1,授權(quán)配置文件是F:\
SubversionFiles\conf\Test1.access,用戶信息和密碼文件是F:\SubversionFiles\conf\user
- ?通
過以上配置,我們就在Apache上建立了Test1和Test2兩個(gè)虛擬目錄,也就是兩個(gè)獨(dú)立的SVN庫,我們還需要兩個(gè)文件訪問權(quán)限配置的.
access和包含登錄用戶的user。?在F:\SubversionFiles\conf目錄中創(chuàng)建用戶列表文件user,方法在上篇中已經(jīng)說過,也
就是htpasswd命令,我們需要?jiǎng)?chuàng)建Xrinehart, X-Killer, Guest三個(gè)用戶。
- 接下來,我們?yōu)門est1庫創(chuàng)建它的訪問權(quán)限文件F:
\SubversionFiles\conf\Test1.access。在上篇文章中我們是采用對每個(gè)用戶分別賦予對應(yīng)權(quán)限的方式,如果用戶比較多,管
理起來就會(huì)比較麻煩,這時(shí)我們需要用用戶組來對用戶進(jìn)行管理。下面我們就來嘗試用用戶組配置訪問權(quán)限。Test1.access文件內(nèi)容如下:
[groups]
AdminGroup = Xrinehart
GuestGroup = guest
[/]
@AdminGroup = rw
@GuestGroup = r
X-Killer = rw
???????
在上面的配置中,通過[groups]節(jié)定義了兩個(gè)用戶組:AdminGroup和GuestGroup,并將Xrinehart用戶歸入
AdminGroup用戶組,guest用戶歸入GuestGroup。再在下面的[/]定義了他們對Test1庫的根目錄的操作權(quán)限:
AdminGroup組有讀寫權(quán)限,GuestGroup組只有讀權(quán)限,X-Killer用戶擁有讀寫權(quán)限。這里需要注意的是定義權(quán)限的時(shí)候,用戶組需要
在前面加@符號(hào)來標(biāo)示。
- 為了測試效果,我們可以將Test2.access文件寫為:
[groups]
AdminGroup = Xrinehart, X-Killer
GuestGroup = guest
[/]
@AdminGroup = r
@GuestGroup = rw
- 保存好上面的所有配置文件之后,重新啟動(dòng)Apache服務(wù)器。此時(shí)我們就可以在IE里面通過http://localhost:8080/Test1 和http://localhost:8080/Test2 來訪問Test1和Test2庫了,你可以測試一下,用戶權(quán)限是否符合下面這個(gè)列表所示?做到這里,SVN在Apache上建立多個(gè)庫的配置也就算完成了。
???????????????????????????????????????????????? Test1??????????????????????????????????????????? Test2
Xrinehart??????????????????????????????????? rw????????????????????????????????????????????????? r
X-Killer?????????????????????????????????????rw??????????????????????????????????????????????????r
guest??????????????????????????????????????????r??????????????????????????????????????????????????? rw
相關(guān)文章:實(shí)戰(zhàn)SVN For Apache2(一)
后注:該篇中的配置方式和第一篇中的配置方式有很大不同,推薦用該篇的方式進(jìn)行配置訪問權(quán)限