經(jīng)驗(yàn)總結(jié):詳解Linux下Subversion的安裝配置記錄 下
上節(jié)介紹額Linux下Subversion的安裝問(wèn)題,本節(jié)介紹Linux下Subversion配置問(wèn)題,你可以和Windows下Subversion的安裝配置做一個(gè)對(duì)比,你就會(huì)發(fā)現(xiàn)在這兩種操作系統(tǒng)中Subversion的不同運(yùn)行機(jī)制。
第二章配置
本系統(tǒng)采用為每個(gè)項(xiàng)目單獨(dú)建一版本庫(kù)的策略。配置文件,密碼文件,訪(fǎng)問(wèn)控制文件等都放在版本庫(kù)的conf目錄下。所以每次開(kāi)始一個(gè)新項(xiàng)目都必須新建一個(gè)版本庫(kù),并重新配置各配置文件。還有很重要的一條,要求各組員重新配置客戶(hù)端,包括服務(wù)器版本庫(kù)路徑,本地路徑等信息。
1.建立版本庫(kù)目錄(可建立多個(gè),新建庫(kù)后以下各項(xiàng)都需重新配置。注意區(qū)別安裝目錄與版本庫(kù)目錄,以下講的都是版本庫(kù)目錄)
mkdir–p/opt/svndata/repos
2.建立svn版本庫(kù)(與上面目錄對(duì)應(yīng))
svnadmincreate/opt/svndata/repos
執(zhí)行此命令后svn自動(dòng)在repos目錄下添加必須的配置文件.
注意:版本庫(kù)不同于一般的文件夾,直接在操作系統(tǒng)上新建文件無(wú)法被SVN識(shí)別,必須使用import等命令將文件導(dǎo)入版本庫(kù).
此為svn內(nèi)部指令,create用于新建版本庫(kù)。請(qǐng)使用svnhelp查看詳細(xì)說(shuō)明。
3.修改版本庫(kù)Subversion配置文件
vi/opt/svndata/repos/conf/svnserve.conf
各參數(shù)功能在配置文件的注釋中有說(shuō)明,此處配置如下:
[general]
anon-access=none#使非授權(quán)用戶(hù)無(wú)法訪(fǎng)問(wèn)
auth-access=write#使授權(quán)用戶(hù)有寫(xiě)權(quán)限
password-db=/opt/svndata/repos/conf/pwd.conf#指明密碼文件路徑
authz-db=/opt/svndata/repos/conf/authz.conf#訪(fǎng)問(wèn)控制文件
realm=/opt/svndata/repos#認(rèn)證命名空間,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字。
其它采用默認(rèn)配置.各語(yǔ)句都必須頂格寫(xiě),左側(cè)不能留空格,否則會(huì)出錯(cuò).
其中pwd.conf與authz.conf在新建版本庫(kù)時(shí)系統(tǒng)不會(huì)自動(dòng)創(chuàng)建,需要自己創(chuàng)建。
指令簡(jiǎn)介:這是svn配置文件的格式,請(qǐng)按照以上格式書(shū)寫(xiě)。
4.Subversion配置用戶(hù)
vi/opt/svndata/repos/conf/pwd.conf
輸入以下內(nèi)容:
[users]
username1=password1
username2=password2
可以添加多個(gè),此為用戶(hù)名密碼對(duì)。#p#
5.Subversion配置權(quán)限
vi/opt/svndata/repos/conf/authz.conf
指令簡(jiǎn)介:此配置文件采用“基于路徑的授權(quán)”策略,中括號(hào)里指定路徑,以下列出對(duì)各用戶(hù)的授權(quán)。包括只讀r,讀寫(xiě)rw。沒(méi)有列出的用戶(hù),則不允許訪(fǎng)問(wèn)。還可以對(duì)用戶(hù)分組,具體請(qǐng)參考svn手冊(cè),以下是簡(jiǎn)單例子:
[/opt/svndata/repos]
user1=rw
user2=r
6.使用import導(dǎo)入文件
新建好的版本庫(kù)是空的,需要導(dǎo)入工作目錄。
$svnadmincreate/usr/local/svn/newrepos
$svnimportmytreefile:///usr/local/svn/newrepos/some/project
但是在導(dǎo)入后,用來(lái)的目錄樹(shù)并沒(méi)有轉(zhuǎn)換成工作拷貝,為了開(kāi)始工作,還是需要運(yùn)行svncheckout導(dǎo)出一個(gè)工作拷貝。因?yàn)閷?dǎo)入后,文件在版本庫(kù)中是以特殊的形式存在db文件夾中的,不能以明文的方式查看。必須使用svncheckout導(dǎo)出工作副本才能以正常方式查看。
7.啟動(dòng)服務(wù)
執(zhí)行svnserve–d–r/opt/svndata/repos/啟動(dòng)服務(wù),以deamon方式運(yùn)行。
本系統(tǒng)采用svnserve方式,這是小團(tuán)隊(duì)項(xiàng)目的推薦方法.這種方法維護(hù)最少,配置最簡(jiǎn)單.
指令簡(jiǎn)介:此指令用于啟動(dòng)svn服務(wù),-d指明以守護(hù)模式運(yùn)行,svn自動(dòng)在3690端口監(jiān)聽(tīng)。3690是默認(rèn)端口,可以使用“--listen-port=”或者“--listen-host=”來(lái)指定其它端口。-r選項(xiàng)用來(lái)指定svn服務(wù)的根目錄,這樣用戶(hù)就可以使用相對(duì)路徑訪(fǎng)問(wèn),而不用提供完整路徑。使用以下命令檢出:(svnserver方式)svncheckoutsvn://127.0.0.1/dir
以上為示例。IP需要根據(jù)具體情況調(diào)整,dir為版本庫(kù)路徑,若在啟動(dòng)時(shí)已指定則可省略。版本庫(kù)信息在版本庫(kù)文件夾里,所以要?jiǎng)h除版本庫(kù)只需要?jiǎng)h除版本庫(kù)所在的文件夾即可。
另外工作副本只是自己維護(hù)的文件夾,可以用Windows直接刪掉,對(duì)別人沒(méi)有影響。千萬(wàn)不要使用版本庫(kù)的刪除命令,否則版本庫(kù)里的內(nèi)容也會(huì)被刪除。本節(jié)Linux下Subversion配置問(wèn)題介紹完畢。
【編輯推薦】