tracの管理機能をインストしてみた

チケット便利!と思いつつ、原稿整理に使うのにcomponent1とか、defunctとかはないだろうと思ったので、管理機能たるwebadminというプラグインを入れてみる。例によって Win32 環境の Apache2+mod_python 2.3系+trac 0.9.3 が前提となっとりますが、他の環境でもそんなには変わらないでしょう。英語を気にしない人は

の四つを読んでおけば問題なくインストできるはず。

で、本題。まずは前回サボった Apache2 の認証まわりの設定。Tracまわりの設定に、login環境の認証を追加。ここでは TracEnvParentDir を使っているので LocationMatch でほげほげしとりますが、リポジトリがひとつなら のような形でOK。

<Location />
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnvParentDir c:/home/ishigaki/trac/
    PythonOption TracUriRoot /
</Location>
<LocationMatch "/[^/]+/login">
    AuthType Basic
    AuthName "Trac"
    AuthUserFile c:/home/ishigaki/trac/.htpasswd
    Require valid-user
</LocationMatch>

で、Apache2 に付属している htpasswd コマンドでパスワードファイルをつくるわけですが、うちでは Apache1 も平行して走っていて、そちらの方が環境的に優先されていたせいで大ハマリ。「なんでこんな認証ごときに手間取るかなあ」と悩みたくない方は Apache2 の bin ディレクトリで htpasswd を実行しませう。

htpasswd -c c:/home/ishigaki/trac/.htpasswd ishigaki

適当なパスワードの入力が済んだら、今度は Python ディレクトリに移って、

python Scripts\trac-admin c:\home\ishigaki\trac\perl permission add ishigaki TRAC_ADMIN

のようなコマンドを実行。

必要ならez_setup.pyを落としてきて、python ez_setup.py でインストール。

続いてWebAdminのページから python 2.3系のパッケージを落としてきて、.zipという拡張子を外し(.eggという拡張子にして)、サイト全体にインストールするときは Lib\site-packages のなかに、それぞれの Trac によって認証の有無を選択したい場合は指定した trac サイトのルート直下にある plugin ディレクトリに放り込む。

グローバルにインストールした場合は最後にそれぞれの trac ディレトクリに戻ってきて、conf/trac.iniを編集。最後に(なければ)

[components]
webadmin.* = enabled

のような行を追加。

ついでに昨日書き忘れたことですが、日本語の原稿管理に使うときには trac.ini のなかの default_charset を、euc-jp とか utf-8 とかでなく、

default_charset = shift_jis

にしておくと吉。もちろんなんでも euc ないし utf 管理している人はそうすればいいわけですが。

これで、あらためてアクセスして認証をクリアすれば、上部のナビ部分右端、「Search」の隣に「Admin」の文字が見えるはず。