読者です 読者をやめる 読者になる 読者になる

trac 0.10 beta1 on Windows + Python 2.4

trac

の続き。beta1 は様子見かな、と思ってたら Subversion 1.4.0 のReleaseNote に svn-python-1.4.0-py2.4.exe を見つけた。
そこで Python 2.4 で動くかどうか試してみたら動いたのでメモしておく。

インストールリスト

インストールするものは以前とほとんど同じて、Python 2.4 用のものを使う。
インストーラは全部デフォルトインストールしていけばいい。

trac プロジェクトの作成

initenv コマンドでプロジェクトを作成する。ついでにユーザに管理権限を与えておく。

python C:\Python24\scripts\trac-admin c:\repos\trac\projectname initenv
#以下は都度入力する
Project Name [My Project]> projectname
Database connection string [sqlite:db/trac.db]> #そのままENTERでいい
Repository type [svn]> #そのままENTERでいい
Path to repository [/path/to/repos]> c:/repos/svn  #svnリポジトリへのパス
Template directory [c:\python24\share\trac\templates]> #そのままENTERでいい
#ここからユーザ権限の追加
python C:\Python24\scripts\trac-admin c:\repos\trac\projectname permission add username TRAC_ADMIN
2006/09/16 追記
リポジトリブラウザで日本語を使うため、trac.ini の trac セクションで default_charset = cp932 と修正する。
Python2.3 + JapaneseCodec では default_charset = japanese.shift_jis としていたが、Python2.4ではエラーが発生する。

WebAdmin プラグイン

http://projects.edgewall.com/trac/wiki/TracPlugins から ez_setup.py をダウンロードして c:\repos\trac に置いておく。以下のコマンドを実行すると c:/python24/scripts にeasy_install.exe がダウンロードされる。今後はこれを使ってプラグインを入れるらしい。

python c:\repos\trac\ez_setup.py

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

c:/python24/scripts/easy_install TracWebAdmin-0.1.1dev_r2765-py2.4.egg

trac.ini に以下の設定を追加。

[components]
webadmin.* = enabled

apache の設定変更

httpd.conf に設定を追加。dav_module と dav_fs_module は既存行のコメントアウトを外しても構わない。
※ 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>
  <LocationMatch "/[[:alnum:]]+">
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracUriRoot /
    PythonOption TracEnvParentDir c:/Repos/trac
  </LocationMatch>
  <LocationMatch "/[[:alnum:]]+/login">
    AuthType Basic
    AuthName "trac"
    AuthUserFile c:/Repos/trac/.htpasswd
    Require valid-user
  </LocationMatch>
</VirtualHost>


以上で http://locahost/projectnametrac にアクセスできるようになる。
まだインストールしただけなので違いがよく分からないが、リポジトリブラウザからZIPでダウンロードできるようになったのが地味にうれしい。