軟件版本:subversion1.2.3
apache-server 2.0.55
時(shí)間:2006-01-26
Author:Kino
***************************************
安裝到Apache
Subversion作為CVS的次代作品,Kerl真的是煞費苦心啊?,F在我們就來(lái)看看如何配置它到ApacheServer。
Subversion本身有一個(gè)自帶的小server就是bin下的cvsserve ,通過(guò)svn://XXXX進(jìn)行訪(fǎng)問(wèn)。同時(shí)支持ssh配置。但是弱點(diǎn)就是這個(gè)server對于權限和用戶(hù)管理很弱,對于大型項目,必須將他掛在A(yíng)pacheServer這樣的重磅薩巴上。
[svnserve的用戶(hù)文件需要修改conf下的2個(gè)文件,自己看看,很簡(jiǎn)單都有注釋的,這里不說(shuō)了]
你應該得到subversion的二進(jìn)制安裝版,比較穩定的是1.2.3版本,這個(gè)版本對于apacheserver最低的版本要求是2.0.45 所以我們可以去apache官方站點(diǎn)下載2.0.55版本(最新已經(jīng)是2.5了吧)。分別安裝2個(gè)軟件。
ok,軟件環(huán)境好了,那就來(lái)連接他們吧。
數據庫連接:
(如果你懶得改,那么安裝軟件的時(shí)候就一定要先安裝ApacheServer,Subversion安裝的時(shí)候會(huì )自動(dòng)修改)
subversion可以被看作是一個(gè)特殊的數據庫(事實(shí)上也就是,呵呵FSFS 和伯克利DB)。那么就需要讓Apache能夠訪(fǎng)問(wèn)subversion的數據庫,這就用到了module概念,我們便來(lái)修改httpd.conf文件。
1。打開(kāi)Apache自帶的DAVmodule:去掉“LoadModule dav_module modules/mod_dav.so”前的#
2。追加訪(fǎng)問(wèn)subversion用的module:(subversion安裝目錄bin下自帶有這2個(gè)modules)
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
權限設置:
比較麻煩的東西來(lái)了。我們需要配置3個(gè)東西:
1。在httpd.conf中追加<Location > 。例子如下:
#配置subversion用戶(hù)權限
<Location /mysvn>
DAV svn
# http中輸入 "/mysvn/Parser" URL will map to a repository F:/SVN/repository/Parser
SVNParentPath F:/SVN/repository/
#聲明 accessfilepolicy 文件,目的是確認Group分類(lèi)和目錄的訪(fǎng)問(wèn)權限
AuthzSVNAccessFile F:/SVN/commonconf/accessfilepolicy
# only authenticated users may access the repository
# Require valid-user
# For any operations other than these, require an authenticated user.
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
# 聲明userauthofapachedav文件,其內容是各個(gè)用戶(hù)的md5密碼
AuthType Basic
AuthName "HFSVB AuthName"
AuthUserFile F:/SVN/commonconf/userauthofapachedav
</Location>
2。accessfilepolicy 文件(放在項目的conf目錄下,也可隨意) 如下:
#this file communicate with httpd file‘s Location Tag ,per file per Tag
#like svnserve.conf here section is [repos-name:path] or [path]
#if you use SVNParentPath in httpd.conf then here you MUST use repository name
#if you use SVNPath ,no problem
#r read w write
#don‘t have any right to parser:/src/ of user guest
#[repository名字:path]
#[parser:/src/]
#guest =
[groups]
administrator = admin
developer = tester
everyone = admin, tester
#default no one has right to repos,so use * to everyone
[parser:/] #根目錄下所有的文件和目錄,又繼承關(guān)系
* = r #默認的所有人都有 讀權限
@developer = rw #這就表明只有developer(tester)才有讀寫(xiě)權限
[ 具體的文件和內容可查閱 Orilly的《使用Subversion進(jìn)行版本控制》
訪(fǎng)問(wèn) http://www.subversion.org.cn/svnbook/1.1/index.html ]
3。userauthofapachedav文件
admin:$apr1$A45.....$WQ0RCK61I/PO4gSKt.kK60
這個(gè)文件是如何生成的呢,使用apache 的bin目錄下的htpasswd.exe。用法可以參照 --help的幫助。
這里給一個(gè)例子吧
>htpasswd -cm C:/userauthofapachedav admin
>input password:admin123
>again : admin123
具體的英文忘了。呵呵不過(guò)很簡(jiǎn)單的。
好了,就這么簡(jiǎn)單。祝大家開(kāi)心。這只是入門(mén)。具體的操作還要靠各位自己去感受。
關(guān)于如何設置subversion的項目庫,上邊提到的orilly的書(shū)就有記載。
聯(lián)系客服