在 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 基本指令教學