subversion部署配置
在日常工作中subversion—SVN是一個極為常見且比較重要的一個軟件,它可以實現文件的版本控制使得多人可以共同協作的一個工具,在Linux的系統中一般情款下都會有集成安裝,當然有的時候沒有裝也可以通過配置好的yum源來快速安裝部署,在此就簡單的說一下。
[[email protected] ~]# yum -y install subversion [[email protected] ~]# svnserve --version
這樣subversion就安裝完了,並且在查看版本時我們得知subversion版本和2種存儲模式,分別是:fs_base和fs_fs,在這2中模式中各有優缺點,在官方給出的說明中有一個表格,如下:
特性 | Berkeley DB | FSFS |
---|---|---|
對操作中斷的敏感 | 很敏感;系統崩潰或者權限問題會導致數據庫“塞住”,需要定期進行恢復。 | 不 敏感 |
可只讀加載 | 不能 | 可 以 |
存儲平臺無關 | 不能 | 可 以 |
可從網絡文件系統訪問 | 不能 | 可 以 |
版本庫大小 | 稍大 | 稍 小 |
擴展性:修訂版本樹數量 | 無限 制 | 某些本地文件系統在處理單一目錄包含上千個條目時會出現問題。 |
擴展性:文件較多的目錄 | 較慢 | 較慢 |
檢出最新代碼的速度 | 較快 | 可以 |
大量提交的速度 | 較慢,但時間被分配在整個提交操作中 | 較 快,但最後較長的延時可能會導致客戶端操作超時 |
組 訪問權處理 | 對於用戶的 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部署配置