目錄
3.當然要想使用多庫SVN,在創建版本庫的時候要創建的藝術一點
一、單庫SVN安裝
1.準備
(1)大多數 GNU/Linux 發行版系統自帶了Subversion ,所以它很有可能已經安裝在你的系統上了。可以使用下面命令檢查是否安裝了。
svn --version
(2)如果 Subversion 客戶端沒有安裝,命令將報告svn命令找不到的錯誤。
[runoob@centos6 ~]$ 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 = admin@tydic
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
https://tortoisesvn.net/downloads.html
2.安裝,點點點就行了
3.漢化
下載漢化包,點點點
4.使用客戶端
在桌面右擊,點開版本庫瀏覽器,輸入URL,使用用戶名和密碼即可登錄使用