svn 全名 Subversion,是一種常見的版本控制工具。
安裝

Server 端

$ sudo aptitude install libapache2-svn apache2 subversion

設定

以下為首次設定範例: 專案名稱:project_sample 使用者名稱:user1、user2

建立專案存放路徑

sudo mkdir -p /home/svn/project_sample

建立 svn 專案

sudo svnadmin create /home/svn/project_sample

更改 svn 根目錄擁有者

sudo chown -R www-data.www-data /home/svn/

設定 Apache 的 svn 設定檔 /etc/apache2/mods-available/dav_svn.conf,確認其內容如下:

<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>

設定使用者權限設定檔 /etc/apache2/dev_svn.authz。

[project_sample:/]
# 設定 user1 可讀
user1 = r
# 設定 user2 可讀/寫
user2 = rw

建立使用者帳密

sudo /usr/bin/htpasswd -c /etc/apache2/dav_svn.passwd user1
sudo /usr/bin/htpasswd /etc/apache2/dav_svn.passwd user2

重新啟動apache sudo /etc/init.d/apache2 restart

執行 svn co http://localhost/svn/project_sample 即可 check-out。
SSL 連線設定

當連線因防火牆阻擋無法使用,產生 400 Bad Request 訊息時,改用 ssl 連線即可解決。

Apache2 SSL 連線設定份請參照 ssl_連線

設定好後執行 svn co https://localhost/svn/project_sample 即可 check-out。

neio 發表在 痞客邦 留言(0) 人氣()