一、環(huán)境準(zhǔn)備 操作系統(tǒng):windows 2003 Window-Subvsersion服務(wù)端 :http://subversion.apache.org/packages.html Windows 常用客戶端 TortoiseSVN :http://tortoisesvn.net/downloads.html?里面也有中文漢化包下載 二、安裝配置服務(wù)端 1、下載 subversion 服務(wù)器軟件和客戶端,并默認(rèn)安裝(可以重新啟動(dòng)操作系統(tǒng))。 2、 創(chuàng)建倉(cāng)庫(kù) (svnadmin) 在硬盤(pán)上創(chuàng)建個(gè)空目錄,作為 SVN 的倉(cāng)庫(kù)目錄。如: E:/svnroot/repository 。 下面使用兩種方式創(chuàng)建倉(cāng)庫(kù)的初時(shí)文件結(jié)構(gòu)和存儲(chǔ)方式。命令方式和 TortoiseSVN 客戶端方式,后面所有文檔都采用兩種方式說(shuō)明,其功能完全相同。請(qǐng)根據(jù)實(shí)際情況選擇使用。 命令方式( DOS 下): # 默認(rèn)方式,采用 FSFS 方式存儲(chǔ)數(shù)據(jù),這是推薦方式,管理和遷移相對(duì) bdb 方式簡(jiǎn)單 svnadmin create E:/svnroot/repository 或 svnadmin create –fs-type bdb E:/svnroot/repository 上為bdb的文件系統(tǒng)方式, 一般默認(rèn)是native的FS即 NTFS 進(jìn)入倉(cāng)庫(kù)目錄下的 conf 文件夾。也就是 E:/svnroot/repository/conf 里面有 3 個(gè)默認(rèn)的配置文件: authz , passwd , svnserve.conf svnserve.conf 控制 svnserve 的啟動(dòng)配置選項(xiàng),可以配置認(rèn)證和授權(quán)方式,典型的配置是設(shè)置由 authz 控制授權(quán), passwd 控制認(rèn)證的方式來(lái)控制訪問(wèn)權(quán)限。也可以使用匿名方式,但不推薦。 使用 authz 和 passwd 的典型配置: 請(qǐng)?zhí)貏e注意:以下三個(gè)配置文件的配置,每行有效配置前不能有空格,不然配置會(huì)失敗。 服務(wù)配置文件 svnserve.conf …… ### 匿名方式不允許訪問(wèn) anon-access = none …… ### Uncomment the line below to use the default password file. ### 表示訪問(wèn)倉(cāng)庫(kù)的認(rèn)證有文件 passwd 提供的賬戶確定 password-db = passwd …… ### Uncomment the line below to use the default authorization file. ### 表示認(rèn)證后的賬戶訪問(wèn)權(quán)限由文件 authz 定義 authz-db = authz ### This option specifies the authentication realm of the repository. …… #realm = My First Repository 認(rèn)證配置文件 passwd passwd 文件實(shí)際提供訪問(wèn)本倉(cāng)庫(kù)的賬戶管理,文件格式就是 ini 方式的格式 [users] # harry = harryssecret # sally = sallyssecret testuser1=testuser1 testuser2=testuser2 這表示本倉(cāng)庫(kù)配置了二個(gè)用戶及:其中一個(gè)用戶 testuser1, 他的訪問(wèn)密碼是 testuser1。 訪問(wèn)密碼可以使用明文,也可以使用 htpasswd.exe ( apache 服務(wù)器提供的工具方法,安裝 apache 服務(wù)器后,在其 bin 目錄中有該程序文件)進(jìn)行加密處理。 授權(quán)配置文件 authz 該文件負(fù)責(zé)認(rèn)證后的用戶的權(quán)限控制,配置稍微復(fù)雜,但其實(shí)也就是個(gè) ini 配置文件而已。 典型配置: # groups 段提供配置組的功能 , 但組成員必須是 passwd 文件中定義的用戶才有效??梢詫?duì)組 # 進(jìn)行權(quán)限控制,所有組成員具有組對(duì)應(yīng)的訪問(wèn)權(quán)限。 [groups] # 表示定義了一個(gè)管理組叫 admin_group, 包括 harry 和 sally , admin_group 前千萬(wàn)不能有空格 admin_group=testuser1 dev_group=testuser2 # 下面就是定義具體倉(cāng)庫(kù)下目錄的訪問(wèn)權(quán)限 # 一般對(duì)管理員來(lái)說(shuō)都具有整個(gè)倉(cāng)庫(kù)的讀寫(xiě)權(quán)限,一般人員對(duì)整個(gè)敞開(kāi)具有讀取權(quán)限,下面 # 就是這樣的配置 ,[/] 表示整個(gè)倉(cāng)庫(kù)的根,組的引用使用 @ ,對(duì)應(yīng)的權(quán)限可以是 r,w,rw 或空 [/] @admin_group = rw @dev_group = rw * = r [/test_project] @admin_group = rw @dev_group = rw * = r [repository:/] @admin_group = rw @dev_group = rw * = r 以上的配置完成后,就可以啟動(dòng)服務(wù)器了,下面說(shuō)明服務(wù)器的啟動(dòng)。 注意,以上 authz 和 passwd 文件在管理中因?yàn)榫唧w項(xiàng)目的加入和人員的變動(dòng)會(huì)經(jīng)常的修改,這也是 SVN 管理主要的工作 啟動(dòng)服務(wù) (svnserve) Svn 服務(wù)器一般有三種方式, svnserve , apache 和 SSH 。 其中常用的有 svnserve 和 apache 方式。本文只以 svnserve 方式講解。總的來(lái)說(shuō) svnserve 是最高效的方式,一般應(yīng)用于內(nèi)部開(kāi)發(fā)網(wǎng)中使用。 Apache 方式因?yàn)榭梢院芎玫牟渴鹪?internet 上,所以公網(wǎng)使用最方便,但配置稍微相對(duì)復(fù)雜點(diǎn)點(diǎn),呵呵~~。三種方式具體的優(yōu)缺點(diǎn),請(qǐng)參考本文后面的參考文檔。 命令方式( DOS 下): svnserve –d –r E:/svnroot/repository svnserve –d –r "E:/svnroot/repository" -d 參數(shù)是以獨(dú)立服務(wù)的方式啟動(dòng) -r 是制訂要加載的倉(cāng)庫(kù)的物理路徑 三、TortoiseSVN 客戶端 客戶端這里不詳細(xì)說(shuō)明。
發(fā)表評(píng)論