[trac]tracをインストールしてみた

インストール参考URL

http://trac.edgewall.org/wiki/TracInstall

必要なものをダウンロード

インストール手順

1. Pythonをインストールする

    • Python-2.3.4.exeを実行
    • JapaneseCodecs-1.4.10.win32-py2.3.exeを実行

2. tracのインストール

 C:\Python23\python.exe .\setup.py install
 Thank you for choosing Trac 0.9.6. Enjoy your stay!

3.PostgreSQLのインストール

    • postgresql-8.1.4-1-ja.zipを展開し、インストーラを実行
    • pyPgSQL-2.5.1.win32-py2.3.exeを実行
    • egenix-mx-base-2.0.6.win32-py2.3.exeを実行
    • インストール先ディレクトリの"bin"を環境変数のPathの先頭に追加する。
    • データベースにtrac用のテーブル空間、データベースを作成する。
 DB名 : trac_db
 ユーザ/パスワード : trac_user/trac_user
    • 一応、ユーザにはオブジェクト作成権限をつけておく。

4. Subversionのインストール

    • svn-1.4.0-setup.exeを実行
    • svn-python-1.4.0-py2.3.exeを実行
    • TortoiseSVN-1.4.0.7501-win32-svn-1.4.0.msiを実行。再起動するかたずねられるが、Noとしておく。
    • LanguagePack-1.4.0.7501-win32-ja.exeを実行
    • 再起動する

5. ClearSilverのインストール

6. OpenSSLのインストール

    • Win32OpenSSL-0_9_8c.exeを実行

7. リポジトリの作成

 mkdir D:\SvnRepositories
 mkdir D:\TracRepositories

8. trac動作確認

    • 「プロジェクトのメンテナンス」に従い新規プロジェクトを作成する。
    • 以下のコマンドを実行してスタンドアロンサーバを実行。
 python.exe Scripts\tracd --port 8000 D:/TracRepositories/sandbox

9. apacheへの組み込み

    • conf/httpd.conf の LoadModule が記述されているあたりに以下の一行を追加する。
 LoadModule python_module modules/mod_python.so
    • conf/httpd.conf の Location が記述されているあたりに以下の内容を追加する。

    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnvParentDir D:/TracRepositories
    PythonOption TracUriRoot /projects


    AuthType Basic
    AuthName "Trac"
    AuthUserFile D:/TracRepositories/.htaccess
    Require valid-user

トラブル対処

    • 「mxDateTimeをインストールしろ」みたいな指示が出た

指示通りのURLからモジュールをダウンロードしてインストール。
egenix-mx-base-2.0.6.win32-py2.3.exe

    • tracプロジェクト初期化時に「"*.dll"が見つかりません」のようなメッセージが表示

データベースにPostgreSQLを使用しているため、ドライバ関連が見つけられないようである。
システムパスにPostgreSQLディレクトリを追加することで対処。

    • HMAC_CTX_set_flagsがダイナミックライブラリlibeay32.dllから見つかりませんでした.

上で追加したパスをパス文字列の先頭へ移動した。

    • 序数3724がダイナミックライブラリ LIBEAY32.dllから見つかりませんでした。

OpenSSL関連のダイナミックリンクライブラリのようである。
以下のページからダウンロード。
http://www.pluto.dti.ne.jp/~tengu/proxomitron/download.html
オリジナルは別のところのようである。

    • プロシージャエントリポイントBUF_MEM_grow_cleanがダイナミックライブラリ LIBEAY32.dllから見つかりませんでした。
    • プロシージャエントリポイントBIO_new_mem_bufがダイナミックライブラリ LIBEAY32.dllから見つかりませんでした。

DLLのみインストールしていると、こんなメッセージがやたらと出てくる。
LIBEAY32.dllのバージョンが古いのかもしれない。
仕方ないので上記の元であるOpenSSLのサイトから最新版を入手してインストールした。

mod_python3.2.8 は Apache2.2系 では動かないらしい。
Apache2.2.2をアンインストールし、2.0.59をインストールした。

    • project "sandbox" が見れない

('module' object has no attribute 'connect')
DLL load failed: 指定されたモジュールが見つかりません
PostgreSQLのパスを追加してからシステム再起動を行っていなかったため。
再起動でApacheがパスを認識するようになり解決。

trac.ini の default_encoding をShift_JISにする。
python の日本語対応モジュールを導入する。