Mercurial 勉強中 (2) - Trac と統合

TracMercurial で使えるようにして,mod_wsgi にのせてみました。といっても,TracModWSGI – The Trac ProjectTracMercurial – The Trac Project に沿ったらできましたのでインスコ方法とかは略。

せっかくなので Trac 0.11b1 でやってみました。ソースブラウザがちとかっこよくなってるんですね,これ。

はまったところ。

  • epel レポジトリの Mercurial は 0.9.3 でしたが,それではうまく動かなかったんで 0.9.5 をソースからインストールした*1


TracTracMercurial プラグインがきちんとインストールできたら,たとえば,下記コードを /var/www/app/trac.wsgi で保存して,

import os
import trac.web.main

os.environ['TRAC_ENV_PARENT_DIR'] = '/var/www/trac'
os.environ['PYTHON_EGG_CACHE']    = '/var/www/egg'
os.environ['HGENCODING']          = 'UTF-8'

application = trac.web.main.dispatch_request

httpd.conf に下記のように設定します。

LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias /trac /var/www/app/trac.wsgi

<Directory /var/www/app>
    WSGIApplicationGroup %{GLOBAL}

    Order deny,allow
    Allow from all
</Directory>

好みにより TRAC_ENV_PARENT_DIR のほうを指定してあります。こうすると,指定したディレクトリ(ここの例だと /var/www/trac)の下位フォルダの Trac 用フォルダをすべてまかなってくれます。Subversion のときと同じです。


んーあとは Mercurialpost-commit hook をどうするか調べなきゃ。調べました ⇒ Mercurial 勉強中 (8) - hook を Trac と絡めて - daily dayflower

*1:rpmforge レポだと 0.9.5 なのでそれを使ってもいいかもしんない