1. 程式人生 > >SVN 安裝與使用詳解

SVN 安裝與使用詳解

目錄

1.準備

2.安裝

3.漢化

一、單庫SVN安裝

1.準備

(1)大多數 GNU/Linux 發行版系統自帶了Subversion ,所以它很有可能已經安裝在你的系統上了。可以使用下面命令檢查是否安裝了。

svn --version

(2)如果 Subversion 客戶端沒有安裝,命令將報告svn命令找不到的錯誤。

[[email protected] ~]$ svn --version bash: svn: command not found

2.安裝

(1)我們可以使用 yum install subversion 命令進行安裝。

yum install subversion -y

(2)安裝成功之後,執行 svn --version 命令。

svn --version

3.啟動與配置

由於-r 配置方式的不一樣,SVN啟動就可以有兩種不同的訪問和配置方式:單庫SVNserve方式或多庫svnserve方式

此著重講解單庫svnserve方式:

(1)手動新建版本庫目錄

mkdir /app/svn

(2)利用svn命令建立版本庫

svnadmin create /app/svn/

(3)檢視版本庫目錄

[[email protected] ~]# ll /app/svn

drwxr-xr-x 2 admin admin 4096 Sep 28 16:58 conf

drwxr-sr-x 6 admin admin 4096 Sep 29 14:38 db

-r--r--r-- 1 admin admin 2 Sep 6 14:33 format

drwxr-xr-x 2 admin admin 4096 Sep 6 14:33 hooks

drwxr-xr-x 2 admin admin 4096 Sep 6 14:33 locks

-rw-r--r-- 1 admin admin 229 Sep 6 14:33 README.txt

(4)配置 conf/svnserve.conf

svn服務配置檔案為版本庫目錄中的檔案conf/svnserve.conf。該檔案僅由一個[general]配置段組成。

vim /conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /app/svn/conf/passwd

authz-db = /app/svn/conf/authz

realm = tydic

(5)配置 conf/passwd

使用者名稱口令檔案由svnserve.conf的配置項password-db指定,預設為conf目錄中的passwd。該檔案僅由一個[users]配置段組成

[users]

#使用者名稱=密碼

admin = [email protected]

wangxin = 111

li=222222

wan=33333

tawe=4444444

(6)配置 conf/authz

許可權配置檔案由svnserve.conf的配置項authz-db指定,預設為conf目錄中的authz。該配置檔案由一個[groups]配置段和若干個版本庫路徑許可權段組成。

[groups]

tydic=wangxin,wan,li 
[/]

admin=rw * = r

[/總部業務線]

admin=rw

@tydic=rw

*=

(7)使用svnserve 啟動服務

svnserve -d -r /app/svn --listen-port 3690

-r: 配置方式決定了版本庫訪問方式。

--listen-port: 指定SVN監聽埠,不加此引數,SVN預設監聽3690

(8)通過客戶端tortoiseSVN訪問URL

svn://10.124.164.162:3690/

二、多庫svnserve與單庫SVNserve 不同

1.單庫SVNserve:-r直接指定到版本庫

svnserve -d -r /app/svn/db1

在這種情況下,一個svnserve只能為一個版本庫工作。

authz配置檔案中對版本庫許可權的配置應這樣寫:  

[groups]

admin=wangxin

dev=zhangqi

[/]

@admin=rw

@dev=r

使用類似這樣的URL:svn://*.*.*.*/ 即可訪問db1版本庫.

2.多庫SVNserve:指定到版本庫的上級目錄

svnserve -d -r /opt/svn

這種情況,一個svnserve可以為多個版本庫工作

authz配置檔案中對版本庫許可權的配置應這樣寫:

[groups]

admin=wangxin

dev=zhangqi

[db1:/]

@admin=rw

@dev=r

[db2:/]

@admin=rw

@dev=r

#如果此時你還用[/],則表示所有庫的根目錄,同理,[/src]表示所有庫的根目錄下的src目錄。

使用類似這樣的URL:svn://*.*.*.*/db1 即可訪問db1版本庫。

3.當然要想使用多庫SVN,在建立版本庫的時候要建立的藝術一點

有步驟1,和步驟2 的前提是:(這和SVN單庫安裝並不一樣)

svnadmin create /app/svn/db1

svnadmin create /app/svn/db2

4.多庫可以使用同一個 passwd 和 auth

通過版本庫的 svnserve.conf 配置(須為絕對路徑)

password-db = /app/svn/passwd

authz-db = /app/svn/authz

三、配置檔案解析

1.svnserve.conf

  • anon-access: 控制非鑑權使用者訪問版本庫的許可權,取值範圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問許可權。 預設值:read
  • auth-access: 控制鑑權使用者訪問版本庫的許可權。取值範圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問許可權。 預設值:write
  • authz-db: 指定許可權配置檔名,通過該檔案可以實現以路徑為基礎的訪問控制。 除非指定絕對路徑,否則檔案位置為相對conf目錄的相對路徑。 預設值:authz
  • realm: 指定版本庫的認證域,即在登入時提示的認證域名稱。若兩個版本庫的 認證域相同,建議使用相同的使用者名稱口令資料檔案。 預設值:一個UUID(Universal Unique IDentifier,全域性唯一標示)。

2.passwd

#使用者名稱=密碼

3.authz

(1)許可權具備繼承性:子目錄會自動擁有父目錄的許可權

(2)*= : 代表除上述使用者和組外,其他使用者對該目錄無讀寫許可權

(3)*=r :代表除上述使用者和組外,其他使用者對該目錄只有讀許可權

(4)無*先後順序 一說:也就是說,如果我將本段配置的 ``* =`` 這一行挪到最前面,完全不影響整個配置的最終效果。

四、使用svn客戶端通過svn協議訪問URL

1.下載tortoiseSVN

2.安裝,點點點就行了

3.漢化

下載漢化包,點點點

標題

4.使用客戶端

在桌面右擊,點開版本庫瀏覽器,輸入URL,使用使用者名稱和密碼即可登入使用