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