實戰SVN For Apache2(二)

      在上一篇文章中,我們已經實現了對SVN和Apache的安裝,並將它們集成在一起工作。這一篇則主要介紹如何對SVN For Apache進行一些配置。

  1.    在Apache下爲SVN建立多個庫。上篇中雖然也建立了一個SVN的庫在Apache下,但是我們不可能一個SVN服務器上只有一個項目,或者所有項目共用一個SVN庫進行開發,在Apache上爲SVN建立多個庫可以通過建立多個虛擬目錄的方式實現。下面我們就來講講具體的步驟(注意,此篇中的配置和上篇中的配置方式有很大區別)

    1. 到F盤建立我們的SVN代碼存放位置目錄:SubversionFiles,並在其中建立一個conf目錄,將會把對Apache對SVN的配置文件都放在這裏
    2. 再在F:/SubversionFiles下目錄Test1和Test2,並將它們變成SVN庫(用svnadmin create命令或者用TortoiseSVN來創建都可以)
    3. 在httpd.conf的最後添加如下代碼

      #
      # SVN 項目配置文件,格式:Include 配置文件名
      #爲每個虛擬目錄設置一個配置文件,用Include命令加載

      #
      Include F:/SubversionFiles/conf/*.project

      即把F:/SubversionFiles/conf/目錄下的所有*.project文件都包到httpd.conf中來


    4. 在F:/SubversionFiles/conf/創建Test1.project和Test2.project文件,Test1內容如下,Test2可以做相應的修改

      #SVN項目名

           DAV svn

          #SVN項目的路徑
           SVNPath F:/SubversionFiles/Test1

          #SVN項目的路徑權限授權文件存放路徑
          AuthzSVNAccessFile F:/SubversionFiles/conf/Test1.access

      #對於所有用戶都需要身份驗證
          Satisfy Any
           Require valid-user

      #驗證方式
          AuthType Basic

          #項目的名稱
           AuthName "My Test1
      "

          #用戶信息
           AuthUserFile  F:/SubversionFiles/conf/user




      以上配置含義是在Apache下建立了一個叫作Test1的SVN虛擬目錄,指向F:/SubversionFiles/Test1,授權配置文件是F:/SubversionFiles/conf/Test1.access,用戶信息和密碼文件是F:/SubversionFiles/conf/user


    5.  通過以上配置,我們就在Apache上建立了Test1和Test2兩個虛擬目錄,也就是兩個獨立的SVN庫,我們還需要兩個文件訪問權限配置的.access和包含登錄用戶的user。 在F:/SubversionFiles/conf目錄中創建用戶列表文件user,方法在上篇中已經說過,也就是htpasswd命令,我們需要創建Xrinehart, X-Killer, Guest三個用戶。

    6. 接下來,我們爲Test1庫創建它的訪問權限文件F:/SubversionFiles/conf/Test1.access。在上篇文章中我們是採用對每個用戶分別賦予對應權限的方式,如果用戶比較多,管理起來就會比較麻煩,這時我們需要用用戶組來對用戶進行管理。下面我們就來嘗試用用戶組配置訪問權限。Test1.access文件內容如下:


      [groups]
      AdminGroup = Xrinehart
      GuestGroup = guest

      [/]
      @AdminGroup = rw
      @GuestGroup = r

      X-Killer = rw


              在上面的配置中,通過[groups]節定義了兩個用戶組:AdminGroup和GuestGroup,並將Xrinehart用戶歸入AdminGroup用戶組,guest用戶歸入GuestGroup。再在下面的[/]定義了他們對Test1庫的根目錄的操作權限:AdminGroup組有讀寫權限,GuestGroup組只有讀權限,X-Killer用戶擁有讀寫權限。這裏需要注意的是定義權限的時候,用戶組需要在前面加@符號來標示。

    7. 爲了測試效果,我們可以將Test2.access文件寫爲:

      [groups]
      AdminGroup = Xrinehart, X-Killer
      GuestGroup = guest

      [/]
      @AdminGroup = r
      @GuestGroup = rw


    8. 保存好上面的所有配置文件之後,重新啓動Apache服務器。此時我們就可以在IE裏面通過http://localhost:8080/Test1http://localhost:8080/Test2 來訪問Test1和Test2庫了,你可以測試一下,用戶權限是否符合下面這個列表所示?做到這裏,SVN在Apache上建立多個庫的配置也就算完成了。


                                                       Test1                                            Test2

      Xrinehart                                    rw                                                  r
      X-Killer                                       rw                                                  r
      guest                                          r                                                    rw
發佈了37 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章