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。
安裝
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。