1. 程式人生 > >subversion部署配置

subversion部署配置

svn subversion

在日常工作中subversion—SVN是一個極為常見且比較重要的一個軟件,它可以實現文件的版本控制使得多人可以共同協作的一個工具,在Linux的系統中一般情款下都會有集成安裝,當然有的時候沒有裝也可以通過配置好的yum源來快速安裝部署,在此就簡單的說一下。

[[email protected] ~]# yum -y install subversion
[[email protected] ~]# svnserve --version

這樣subversion就安裝完了,並且在查看版本時我們得知subversion版本和2種存儲模式,分別是:fs_base和fs_fs,在這2中模式中各有優缺點,在官方給出的說明中有一個表格,如下:

特性Berkeley DBFSFS
對操作中斷的敏感很敏感;系統崩潰或者權限問題會導致數據庫“塞住”,需要定期進行恢復。不 敏感
可只讀加載不能可 以
存儲平臺無關不能可 以
可從網絡文件系統訪問不能可 以
版本庫大小稍大稍 小
擴展性:修訂版本樹數量無限 制某些本地文件系統在處理單一目錄包含上千個條目時會出現問題。
擴展性:文件較多的目錄較慢較慢
檢出最新代碼的速度較快可以
大量提交的速度較慢,但時間被分配在整個提交操作中較 快,但最後較長的延時可能會導致客戶端操作超時
組 訪問權處理對於用戶的 umask 設置十分敏感,最好只由一個用戶訪問。對 umask 設置不敏感
功能成熟時間2001 年2004 年

在安裝好後,此時就需要新建一個文件夾用於存放SVN的版本數據,然後指定創建SVN的版本庫及使用的存儲模式,當然如果沒有指定默認都是使用fs_fs模式

[[email protected] ~]# mkdir /data/svndata/
[[email protected] ~]# svnadmin create /data/svndata/
#或者svnadmin create --fs-type fsfs /data/svndata/,如果要使用fs_base,就svnadmin create --fs-type bdb /data/svndata/

在創建完成後就會在/data/svndata文件夾中生成相應的庫及配置文件、文件夾,其中conf文件夾中有3個文件authz、passwd、svnserve.conf,其中authz目錄權限控制文件,passwd是明文用戶密碼配置文件,svnserve.conf是SVN的設置配置文件。

在svnserve.conf配置文件中先要把以下幾行的註釋去掉,編輯修改

anon-access=none
#匿名訪問的權限,可以是read,write,none,默認為read 
auth-access=write
#使授權用戶有寫權限 
password-db=passwd
#密碼數據庫的路徑 
authz-db=authz
#訪問控制文件 
realm=/data/svndata/
#認證命名空間,subversion會在認證提示裏顯示,並且作為憑證緩存的關鍵字

啟動就用svnserve中使用-d參數用demon啟動,-r參數指定路徑的啟動就好,參數如下:

[[email protected] ~]# svnserve -d -r /data/svndata/

SVN默認監聽端口是tcp的3690端口,在開啟後要註意開啟防火墻。如果是在svnserve.conf配置文件中有開啟,當然如果沒有使用sasl的話密碼都是明文在passwd文件中的,如果是啟用就可以根據實際把配置文件放在sql數據庫中或者是其它加密文件中,當然在此就不做過多的說明,就以明文密碼為例,其中authz的配置如下:

[groups]
harry_and_sally = harry,sally
#harry_and_sally組
[/foo]
harry = rw
#harry在版本庫的/foo整個目錄下可讀可寫
* = r
#/foo目錄下整個都有用戶可讀
[/boo]
sally = r
#sally在/boo目錄下整個可讀
[/coo]
@harry_and_sally = rw
#harry_and_sally用戶組在/coo目錄下整個可讀可寫

這些配置文件在改好保存後立即生效,不需要重啟SVN,平時訪問svn時可以安裝好SVN的客戶端工具後URL用SVN://IP或域名來訪問。

本文出自 “技術隨筆” 博客,謝絕轉載!

subversion部署配置