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