視點解析:SVN-WINDOWS服務器如何架設和管理
本節主要講解一下SVN-WINDOWS服務器架設和管理,有以下幾個步驟:
1.SVN-WINDOWS服務器環境和軟件準備
操作系統:windowsXPsp2
Window-Subvsersion:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
Windows常用客戶端TortoiseSVN:http://tortoisesvn.net/downloads請下載subversion服務器軟件和客戶端,并默認安裝(可以重新啟動操作系統,以更新圖標顯示)
2.SVN-WINDOWS服務器配置管理
2.1.SVN-WINDOWS服務器創建倉庫(svnadmin)
在硬盤上創建個空目錄,作為SVN的倉庫目錄。如:E:\subversion\repository。下面使用兩種方式創建倉庫的初時文件結構和存儲方式。命令方式和TortoiseSVN客戶端方式,后面所有文檔都采用兩種方式說明,其功能完全相同。請根據實際情況選擇使用。
命令方式(DOS下):#默認方式,采用FSFS方式存儲數據,這是推薦方式,管理和遷移相對bdb方式簡單
svnadmincreateE:\subversion\repository或svnadmincreate–fs-typebdbE:\subversion\repository
2.2.SVN-WINDOWS服務器配置服務
進入倉庫目錄下的conf文件夾。也就是E:\subversion\repository\conf
里面有3個默認的配置文件:authz,passwd,svnserve.conf
svnserve.conf控制svnserve的啟動配置選項,可以配置認證和授權方式,典型的配置是設置由authz控制授權,passwd控制認證的方式來控制訪問權限。也可以使用匿名方式,但不推薦。
使用authz和passwd的典型配置:
請特別注意:以下三個配置文件的配置,每行有效配置前不能有空格,不然配置會失敗。
服務配置文件svnserve.conf……
- ###匿名方式不允許訪問
- anon-access=none……
- ###Uncommentthelinebelowtousethedefaultpasswordfile.
- ###表示訪問倉庫的認證有文件passwd提供的賬戶確定
- password-db=passwd……
- ###Uncommentthelinebelowtousethedefaultauthorizationfile.
- ###表示認證后的賬戶訪問權限由文件authz定義
- authzauthz-db=authz
- ###Thisoptionspecifiestheauthenticationrealmoftherepository.……
認證配置文件passwd
passwd文件實際提供訪問本倉庫的賬戶管理,文件格式就是ini方式的格式
[users]
harry=harryssecret
sally=sallyssecret
user=usersecret這表示本倉庫配置了二個用戶及:其中一個用戶harry,他的訪問密碼是harryssecret。訪問密碼可以使用明文,也可以使用htpasswd.exe(apache服務器提供的工具方法,安裝apache服務器后,在其bin目錄中有該程序文件)進行加密處理。下面看一下SVN-WINDOWS服務器架設和管理授權配置文件。
授權配置文件authz
該文件負責認證后的用戶的權限控制,配置稍微復雜,但其實也就是個ini配置文件而已。
典型配置:#groups段提供配置組的功能,但組成員必須是passwd文件中定義的用戶才有效。可以對組
#進行權限控制,所有組成員具有組對應的訪問權限。
[groups]
#表示定義了一個管理組叫admin_group,包括harry和sally,admin_group前千萬不能有空格
admin_group=harry,sally
#下面就是定義具體倉庫下目錄的訪問權限
#一般對管理員來說都具有整個倉庫的讀寫權限,一般人員對整個敞開具有讀取權限,下面
#就是這樣的配置,[/]表示整個倉庫的根,組的引用使用@,對應的權限可以是r,w,rw或空[/]
@admin_group=rw,*=r以上的配置完成后,我嗎就可以啟動服務器了,下面說明服務器的啟動。注意,以上authz和passwd文件在管理中因為具體項目的加入和人員的變動會經常的修改,這也是SVN管理主要的工作
2.3.SVN-WINDOWS服務器啟動服務(svnserve)
Svn服務器一般有三種方式,svnserve,apache和SSH。其中常用的有svnserve和apache方式。本文只以svnserve方式講解。總的來說svnserve是***效的方式,一般應用于內部開發網中使用。Apache方式因為可以很好的部署在internet上,所以公網使用最方便,但配置稍微相對復雜點點,呵呵~~。三種方式具體的優缺點,請參考本文后面的參考文檔。
命令方式(DOS下):svnserve–d–rE:\subversion\repository
-d參數是以獨立服務的方式啟動,-r是制訂要加載的倉庫的物理路徑。
【編輯推薦】