Redmine.pm設定メモ

RedmineのアカウントでSubversionのBasic認証を行う設定のメモ

CentOS6.2(64ビット版)と、Redmine1.2.0で検証。

SELinuxの設定変更

enforcingになってたらpermissiveに変更。

(enforcingのままだとapacheからmysqlに接続できない)

1
getenforce

を実行後

1
Enforcing

と出力される場合、
Permissiveを設定する。

1
2
setenforce Permissive
getenforce

を実行後

1
Permissive

と表示されるようにする

さらに、次回からPermissiveになるように、設定ファイルを変更する

1
vi /etc/selinux/config

1
2
# SELINUX=enforcing
SELINUX=permissive

Redmine.pmをインストール

次に、SubversionとRedmineの連携部分を設定していきます。

SubversionとApache用SVNモジュールをインストールします。

(mod_dav_svnをインストールすることで、apacheもインストールされます)

1
yum install subversion mod_dav_svn

Redmine.pmを動かすために必要なperlモジュールをダウンロードします。

1
yum install mod_perl perl-Digest-SHA1 perl-DBI perl-DBD-mysql

RedmineでLDAP認証を使っている場合はperl-LDAPと、cpanでAuthen::Simple::LDAPをインストールします。

1
2
3
4
yum install perl-LDAP
yum install gcc gcc-c++ make
yum install zlib-devel curl-devel openssl-devel httpd-devel apr-devel apr-util-devel httpd-devel mod_perl-devel
yum install perl-CPAN
1
2
cpan
cpan> install Authen::Simple::LDAP

Redmineのリポジトリから、

RedmineとSVNを連携させるためのモジュールをダウンロードします。

ダウンロードしたモジュールはapache用のperlモジュール用ディレクトリ配下に置きます。

1
2
yum install wget
wget http://redmine.rubyforge.org/svn/trunk/extra/svn/Redmine.pm

ディレクトリを作成し、モジュールをコピー

1
2
3
mkdir /usr/lib64/perl5/Apache
mkdir /usr/lib64/perl5/Apache/Authn
mv Redmine.pm /usr/lib64/perl5/Apache/Authn/.

Redmine.pmを使用した認証の設定と、Subversionの設定を作成

1
vi /etc/httpd/conf.d/redmine_svn.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
PerlLoadModule Apache::Authn::Redmine
PerlLoadModule Authen::Simple::LDAP # LDAP認証を使用していない場合は不要
<Location /svn>
DAV svn
SVNParentPath "/var/www/svn"

AuthType Basic
AuthName Subversion
Require valid-user

PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler

# RedmineのDBの接続情報
RedmineDSN "DBI:mysql:database=redmine_db;host=192.168.1.xxx"

RedmineDbUser "redmine_read" # RedmineのDBのユーザー
RedmineDbPass "password" # RedmineのDBのパスワード
RedmineCacheCredsMax 50
</Location>

Subversion用ディレクトリを作成します

1
2
mkdir /var/www/svn
chown -R apache:apache /var/www/svn

動作確認

テスト用のリポジトリを作成します。

1
svnadmin create /var/www/svn/test

プロジェクトを作成し、プロジェクトの識別子はリポジトリと同じく

test

とします。

プロジェクトにメンバーを追加し、

http://SubversionのIP(もしくはホスト名)/svn/test

にアクセスし、Basic認証のプロンプトにRedmineのID・パスワードで認証が成功するか確認します。