前言
上一篇文章《Spring+SpringMVC+MyBatis+easyUI整合基礎篇(十)SVN搭建》簡單的講了一下SVN伺服器的搭建,並沒有詳細的介紹配置檔案及一些複雜的功能,所以本文算是對上一篇文章的補充。
專案實際效果展示在這裡,賬密:admin 123456
下載地址,點這裡
github地址,在這裡
配置檔案詳解
svnserve.conf
svn服務配置檔案,做許可權配置及基本的關聯設定
[general]
anon-access = none #非授權使用者無法訪問
auth-access = write #授權使用者有讀寫許可權(設定為read時為只讀)
password-db = passwd #密碼資料檔案(此時為當前conf目錄下的passwd檔案,也可以設定為絕對路徑,如'/opt/svnconf/passwd')
authz-db = authz #許可權設定檔案(此時為當前conf目錄下的authz檔案,也可以設定為絕對路徑,如'/opt/svnconf/authz',如果未指定路徑,則無訪問控制)
# 這兩個選項用來指定加密強度的(自行設定)
# min-encryption = 0
# max-encryption = 256
passwd
用來設定使用者名稱和密碼的,格式為 使用者名稱 = 密碼
[users]
ssm1 = 123456(使用者名稱ssm1密碼為123456)
ssm2 = 567890
authz
使用者許可權配置
[ssm-demo:/] #表示ssm-demo倉庫下的所有檔案
ssm1 = rw #ssm1使用者具有讀寫許可權
ssm2 = r #ssm2使用者具有讀許可權
[ssm-demo:/code/trunk/aaa] #表示ssm-demo倉庫下的/code/trunk/aaa目錄
ssm1 = r #ssm1使用者具有讀許可權
ssm2 = r #ssm2使用者具有讀許可權
許可權設定
上面只是對authz檔案做了簡單的介紹及簡單的使用者許可權配置,還有複雜的許可權設定需要注意,比如有管理組admin及開發組A和開發組B,對應的開發專案為qq和weixin,這三組人員對應的專案許可權肯定不一樣,設定如下:
首先在passwd檔案中設定全部人員
[users]
zhao = 123456(使用者名稱ssm1密碼為123456)
qian = 123456
sun = 567890
li = 123456
zhou = 123456
wu = 567890
zheng = 567890
然後在authz檔案中設定許可權
[group] #設定分組(使用者zheng未分組)
admin = zhao,qian #管理員zhao和qian
group_a = sun,li #A開發組sun和li
group_b = zhou,wu #B開發組zhou和wu
[qq:/] #表示qq專案倉庫下的所有檔案
@group_a = rw #開發組A有讀寫許可權
@admin=rw #admin有讀寫許可權
* = #其他使用者無許可權(此時的其他使用者就包括未分組的zheng及已經分組的group_b組中所有成員)
[weixin:/] #表示weixin專案倉庫下的所有檔案
@group_b = rw #開發組A有讀寫許可權
@admin=rw #admin有讀寫許可權
* = #其他使用者無許可權(此時的其他使用者就包括未分組的zheng及已經分組的group_a組中所有成員)
補充
比如,qq專案下又有qq空間和qq郵箱,對這兩個目錄再進行許可權分配
[group] #分組
admin = zhao,qian #管理員zhao和qian
group_a = sun,li #A開發組sun和li
group_b = zhou,wu #B開發組zhou和wu
g_a_zone = ma #新增qq空間組及成員ma
g_a_mail = zhang #新增qq郵箱組及成員zhang
[qq:/zone] #表示qq專案的qq空間目錄
@g_a_zone = rw #開發組g_a_zone有讀寫許可權
@admin=rw #admin有讀寫許可權
@group_a = rw #開發組A有讀寫許可權
* = #其他使用者無許可權
[qq:/mail] #表示qq專案的mail空間目錄
@g_a_mail = rw #開發組g_a_mail有讀寫許可權
@admin=rw #admin有讀寫許可權
@group_b = rw #開發組A有讀寫許可權
* = #其他使用者無許可權
使用者某個目錄的許可權是向子目錄遞迴的。
多版本庫
如果想兩個專案分別進行開發,且擁有獨立的開發人員,可以建立多個版本倉庫,伺服器中已經有ssm-demo倉庫,我們再新建一個ssm-maven倉庫。命令如下:
mkdir /opt/svn/ssm-maven
svnadmin create /opt/svn/ssm-maven
分別設定ssm-maven目錄conf配置資料夾下的配置檔案,重啟svn服務即可,此時就有兩個倉庫了。
刪除版本庫
rm -rf ssm-demo #謹慎使用 rm -rf 命令
有問題可以留言。