trac 0.10 dev on Windows

これの0.10dev版。
0.10 の正式版はでていないので、リポジトリからソースを取ってきてインストールした。以前の環境をクリアして最初からインストールしたのでその手順をメモしておく(apache 2.0.55 、 subversion 1.3.1 はインストール済み)。
trac のインストール部分だけ変えれば 0.9.x もこの手順で問題ないと思う。

python 2.3

まずは http://www.python.jp/Zope/download/pythonjpdist から python234jp-20040927.exe をインストール。

trac 0.10 dev

http://svn.edgewall.com/repos/trac/trunk からリビジョン 3235 をチェックアウト。
チェックアウトしたディレクトリに移動してコマンドを実行。

python ./setup.py install

clearsilver 0.9.14

http://www.clearsilver.net/downloads/ から clearsilver-0.9.14.win32-py2.3.exe をインストール。

pysqlite 2.0.5

http://initd.org/tracker/pysqlite から pysqlite-2.0.5.win32-py2.3.exe をインストール。

mod_python 3.2.8

http://httpd.apache.org/modules/python-download.cgi から mod_python-3.2.8.win32-py2.3.exe をインストール。

docutils 0.3.9

http://docutils.sourceforge.net/ から docutils-0.3.9.tar.gz をダウンロード。解凍してできたディレクトリに移動してコマンド実行。

python setup.py install

subversionpython バインディング

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 から svn-win32-1.3.1_py.zip をダウンロード。解凍してできた libsvn と svn フォルダを以下のフォルダにコピー

C:\Python23\Lib\site-packages

trac プロジェクトの作成

initenv コマンド実行。ついでにユーザに管理権限を与えておく。

python C:\Python23\scripts\trac-admin c:\trac\projectname initenv
python C:\Python23\scripts\trac-admin c:\trac\projectname permission add username TRAC_ADMIN

日本語が使えるように trac.ini の default_charset を修正。

default_charset = japanese.shift_jis

WebAdmin プラグイン ※必須じゃない

http://projects.edgewall.com/trac/wiki/TracPlugins から ez_setup.py をダウンロードしてコマンド実行。
ez_setup.py は c:\trac に置いておく。

python c:\trac\ez_setup.py

http://projects.edgewall.com/trac/wiki/WebAdmin から TracWebAdmin-0.1.1dev_r2765-py2.3.egg をダウンロードしてコマンド実行。

python c:\trac\ez_setup.py TracWebAdmin-0.1.1dev_r2765-py2.3.egg

trac.ini に設定を追加。

[components]
webadmin.* = enabled

apache の設定変更

httpd.conf に設定を追加。dav_module と dav_fs_module は既存行のコメントアウトを外しても構わない。
※ c:/trac/log ディレクトリを作成し、c:/trac/.htpasswd を用意しておくこと。

#TRAC with mod_python
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule python_module modules/mod_python.so
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"
<VirtualHost *:80>
      ServerName servername
      ServerAdmin webmaster@hoge.net
      DocumentRoot c:/trac
      ErrorLog c:/trac/log/error.log
      CustomLog c:/trac/log/access.log common
      UserDir disabled
      <LocationMatch "/[[:alnum:]]+">
          SetHandler mod_python
          PythonHandler trac.web.modpython_frontend
          PythonOption TracUriRoot /
          PythonOption TracEnvParentDir c:/trac
      </LocationMatch>
      <LocationMatch "/[[:alnum:]]+/login">
          AuthType Basic
          AuthName "trac"
          AuthUserFile c:/trac/.htpasswd
          Require valid-user
      </LocationMatch>
</VirtualHost>


以上で http://locahost/projectnametrac にアクセスできるようになる。
mod_python を使うとwikiのファイル添付に失敗する不具合は修正されているようだ。デスクトップのように、空白を含むパスも問題ない。
続いて以前試したブログ機能をインストールしてみる。

TracBlogPlugin ※必須じゃない

依存するプラグイン( TracTags )も同時にインストール。

python c:\trac\ez_setup.py TracTags-0.3.1-py2.3.egg
python c:\trac\ez_setup.py tBlog-0.2-py2.3.egg

trac.ini の trac セクションと components セクションを修正。

[trac]
default_handler = TagsWikiModule
[components]
trac.wiki.web_ui.wikimodule = disabled
tractags.* = enabled
tBlog.* = enabled

trac プロジェクトをアップグレード。

python C:\Python23\scripts\trac-admin c:\trac\projectname upgrade


0.9.4-ja-1 で起きていたカレンダーの文字化けや、ブログ表示マクロ( BlogShow )も問題ないようだ。
それにしても Trac Hacks のように表示するにはどうやればいいんだろう?