【安裝筆記】Subversion 整合 Apache2 權限管控的設定

在 Debian Etch 系統安裝完 Subversion (libapache2-svn) 後,即會載入 Subversion 的模組於 Apache2 系統內,也可以至 /etc/apache2/mods-available 目錄內檢查是否有 dav.log, dav_svn.load。

1. 再來的步驟即開始創建 檔案庫(repository),例如在 /srv/svn 目錄下,打上:
 # svnadmin create /srv/svn/repos1
 # svnadmin create /srv/svn/repos2 ## 設定多個 repository

2. 然後設定目錄擁有者:
 # chown -R www-data.www-data /srv/svn/repos1 #same as repos2

3. vim /etc/apache2/mods-available/dav_svn.conf


  DAV svn
  SVNParentPath /srv/svn   ## 當有多個檔案庫時,只要設置 ParentPath 的根目錄即可。

  # how to authenticate a user
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  # access control policy
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz

  # only authenticated users may access the repository
  Require valid-user

4. 設定可以使用 subversion 的帳號
 # /usr/bin/htpasswd -cm /etc/apache2/dav_svn.passwd account1
 # /usr/bin/htpasswd /etc/apache2/dav_svn.passwd account2

5. vim /etc/apache2/dav_svn.authz

[groups]
administrators = admin
developer_team = account1, account2

[/]
* = 
@administrators = rw

[repos1:/]
@developer_team = rw

[repos2:/]
@developer_team = rw

*** 記得每一行前面不要加空白,我因為有縮排的習慣,結果導致權限控管一直無法載入,才發現這個問題! ***

6. /etc/init.d/apache2 restart 重新啟動即可。 (每一次對上述設定檔的變更,均需重新啟動)

7. 再來就是可以透過如 TortoiseSVN Client 端工具連結測試 (Repo-browser),以及目錄規劃的動作 (import)。

※ 相關參考文件:
使用Subversion進行版本控制
SVN 基本指令教學

文章導覽

   

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *