Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
20
Help us understand the problem. What is going on with this article?
@n_slender

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

More than 5 years have passed since last update.

新規のプロジェクトで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 

20
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
n_slender
一応Javaエンジニアです。仕事の関係でPHP、Python、Rubyをやることも。開発環境を構築することもあるので、そのレベルでのインフラネタもたまに。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
20
Help us understand the problem. What is going on with this article?