2007-07-15 13:50 Subversion的Apache設定
當我們決定把主要的原始碼版本管理系統由CVS轉換成Subversion時,希望能達成在公司VPN以外的區域也能存取的目標、能使用AD帳號(Active Directory),也必須能針對不同專案來設定不同的使用者的使用權限。這幾個目標透過Apache HTTP Server和Subversion的整合就輕易的達成了。本文描述整合上的設定。
功能目標
在Apache的設定檔 httpd.conf 裡要有以上兩個網址的設定:
權限設定
權限設定檔 (C:\Program Files\Apache Group\Apache2\passwdsvnaccess.apache或svnaccess.ad) 的基本格式是:
功能目標
- 使用AD帳號:http://你的Subversion主機/subversion_ad
在台灣的使用者都有建立AD帳號,在VPN裡直接用AD帳號即能存取,在VPN外則必須用 網址\帳號 的格式才能正確登入 - 不使用AD帳號而使用Apache HTTP Server的帳號:http://你的Subversion主機/subversion_apache
出差在外時可透過此網址來存取
在Apache的設定檔 httpd.conf 裡要有以上兩個網址的設定:
| 網址 | httpd.conf設定 | 說明 |
| /svn_ad | DAV svn SVNPath D:\repo AuthType SSPI AuthName "Subversion repository" Require valid-user SSPIAuth On #turn that authentication on SSPIAuthoritative On #turn that authentication on SSPIDomain SSPIOfferBasic On #let non-IE clients authenticate AuthzSVNAccessFile "C:\Program Files\Apache Group\Apache2\passwd\svnaccess.ad" |
|
| /svn_apache | DAV svn SVNPath D:\repo AuthType Basic AuthName "Subversion repository" AuthUserFile "C:\Program Files\Apache Group\Apache2\passwd\password" AuthzSVNAccessFile "C:\Program Files\Apache Group\Apache2\passwdsvnaccess.apache" Require valid-user SVNAutoversioning on |
|
權限設定
權限設定檔 (C:\Program Files\Apache Group\Apache2\passwdsvnaccess.apache或svnaccess.ad) 的基本格式是:
| [groups] 群組名=使用者[,使用者...] | 設定群組,一般我們皆以 g_ 開頭,以和使用者帳號做區別;如: g_admin = AD裡的Administrators群組 g_project1 = 網域\user1, 網域\user2 |
| [/] * = 權限 使用者 = 權限 @群組 = 權限 | 設定檔案庫根目錄的存取權限;權限有空白、讀(r)和寫(w)三大類。使用者用星號表示對象是所有的使用者,群組必須以@開頭。 注意:使用Trac時若Trac的使用者對根目錄沒有讀的權限時,會無法順利瀏覽源碼(Browse Source)。 |
| [/檔案庫某個目錄/子目錄] * = 權限 使用者 = 權限 @群組 = 權限 | 可針對任何一個資料夾做權限設定 |
平均分數:0 顆星 投票人數:0 人
我要評分:
我要評分:





