subversion/apache と Redmine のユーザを同期
同期というか、apacheの認証情報にredmineで使っているデータベースを使う方法。
Redmine には Apache-perlモジュールとして Redmine.pm というのがある。
http://www.redmine.org/wiki/1/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl
例えばredmineを /sites/redmine にインストールしたとすると /sites/redmine/extra/svn/Redmine.pm がそれ。
centos の場合は
yum install httpd-devel mod_perl
あと
yum install perl-Digest-SHA1 perl-DBI
これだとDBIが古くてDBD::SQLiteが入れられないようなので(sqliteをデータベースに使ってない人は他のモジュールを入れよう)
cpan install DBI cpan install DBD::SQLite
とかで目的のモジュールをインストールした後
mkdir /usr/lib/perl5/site_perl/5.8.8/Apache/Authn cp /sites/redmine/extra/svn/Redmine.pm /usr/lib/perl5/site_perl/5.8.8/Apache/Authn
とかして、Redmine.pm のヘッダに書かれているように httpd.conf を設定すればよい。(バージョンによってちょっとずつ違うみたい)
<Location /svn> SVNParentPath "/var/svn"
で、
svnadmin create /var/svn/hoge
がしてある場合、
http://xxxx/svn/hoge
にアクセスすると、ダイアログが出て redmine 上のプロジェクト hoge においてリポジトリの閲覧権限があるかどうかを調べてくれる(redmineのプロジェクト名とsvnのリポジトリ名は合わせないといけない)。
動作が気に入らなければRedmine.pm をカスタマイズすればいいじゃなーい