mod_dav_svnでsvn

とりあえず何でも書くメソッドを実行してみる。結構後から自分で見たりするのよね。


いままでsvnをさくらでsvn+sshをやってたんですけどなぜか学内にProxyの規制が入ったらしく、「403 OK」なんてエラーを吐いてなぜか使えなくなってしまったのでどーせならapacheでいろいろやりたいなぁと思い試してみる。環境はdebian/etchで。

文を書くとえらく推敲してしまうので淡々とコマンドライン書くよ!。

sudo apt-get install libapache2-svn

これにmod_dav_svnとmod_authz_svnが入ってる。


で、/etc/apache2/mods-available/dav_svn.confを編集。以下抜粋。

<Location /svn>
  DAV svn
  SVNPath /var/svn/repos
</Location>

認証部分はあとでやる。もといきれいなコメント付いてるからコメントアウトするだけでよさそうだけど。

SVNPathをSVNParentPathにすればそのディレクトリ以下にあるレポジトリがそれぞれ動くようになる。
単数でいいならSVNPathでレポジトリの場所を指定。そして保存して再起動。

次にレポジトリを作る。順番逆な気もするけど気にしない。

cd /var
sudo mkdir svn
cd svn
sudo svnadmin create repos
cd ..
sudo chown www-data:www-data repos -R

レポジトリを作った後、apacheからアクセスできるようにwww-dataにユーザ、オーナを変更することに注意。それで、localhost/svn/reposにアクセスしたらRevision0って出る。これでおk。