SVN的配置詳解

SVN的服務器搭建配置詳解


    如果說採用SVN搭建項目服務器(SVN創建項目實現)不容易的話,那其中的難點主要就是在配置了,SVN搭建服務器實現並結合Apache2實現web訪問的難點也主要就是SVN和Apache2的配置了。在這,我將詳解一下SVN的相關配置及過程中需要注意的地方。


    SVN項目創建完成以後,配置這塊主要就是對conf/下的svnserve.conf/passwd/authz三個配置文件的相關配置,按照順序:

1.svnserve.conf 該文件爲存放本svn庫的全局訪問控制信息,具體配置如下:

    去掉#[general]前面的#號
  [general]
  #匿名訪問的權限,可以是read,write,none,默認爲read
  anon-access = none
  #認證用戶的權限,可以是read,write,none,默認爲write
  auth-access = write
  #密碼數據庫和訪問授權信息的路徑,去掉前面的#(可以採用路徑方式使用公共 passwd/authz)
    password-db = passwd
    authz-db = authz
解釋: 對該處的配置解釋在備註上其實已經有了介紹,單就這塊容易出問題或者需要注意的地方這邊強調一下

    1.1 所有的內容需要定格寫,否則會出錯

    1.2 其中的password-db和authz-db的配置文件路徑以上用到的是和svnserve.conf同路徑下的passwd/authz文件,但是這邊建議創建共有的passwd/authz配置,特別是針對多個項目的時候,這樣如果需要用戶密碼或者權限的話只需要修改共有文件就行,而針對每次創建的項目只需要配置一下svnserve.conf文件即可。


2. passwd 用於存放本svn庫的用戶名和密碼,該文件的配置其實是比較簡單的:

    [users]
    User = 123456   // username = password
    User1 = 123456
    User2 = 123456
格式是 username = password,上面創建了三個用戶(User/User1/User2),密碼都是123456

針對於每個用戶和密碼可以在authz文件下設置相應的權限,包括對不同項目工程的權限


3. authz 存放本svn庫的訪問授權信息,這塊的配置算是比較最複雜的一塊了,下面我就以實例講解一下:

    [groups]
    admin = User
    group1 = User1
    group2 = User2

    [/]
    @admin = rw
    * =

    [projectName1:/]
    @group1 = rw
    * =r

    [projectName2:/]
    @group2 = rw
    * =
解釋:

    3.1 在這把之前創建的三個用戶分成了三個組:admin/group1/group2, 然後通過組的方式去設定每個組下的用戶權限

    3.2 [/] ,[projectName1:/],[projectName2:/] 是針對不同的項目設置不同用戶的權限,其中 [/] 這個根目錄表示之前配置的/claySVN/MyProjects/下的所有project,表明admin組有所有的權限,而[projectName1:/]則是表示之前創建的/claySVN/MyProjects/下的projectName1,表明user1組有projectName1的訪問權限。

    3.3 這裏需要說一個遇到的情況,如果我們不添加 [……] 的設置也是可以的,但是我們後面對 apache2的設置會有一個類型的設置(SVNPath&&SVNParentPath),這裏先直接說明一下,如果我們採用SVNParentPath的方式而沒有設定[……]的話在web訪問的時候會出錯,詳情介紹請參見後面的介紹。

    3.4 權限解釋:

“=”後面有3種情況
空:表示沒有任何權限
r:表示只讀權限
rw:表示讀寫權限

以上就是對SVN的主要的一些配置講解,其實很多配置都是相輔相成的,結合SVN搭建服務器實現並結合Apache2實現web訪問系列,才能更加深刻的理解……


發佈了69 篇原創文章 · 獲贊 60 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章