Subversionのインストール及びRedmineと連携

Subversionのインストール方法とRedmineで認証する方法のメモ

yum install subversion mod_dav_svn mod_auth_mysql authz_svn_module

MySQLのusersテーブルで認証することで、Redmineの特定のプロジェクトに参加しているユーザのみがSVNでcommit可能となる。
ただし、誰でもcheckout出来るような設定になっている。

/etc/httpd/conf.d/subversion.conf
----------------------------------------------------------------
<Location /svn>
   DAV svn
   SVNParentPath /home1/svnrepos
   <LimitExcept GET PROPFIND OPTIONS REPORT>
        AuthMySQLEnable         On
        AuthMySQLSocket         /var/lib/mysql/mysql.sock
        AuthMySQLHost           localhost
        AuthMySQLUser           redmine
        AuthMySQLPassword       redmine
        AuthMySQLDB             redmine
        AuthMySQLUserTable      "users,members,projects"
        AuthMySQLNameField      "users.login"
        AuthMySQLUserCondition  "users.id=members.user_id and projects.id=members.project_id and projects.identifier='mine-project'"
        AuthMySQLPasswordField  "users.hashed_password"
        AuthMySQLPwEncryption   sha1
        AuthMySQLNoPasswd       Off

        AuthType Basic
        AuthName "Authorization Realm"
        Require valid-user
   </LimitExcept>
</Location>
----------------------------------------------------------------
mkdir /home1/svnrepos
chown -R apache:apache /home1/svnrepos
service httpd restart