Apache SVN配置專家在線講堂
本節(jié)向大家介紹一下Apache SVN配置手記,SVN經(jīng)過長時(shí)間的發(fā)展,現(xiàn)在有不少用戶已經(jīng)了解SVN配置問題了,這里我發(fā)表一下個(gè)人理解,和大家討論討論Apache SVN配置,歡迎大家一起來學(xué)習(xí)。
上午進(jìn)行了Apache SVN配置,使得用http://的方式也可以訪問我的subversion服務(wù)了。
總體來說,配置比較簡單,先安裝Apachehttpserver,down了一下2.0.58的msi版本。安裝后打開安裝目錄下的/modules目錄,發(fā)現(xiàn)庫很全,特別是webdav需要的mod_dav.so在,好了,apache安裝結(jié)束。同事的2.0.54版本里/modules下面so庫沒有幾個(gè),建議他重新安裝2.0.58版。
原理如下,利用apache服務(wù)訪問svn服務(wù)器,在apache服務(wù)啟動(dòng)時(shí),加載svn啟動(dòng)庫,客戶就可以通過webdav的方式訪問了。svn啟動(dòng)時(shí)需要必須加載的庫是mod_dav_svn.so,如果需要對訪問的repository進(jìn)行用戶和目錄的權(quán)限設(shè)置,則需要mod_authz_svn.so庫。這兩個(gè)庫都在%subversion%/bin目錄下,先把這兩個(gè)文件拷入到%apache%/modules目錄下。
物理文件準(zhǔn)備完畢,修改%apache%/conf/下面的httpd.conf文件??梢钥吹?br />
#LoadModuledav_modulemodules/mod_dav.so
也就是說,apache默認(rèn)啟動(dòng)不是以webdav方式,去掉#,再下面添加如下兩行
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
現(xiàn)在apache啟動(dòng)時(shí)會加載上面三個(gè)so。
在文件末尾加上如下內(nèi)容,下面是比較簡單的配置:
<Location/repos>#"/repos"是在url上指定的訪問路徑,客戶訪問需要鍵入這個(gè)路徑。
DAVsvn#聲明svn
SVNPathE:\svn#"E:\svn"是服務(wù)器上svn的repository的目錄。
#SVNParentPathE:\svn#對于一個(gè)目錄下存在多個(gè)工程的情況,可以聲明這個(gè)變量。
#在Apache SVN配置中svn有兩種,可以混合使用,一種是apache自身的認(rèn)證機(jī)制,
#對進(jìn)入/repos目錄的用戶進(jìn)行統(tǒng)一認(rèn)證,
#一種是應(yīng)用svn的認(rèn)證,可以深入到目錄級別進(jìn)行權(quán)限控制,
#和svn獨(dú)立啟動(dòng)時(shí)設(shè)置權(quán)限一樣。
###apacheauthbegin
AuthTypeBasic
AuthName"Subversionrepository"#認(rèn)證的名字
AuthUserFileD:\svn_auth_file#D:\svn_auth_file里面存放的是使用htpasswd-mD:\svn_auth_fileuser
#生成的用戶名與密碼的加密文件。注意,Apache SVN配置時(shí)此處的路徑不能有空格。
Requirevalid-user#聲明,必須是有效的用戶才可以訪問
###apacheauthend
###svnauthbegin
AuthzSVNAccessFileD:\svn_authz#D:\svn_authz文件是根據(jù)%respository%/conf/authz的規(guī)則編寫,其實(shí)就
#是svn對用戶權(quán)限讀取的文件格式,mod_authz_svn.so要求的格式。
#SVNIndexXSLT"d:\svnindex.xsl"#d:\svnindex.xsl是用戶可以自定義的顯示模版,設(shè)計(jì)好模板,html上的顯
#會更漂亮。
#authenticationifnecessary.
SatisfyAny#字面翻譯是:都要滿足,是聲明用戶要滿足條件
Requirevalid-user#聲明,必須是有效的用戶才可以訪問
###svnauthend
</Location>
這時(shí),通過http://serverip/repos可以根據(jù)設(shè)定好的權(quán)限進(jìn)行訪問,訪問時(shí)可以看到最新的版本號,如何讓http訪問的時(shí)候也可以像cvs那樣看到更多的內(nèi)容,老的版本,比較信息呢?可以使用viewvc來做,原來viewvc支持cvs,現(xiàn)在,也已經(jīng)開始支持subversion了。
配置結(jié)束了,使用apache啟動(dòng)svn服務(wù)其實(shí)是加載了svn的庫,我們看到,此種方式下,對svn的權(quán)限設(shè)置不同于svn獨(dú)立模式的要求,用不上svn自己的配置,但配置要求都是一樣的格式,都是svn的核心認(rèn)證庫modmod_authz_svn.so在決定內(nèi)容。只是不同的啟動(dòng)方式而已。本節(jié)Apache SVN配置講解完畢。
【編輯推薦】
- Windows下Apache+SVN部署全程跟蹤
- 專家指導(dǎo):Windows2003下如何進(jìn)行Apache+SVN部署
- 深入剖析Subversion+Apache配置
- Subversion+Apache配置之完美體驗(yàn)
- 重點(diǎn)剖析:Subversion1.4.6+Apache2.2.8服務(wù)器如何搭建