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