Wednesday, March 20, 2013

透過 http 存取 svn repository

記錄如何透過 http 存取 svn repository

以 bt5r3 為例

  • apache 設定檔位置在 /etc/apache2
  • mod_dav_svn.so
    • 如果沒有 mod_dav_svn.so, 所以安裝 apt-get install libapache2-mod-python libapache2-svn, 安裝完後, 會產生 mod-avaiable/dav_svn.load, mod-available/dav_svn.conf, mod-enable/dav_svn.load, mod-enable/dav_svn.conf
  • 編輯 mod-availble/dav_svn.conf
<Location>
  DAV svn

  SVNParentPath /var/svn

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd

  AuthzSVNAccessFile /etc/apache2/dav_svn.authz

  Require valid-user
</Location>
  • 編輯 dav_svn.passwd
htpasswd -cm /etc/apache2/dav_svn.passwd ${username}

  • 編輯 dav_svn.authz
[groups]

[/]
${username} = rw
  • /etc/init.d/apache restart

Troubleshoot,

If "permission denies" occurred, try
chown -R www-data:www-data _the_svn_repository_directory_