今回はRedmineとSubversionのアカウントを連携し、RedmineのアカウントでSubversionにアクセスできるようにしていきます。
ターゲット環境
対象の環境は以下のとおりです。
対象 | バージョン |
---|---|
OS | CentOS 7.1 |
Redmie | 3.3.2.stable |
アカウント連携に必要なモジュールの読み込み
$ sudo vi /opt/bitnami/apache2/conf/httpd.conf
Apacheの設定ファイルを開き、以下の行を有効にします。
LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so
また、設定ファイルに以下の記述を追加してください。
Include "/opt/bitnami/apache2/conf/extra/httpd-svn.conf" LoadModule perl_module modules/mod_perl.so
Perlモジュールのパス設定と配置
設定ファイルにPerlモジュールのパス設定を追加します。
$ sudo vi /opt/bitnami/apache2/bin/envvars
LD_LIBRARY_PATH="/opt/bitnami/perl/lib/5.16.3/x86_64-linux-thread-multi/CORE/:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
以下のコマンドでPerlモジュールをコピーします。
$ sudo cp /opt/bitnami/apps/redmine/htdocs/extra/svn/Redmine.pm /opt/bitnami/perl/lib/site_perl/5.16.3/*/Apache2/
※5.16.3の部分はインストールしたBitnami Redmine Stackによって変わる可能性があるのでご注意ください。
認証用設定ファイルの作成
$ sudo vi /opt/bitnami/apache2/conf/extra/httpd-svn.conf
認証用の設定ファイルを新たに作成し、以下の記述を追加します。
PerlLoadModule Apache2::Redmine <Location /svn> DAV svn SVNParentpath "/var/opt/bitnami/svn" AuthType Basic AuthName "Redmine Svn Repository" Require valid-user PerlAuthenHandler Apache::Authn::Redmine::authen_handler #RedmineDSN "DBI:mysql:database = bitnami_redmine;host = localhost;mysql_socket = /opt/bitnami/mysql/tmp/mysql.sock" RedmineDSN "DBI:mysql:database=bitnami_redmine;host=localhost;mysql_socket=/opt/bitnami/mysql/tmp/mysql.sock" #↑の行に半角スペースが入っていると認証がうまくされません。 RedmineDbUser "bitnami" RedmineDbPass "******" #実際のパスワードを記述する </Location>
※RedmineDbPass”は「/opt/bitnami/apps/redmine/htdocs/config/database.yml」に記載されています
Redmineの再起動
Redmineを再起動します。
$ sudo /opt/bitnami/ctlscript.sh restart
と、これでRedmineのアカウントでSubversionにアクセスできるようになるはずなんですが、今回の環境ではうまくいってないです。別マシンのサーバーでやった時はうまく行っていたので、VMでだけ発生している問題??
色々調べた結果、httpd-svn.confの有効行に半角スペースが含まれているのが原因でした。これで問題無くRedmineのアカウントでSubversionにアクセスできるようになるはずです。
参考:bitnami Docs
コメント