Redmine認証でローカルのsubversionを使う

探せば情報は転がってるけど備忘録として。以下実施した環境。

OS: CentOS release 5.9 (Final)
Apache: 2.2.3
Database: Mysql Ver 14.12
Redmine: 2.3.3 stable
Subversion: 1.6.11

svnリポジトリの作成

リポジトリ格納場所はDocumentoRoot配下を避ける。リポジトリ名はRedmineのプロジェクト識別子と一致している必要がある。

mkdir /var/www/svn
svnadmin create /var/www/svn/test
chown -R apache:apache /var/www/svn

Apacheでの設定

/etc/http/conf.d 配下にconfファイルを作成。

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn>
  DAV svn
  SVNParentPath "/var/www/svn"
  AuthType Basic
  AuthName redmine
  Require valid-user
  PerlAccessHandler Apache::Authn::Redmine::access_handler
  PerlAuthenHandler Apache::Authn::Redmine::authen_handler
  
  RedmineDSN "DBI:mysql:database=データベース名;host=localhost"
  RedmineDbUser "Redmine用DBユーザ名"
  RedmineDbPass "Redmine用ユーザのパスワード"
</Location>

Apacheを再起動。