LoginSignup
18
20

More than 5 years have passed since last update.

RedmineのアカウントでSubversionリポジトリにアクセスする

Posted at

新規のプロジェクトでSubversionが選択されるケースも少なっていそうだし、よくあるネタですがすこし躓いたので整理してメモっておきます。

ほとんどはここに書いてあります。

前提

  • RedmineとSubversionが同一サーバ
  • apacheのperl_module、dav_svn_module、authz_svn_moduleのモジュールが使えるようになっていること1
  • /var/www/svn以下がSubversionのリポジトリの置き場所

ポイント

  • プロジェクト識別子とリポジトリ名を一致させる
  • プロジェクトメンバーのアカウントでのみアクセス可能

subversion側の設定

ディレクトリのアクセス権限

apacheユーザが読み書きできるようにします。

chown -R apache:apache /var/www/svn

SELinuxが有効な状態では下記が必要みたいです。

chcon -R system_u:object_r:httpd_sys_content_t /var/www/svn

apacheの設定ファイル

apacheのconf.dにsubversion用の設定ファイルを追加します。
ここで/svnのアクセスに、Basic認証して、RedmineのDBを見に行くように設定します。

subversion.conf

LoadModule perl_module        modules/mod_perl.so
PerlLoadModule Apache::Authn::Redmine

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

RequestHeader edit Destination ^https http early
<Location /svn>
   DAV svn
   SVNParentPath /var/www/svn 

   AuthType Basic
   AuthName "subversion repository"
   PerlAuthenHandler Apache::Authn::Redmine::authen_handler

   # RedmineのDBの接続情報
   RedmineDSN "DBI:mysql:database=redmine;host=localhost"
   RedmineDbUser "redmine"
   RedmineDbPass "redmine"

   Require valid-user
</Location>

Redmineとの連携手順

あとは、Redmineのプロジェクトと連携できるように、プロジェクトとリポジトリを作成します。

  1. プロジェクトを作成
  2. プロジェクト識別子と同じ名前でリポジトリを作成
  3. アクセスさせたいユーザをプロジェクトのメンバーに追加
  4. http://[redmine_server]/svn/[project_identifier]でリポジトリにアクセスできることを確認

1. プロジェクトを作成

Redmineの画面から作ります。識別子をおぼえておきます。

2. プロジェクト識別子と同じ名前でリポジトリを作成

これがポイントです。ここを間違えてハマリました...

# cd /var/www/svn
# svnadmin create [project_identifier]
# chown -R apache:apache [project_identifier]

SELinuxが有効な状態では下記が必要なです。

chcon -R system_u:object_r:httpd_sys_content_t [project_identifier]

3. アクセスさせたいユーザをプロジェクトのメンバーに追加

プロジェクト識別子で認証対象を制限しているので、アクセスできるのはプロジェクトのメンバーに限定されます。プロジェクトの設定タブのメンバーから、追加します。

(これに気付くのに、わざわざSQLのログを出して確認してしまいましたよ...)

4. http://[redmine_server]/svn/[project_identifier]でリポジトリにアクセスできることを確認

ブラウザからアクセスしてもよいですし、

svn ls "http://[redmine_server]/svn/[project_identifier]" でも確認できます。

認証が要求されるので、プロジェクトメンバーのアカウント情報を入力して、アクセスできればOKです。

参考サイト

CentOSへのapache+subversionの入れ方


  1. CentOSなら yum install mod_perl mod_dav_svn subversion 

18
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
20