Apache2 Subversion Server 與 WebSVN 安裝

雖然近年 Git 非常火紅,但我個人開發還是喜歡中央集權式的 Subversion (SVN)擁有一台私人的 SVN Server 對於開發非常方便,尤其香港的 Client 最喜歡把 Project 左改右改,最後又改回頭。

Apache2 只需要一個簡單的插件 libapache2-svn 就能提供 SVN Repository Server 的功能,
再安裝 WebSVN 更可做到用瀏覽器查看和下載歷史檔案,非常好用。

安裝環境: Ubuntu 12.04 64bit,已安裝 PHP 5.3。

1. 安裝 mod-svn

先啟用 authz_svn 備用

2. 安裝 subversion (如果 Server 未安裝)

3. 設定 SVN Repository

建立 SVN 目錄

切換為 www-data 並建立空的 Repository

4. 設定 Apache 設定 Repository位置

我選擇使用獨立的 Sub-domain 作 SVN 相關用途。
http://svn.tiger-workshop.com 之後會作為 WebSVN 之用,
http://svn.tiger-workshop.com/repos/ 作 SVN Repository。

5. 設定 SVN 登入權限

由於是私人伺服器,所有操作都需要登入,建立上一步指定的 AuthUserFile

為了能進一步控制個別用戶能存取的 Repository,另外設定 ACL:

svn-acl-conf 內容:

意思是 tiger 擁有所有 Repository 的讀寫權限,而 lion 只有 misc 的唯讀權限。

5. 安裝及設定 WebSVN

http://www.websvn.info/ 下載 WebSVN 最新版本並解壓到 /var/www/svn.tiger-workshop.com

設定 WebSVN

設定使用本地的 SVN 目錄及 ACL 設定檔:

Restart Apache 後完成!

其他 WebSVN 的設定例如 allowDownload、setMinDownloadLevel、setIgnoreWhitespacesInDiff 視乎需要開啟。

Leave a Reply

Your email address will not be published.