部署svn服務器

centos版本

#檢查是否安裝了低版本的SVN
rpm -qa subversion
#卸載舊版本SVN
yum remove subversion

安裝
yum -y install subversion


判斷是否安裝成功
subversion -v 或者 svnserve --version


建立庫文件目錄
mkdir -p /opt/svn/repository
svnadmin create /opt/svn/repository
repository爲倉庫目錄,可自定義其他名稱。
自動在repository下建立多個文件, 分別是conf, db,format,hooks, locks, README.txt。

conf下,進行配置,   有以下幾個文件authz, passwd,svnserve.conf
其中authz 是權限控制,可以設置哪些用戶可以訪問哪些目錄,   passwd是設置用戶和密碼的,    svnserve.conf是設置svn相關的操作。


安裝完成,開始配置

設置passwd
vi passwd文件
[users]
例子
aaa = 123456
bbb = 123456
用戶名=密碼

建立用戶,一般是明文的,可以使用命令建立密文的
htpasswd -cm /opt/svn/repository/config/passwd name 慎用
密文的慎用,而且會有問題。建議使用vi編輯明文

設置權限authz
在設置權限中有兩種寫法
[repository:/]   這個名稱與 /opt/svn/repository 的最後一個目錄repository名稱相同。
[/]

例如
[/]
@g_vip = rw
@g_admin = rw
* =
或者
[repository:/]
@g_vip = rw
@g_admin = rw
* =
兩種含義相同,但是啓動命令會不同
如果使用了[/]
用svnserve -d -r /opt/svn/repository 啓動
如果用了[repository:/]
用svnserve -d -r /opt/svn 啓動。
建議使用[/],比較直觀清晰,而且repository名稱出現變更也好維護

例子中
[/]
@g_vip = rw
@g_admin = rw
* =
以*爲鍵值意味着對任何人都進行權限控制。
上級目錄的權限默認繼承到下級目錄,但是,如果在下級目錄使用這個註釋,可以限制繼承關係。
r代表讀權限,w代表寫權限,空的代表沒有權限

設置svnserve.conf
anon-access = none # 使非授權用戶無法訪問
auth-access = write # 使授權用戶有寫權限
password-db = /opt/svn/repository/config/password
authz-db = /opt/svn/repository/config/authz   # 訪問控制文件
realm = /opt/svn/repository # 認證命名空間,subversion會在認證提示裏顯示,並且作爲憑證緩存的關鍵字。
採用默認配置. 以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.
默認,passwd和authz文件在conf目錄中,但是可以自己隨便定義文件及其目錄,只要再此處設置password-db、authz-db即可。

啓動
svnserve -d -r /opt/svn/repository
-r /svndata指定根目錄是/svndata
svnserve -d -r /opt/svn/repository --listen-port 10000 -- 換個端口,通過端口可以啓動多個svn實例。


啓動後連接地址  svn://your server address(如果使用了--listen-port 10000 ,指定了端口,需要添加端口   svn://your server address:10000)



設置authz,可以採用分組模式
[groups]
g_vip=a1
g_admin=a100
g_develop=a2,a3
[/]
@g_vip = rw
@g_admin = rw
* =

[/aaa/]
@g_admin = rw
@g_develop = rw
* =
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章