Home > 技術全般 > [Subversion][trac]それぞれの設定と連携

[Subversion][trac]それぞれの設定と連携

Subversionとtracの設定を久しぶりに行ったので、メモ。

  • Subversionとtracの認証は同一で管理したい
  • それぞれhttpを利用して公開する(SSLは今回は除外して考える)
  • 更新は登録ユーザーしか行えないが、閲覧はどのユーザーでも行えるようにする
  • 認証にはdigest認証を利用する
  • digest認証のレルムはrealmとする

以下の前提。
リポジトリ:/path/to/svn/repos
リポジトリURL:http://example.com/svn/repos
tracディレクトリ:/path/to/trac
trac URL: http://example.com/trac/repos

まずはリポジトリの作成
$ svnadmin create /path/to/svn/repos

※リポジトリ内のプロジェクト構成についてはここでは触れません。

次にApacheの設定を行う。
svn用Apacheの設定はhttpd.confに以下の設定を追加する
※ディレクトリ単位で詳細に権限を設定する場合は、AuthzSVNAccessFileを利用するがここでは割愛する。
※参考URL:Subversionのインストールと設定

DAV svn
SVNPath /path/to/svn/repos
AuthType Digest
AuthName “realm”
AuthUserFile /path/to/svn/repos/.svndigest
#リポジトリの読み込みに必要なメソッド以外は、認証を必要とする

Require valid-user

#読み込みに対しても認証を必要とする場合は、LimitExceptは必要なし 以下は例
#Require valid-user

複数リポジトリの場合でも、上記設定をリポジトリごとに行うのが吉。
SVNParentPathは設定が楽そうに見えて、柔軟性が無くあとでどうせ変更することが多い。

svnを利用するにあたり以下のようにモジュールをロードする必要有り。
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

authz_svn_moduleはAuthzSVNAccessFileを利用しない場合は必要なし。

digest認証のユーザーは以下のコマンドを使って作成する
$ htdigest [-c] /path/to/svn/repos/.svndigest realm username
ファイルを初期作成する場合は、cオプションをつけるが、それ以外はcオプション必要なし。

次ぎにtracとの連携。
$ trac-admin /path/to/trac initenv
で、コマンドプロンプトでいろいろ聞かれるので普通に答える。

tracのApache設定は以下のとおり。ここではmod_pythonを利用しているものとする。

SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv /path/to/trac
PythonOption TracUriRoot /trac/repos


AuthType Digest
AuthName “realm”
AuthUserFile /path/to/svn/repos/.svndigest
Require valid-user

複数レポジトリをtracで扱う場合は、上記設定(trac-admin path initenv 〜 Apache設定まで)を別のレポジトリに対しても行うのが吉。

tracの権限設定は、以下のコマンドで利用可能
$ trac-admin /path/to/trac permission list #全権限のリスト
$ trac-admin /path/to/trac permission remove 権限 #TRAC_ADMIN、BROWSER_VIEWなど
$ trac-admin /path/to/trac permission add 権限 #TRAC_ADMIN、BROWSER_VIEWなど

※新規でtracを立ち上げた場合、デフォルトでanonymousに強大な権限が与えられているため注意。
※基本的に、anonynousは*_VIEW権限のみ残す。
※その他の権限は、trac-adminを利用して作成する。
※権限グループも設定が簡単 ⇒ グループ名称をユーザー名と同等に扱い、ユーザーへの権限付与はグループ名をそのまま利用できる。
ex)
$ trac-admin /path/to/trac permission add member TRAC_ADMIN ...
$ trac-admin /path/to/trac permission add nakamura member

コマンドラインでパーミッションを設定するのは面倒だが、WebAdminプラグインを入れておけばPermissionメニューから簡単にパーミッションを変更できる。

これでApacheとtracの連携ができ、認証情報も共用できている。

svnのチケットとtracの連携は次回

Comments:1

常山日記 08-04-23 (水) 13:01

[その他]巡回

クリックする場所を測定するアクセス解析「ClickHeat」 JavaScriptでXPath/XSLT「AJAXSLT」 「このアドオンは古いバージョ…

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.joyfullife.jp/archives/2008/04/23023802.php/trackback
Listed below are links to weblogs that reference
[Subversion][trac]それぞれの設定と連携 from 30からのBlog

Home > 技術全般 > [Subversion][trac]それぞれの設定と連携

Search
Feeds
Meta

Return to page top