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