チケット便利!と思いつつ、原稿整理に使うのにcomponent1とか、defunctとかはないだろうと思ったので、管理機能たるwebadminというプラグインを入れてみる。例によって Win32 環境の Apache2+mod_python 2.3系+trac 0.9.3 が前提となっとりますが、他の環境でもそんなには変わらないでしょう。英語を気にしない人は
- http://projects.edgewall.com/trac/wiki/TracModPython
- http://projects.edgewall.com/trac/wiki/TracPermissions
- http://projects.edgewall.com/trac/wiki/WebAdmin
- http://projects.edgewall.com/trac/wiki/TracPlugins
の四つを読んでおけば問題なくインストできるはず。
で、本題。まずは前回サボった Apache2 の認証まわりの設定。Tracまわりの設定に、login環境の認証を追加。ここでは TracEnvParentDir を使っているので LocationMatch でほげほげしとりますが、リポジトリがひとつなら
<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」の文字が見えるはず。