CentOSにWebDAV+Subversion

webdavの導入

apacheは入ってるものとする

yum install mod_dav_svn

apacheの設定

/etc/httpd/conf.d/subversion.confを編集
/var/svnリポジトリを公開したい

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
<VirtualHost *:80>
        ServerName example.com
        DocumentRoot /var/svn
        <Location />
                DAV svn
                SVNParentPath /var/svn

                AuthType Digest
                AuthName "svn repositories"
                AuthUserFile /var/svn/conf/svn_digest
                Require valid-user
        </Location>

        ErrorLog /var/log/httpd/example.com/error_log
        CustomLog /var/log/httpd/example.com/access_log combined
</VirtualHost>

ユーザの追加

htdigest svn_digest "svn repositories" toyoshi

最初にファイルがないときは-cオプションをつける。すでにファイルがあるのに-cをつけると既存のファイルが削除されるので注意

追記

上記の設定だと、301リダイレクトがかかりリポジトリのルートにtortoisesvnからアクセスができなかった。DocumentRootとLocationを同じ領域にしているのが駄目らしい