版本控制工具SVN最新版1.6.6出爐,同時(shí)包含Apache服務(wù)2.213
本節(jié)向大家簡(jiǎn)單介紹一下版本控制工具SVN:Subversion的相關(guān)內(nèi)容,在學(xué)習(xí)SVN的過程中,它可以在多個(gè)操作系統(tǒng)中搭建,版本更新也越來越快。目前版本控制工具SVN最新版本是1.6.6,包含了Apache服務(wù)2.213,安裝的時(shí)候默認(rèn)一同安裝,客戶端使用TortoiseSVN-1.6.6。
軟件在網(wǎng)上都可以免費(fèi)下載,作為新手這里介紹一下我的版本控制工具SVN配置過程。
1、基本配置
1)、安裝完成在瀏覽器輸入http://localhost打開的網(wǎng)頁顯示“Itworks”表示Apache與SVN整合完成;
2)、發(fā)現(xiàn)安裝完成之后無需重啟電腦即可啟動(dòng)Apache服務(wù);
3)、修改配置文件,即安裝路徑conf目錄下的httpd.conf文件,發(fā)現(xiàn)mod_dav.so已經(jīng)默認(rèn)注冊(cè),只需打開mod_dav_fs.so前面的注釋標(biāo)記即可(大概在文件的85行左右);
4)、在指定版本庫根目錄下創(chuàng)建一個(gè)庫,比如repo1;
5)、打開瀏覽器,輸入地址:http://localhost/svn/repo1,這時(shí)應(yīng)該能看到“repo1-Revision0:/”。
2、配置權(quán)限
版本控制工具SVN中配置權(quán)限問題。權(quán)限配置這里分為兩種,一種是用戶認(rèn)證,一種是訪問權(quán)限。在安裝路徑下的conf目錄下的httpd.conf文件中注冊(cè)Subversion瀏覽庫和權(quán)限控制modules:
LoadModuledav_svn_modules/mod_dav_svn.so
LoadModuleauthz_svn_modules/mod_authz_svn.so
注意:mod_dav_fs.so和mod_dav.so必須被打開(前面基本配置的時(shí)候已經(jīng)打開),且必須在mod_dav_svn.so和mod_authz_svn.so之前(可以將這兩項(xiàng)放在所有dav之后)。
在進(jìn)行權(quán)限配置之前,配置文件的最后一段如下所示:
DAVsvn
SVNParentPathd:\svn_repository
1)、版本控制工具SVN身份認(rèn)證配置
在配置文件最后的location段加入:AuthUserFile(path)/passwd
passwd文件中包含對(duì)訪問版本庫的用戶的管理,即所有用戶及其密碼。該文件就是一個(gè)文本格式的文件,可以任意編輯。如果密碼未加密則內(nèi)容如下所示
coyoo:123
tom:456
表示該文件中管理了兩個(gè)用戶coyoo和tom,他們的訪問密碼分別是123和456。如果要為用戶創(chuàng)建不透明的密碼,可以使用Apache的htpass命令,操作如下
打開命令行(DOS窗口CMD),將當(dāng)前目錄切換到apache2目錄(通常為安裝路徑\httpd\bin),
輸入命令:htpasswd.exe-cpasswdcoyoo
回車后在命令行提示以下內(nèi)容,需要你兩次輸入為該用戶創(chuàng)建的密碼
AutomaticallyusingMD5format.
Newpassword:******(輸入密碼)
Re-typenewpassword:******
Addingpasswordforusercoyoo
這樣就創(chuàng)建了一個(gè)passwd文件,并且有一個(gè)用戶,即coyoo,他的密碼已被加密。這里要注意的是在開始創(chuàng)建passwd文件的時(shí)候如果事先文件不存在需要使用“-c”參數(shù),即表示初次創(chuàng)建密碼文件;之后如果要添加其他用戶則執(zhí)行相同命令但不能再帶此參數(shù),否則即新建密碼文件,密碼加密以后如下所示:
coyoo:$apr1$enD0V98v$5hW6vOa9RnTfYIFnFXxIK.將密碼文件放在版本庫根目錄下即可。
2)、版本控制工具SVN訪問權(quán)限配置
同樣在配置文件最后的location段加入:AuthzSVNAccessFile(path)/authz
文件authz跟passwd一樣屬于文本文件,可以任意編輯,該文件一般包括兩部分內(nèi)容:
一部分是以[groups]定義開始的用戶組,比如
[groups]
dev1=coyoo
dev2=tom,jacky
上面定義了兩組用戶即dev1和dev2。
另外一部分內(nèi)容是對(duì)各個(gè)路徑分配給用戶以不同的訪問權(quán)限,比如:
[\]
*=r
[\svn\svn_repository\prj1]
@dev1=rw
@dev2=r
[\svn\svn_repository\prj2]
@dev1=rw
tom=rw
jacky=r
以上對(duì)3個(gè)路徑進(jìn)行了訪問權(quán)限配置,跟路徑所有用戶有讀的權(quán)限,prj1對(duì)于dev1用戶組有讀寫權(quán)限,而對(duì)用戶組dev2只有讀權(quán)限,prj2對(duì)于用戶組dev1有讀寫權(quán)限,而對(duì)于用戶tom有讀寫權(quán)限,jacky只有讀的權(quán)限。注意關(guān)鍵字“@”代表組。
經(jīng)過權(quán)限配置后,配置文件最后一段location就如下所示:#配置虛擬目錄,表示訪問配置庫的url為:http://xxx.xxx.xxx/SVN
- <Location/svn>
- #引用遠(yuǎn)程訪問模塊,告訴Apache哪個(gè)模塊負(fù)責(zé)服務(wù)像那樣的URL
- DAVsvn
- #配置版本庫路徑
- SVNParentPathd:\svn_repository
- #驗(yàn)證方式,啟用基本的驗(yàn)證,用戶名/密碼驗(yàn)證
- AuthTypeBasic
- #項(xiàng)目的名稱,當(dāng)一個(gè)驗(yàn)證對(duì)話框彈出時(shí),告訴用戶這個(gè)驗(yàn)證是用來做什么的
- AuthName"SubversionRepository"
- #用戶身份認(rèn)證文件
- AuthUserFile"d:\svn_repository\passwd"
- #授權(quán)文件,指定authz來限定各個(gè)用戶或組在版本庫中目錄的訪問權(quán)限
- AuthzSVNAccessFile"d:\svn_repository\authz.txt"
- #只允許https方式訪問
- #SSLRequireSSL
- #所有用戶都需要身份驗(yàn)證,禁止匿名訪問
- Requirevalid-user
- #允許匿名訪問
- #SatisfyAny
- #為了讓頁面好看,Subersion自帶或者用戶自制的XSLT樣式表
- SVNIndexXSLT"\svnindex.xsl"
- #允許訪問/svn目錄
- #SVNListParentPathon
- < span>Location>
本節(jié)關(guān)于版本控制工具SVN的介紹完畢,請(qǐng)關(guān)注本節(jié)其他相關(guān)報(bào)道。
【編輯推薦】
- 版本控制工具SVN與Apache完美組合
- 版本控制SVN使用方法詳解
- 學(xué)習(xí)筆記 Windows下客戶端如何修改SVN密碼
- TortoiseSVN中文版安裝指南
- 術(shù)語匯編 SVN代碼庫簡(jiǎn)介