Tracインストールメモ

プロジェクト管理システム(?)のTracWindowsにインストールしてみた。かなり面倒なので忘れないよう手順をメモ。

環境は以下の通り。

Step 1: Pythonのインストール

http://www.activestate.com/Products/ActivePython/

からダウンロードページに行き、ActivePython 2.3.5.236 の Windowsインストーラ ActivePython-2.3.5-236-win32-ix86.msi をダウンロードする。あとはそれを実行するだけ。デフォルトで C:\Python23 にインストールされる。

環境変数PATHは勝手に追加してくれるみたい(?)。もし追加されていなければコントロールパネル>システム>詳細設定>環境変数、で、システム環境変数のPATHに

;C:\Python23

を追加。

Step 2: pysqlite のインストール

http://pysqlite.org/

のDownloadsセクションから、"Latest stable version (2.0.4)" の "Windows binaries for Python 2.3" のファイル pysqlite-2.0.4.win32-py2.3.exe をダウンロード。インストーラになっているのでそのまま実行する。

コマンドラインから Python インタプリタを起動し、

以下のように入力して、

次のように OK と出れば Python と pysqlite のインストールはうまくいっている。

................................................................................
..............................................................

                                                                                                                                          • -

Ran 142 tests in 0.328s

OK

Step 3: ClearSilver のインストール

http://www.clearsilver.net/downloads/

の "Binaries" から win32/clearsilver-0.9.14.win32-py2.3.exe をダウンロード。インストールはファイルを実行するだけ。

Step 4: DocUtils のインストール

http://docutils.sourceforge.net/

のDownloadセクションから、docutils-0.3.9.tgz をダウンロードする。コマンドプロンプトで、解凍してできた docutils-0.3.9 ディレクトリ(setup.py のあるディレクトリ)に移動し、以下のコマンドでインストールを行う。

自動的にPythonのインストール先を判断してインストールしてくれる。

Step 5: setuptools のインストール

http://peak.telecommunity.com/dist/ez_setup.py

をダウンロードし、コマンドプロンプトでダウンロードしたディレクトリに移動して

とコマンドを打つと、勝手にダウンロード・インストールしてくれる。

Step 6: Trac のインストール

http://projects.edgewall.com/trac/wiki/TracDownload

から"Latest Development Release - 0.9-beta2"のWindowstrac-0.9b2.win32.exe をダウンロード。これもインストールはただ実行するだけ。

Step 7: Apache2 のインストール

Trac は自前のサーバを持っているが、ここではApache経由でTracを利用するためApacheをインストールする。

http://httpd.apache.org/

からバージョン2.0.54のWindowsインストーラをダウンロード、実行するだけ。デフォルトで C:\Program Files\Apache Group\Apache2 にインストールされる。

Step 8: mod_python のインストール

TracCGI/FastCGI でも動作するが、ここでは mod_python で動かすことにする。mod_python のダウンロードページ

http://httpd.apache.org/modules/python-download.cgi

から "Other Binaries"⇒"win"⇒"3.1.3" とたどり、mod_python-3.1.3.win32-py2.3.exe をダウンロード、実行すればインストール完了。

途中で Apache のインストールディレクトリを聞かれるのでさっきApacheをインストールしたディレクトC:\Program Files\Apache Group\Apache2 を設定。

Step 9: Subversion のインストール

Windows版のダウンロードページ

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

から最新版のインストーラ svn-1.2.3-setup.exe と、Python用のライブラリ svn-win32-1.2.3_py.zip をダウンロード。

インストーラ svn-1.2.3-setup.exe はそのまま実行するだけ。デフォルトでC:\Program Files\SubversionSubversionがインストールされる。

PATHは勝手に追加されているはず。DOSプロンプトで

と入力し、Subversion のコマンド一覧が表示されればOK。もし追加されていなければ、コントロールパネル>システム>詳細設定>環境変数、で、システム環境変数のPATHに

;C:\Program Files\Subversion\bin

を追加。

svn-win32-1.2.3_py.zip のほうは解凍して、中にある libsvn と svn フォルダを C:\Python23\Lib\site-packages 以下にコピーする。

Step 10: Tracリポジトリの作成

Tracで管理するSubversionリポジトリを作成。既存のものがあればそれを指定すれば良いんだと思う(たぶん)。ここではテスト用に新しく Sandbox というプロジェクトをでっちあげることにして、そのリポジトリの場所を C:\repos\Sandbox と決めたとする。この場合コマンドプロンプトで以下のようにする。

C:\repos\Sandbox 以下に conf とか dav とかのディレクトリができていればたぶんOK。

Step 11: Tracの環境作成

その後、Tracのプロジェクトを作成する。Trac関係のファイル置き場のルートを C:\trac 、その中のSandboxプロジェクトの置き場を C:\trac\Sandbox と決めたとすると、コマンドプロンプトで以下のように入力する。

この後以下のように続く。強調してあるところが入力項目。


Creating a new Trac environment at C:\trac\Sandbox

Trac will first ask a few questions about your environment
in order to initalize and prepare the project database.

Please enter the name of your project.
This name will be used in page titles and descriptions.

Project Name [My Project]> Sandbox

Please specify the connection string for the database to use.
By default, a local SQLite database is created in the environment
directory. It is also possible to use an already existing
PostgreSQL database (check the Trac documentation for the exact
connection string syntax).

Database connection string [sqlite:db/trac.db]> (そのままEnter)

Please specify the absolute path to the project Subversion repository.
Repository must be local, and trac-admin requires read+write
permission to initialize the Trac database.

Path to repository [/var/svn/test]> /repos/Sandbox

Please enter location of Trac page templates.
Default is the location of the site-wide templates installed with Trac.

Templates directory [C:\Python23\share\trac\templates]> (そのままEnter)

この後何か色々処理がなされて、最後に


Project environment for 'Sandbox' created.

と出ればオーケー。C:\trac\Sandbox ディレクトリが事前に存在していると失敗するので注意。

また続けて、以下のコマンドでユーザ名 admin に管理者権限を設定してみる。

Welcome to trac-admin 0.9b2
Interactive Trac adminstration console.
Copyright (c) 2003-2005 Edgewall Software

Type: '?' or 'help' for help on commands.

Trac [C:\trac\Sandbox]> permission add admin TRAC_ADMIN
Trac [C:\trac\Sandbox]> exit

Step 12: ダイジェスト認証用ファイルを作成

インストールガイドではBasic認証になっているが、ここではなんとなくダイジェスト認証を使うことにしてみた。さっきTrac側に作成したユーザ admin を作成する。

この後パスワードを2回訊かれるので、パスワードをてきとうに決めて入力。

Step 13: Apacheの設定

C:\Program Files\Apache Group\Apache2\conf\httpd.conf の、LoadModule 〜 みたいのがたくさん書いてあるあたりで、


LoadModule python_module modules/mod_python.so
を追加。また、

LoadModule auth_digest_module modules/mod_auth_digest.so
のコメントを解除する(先頭の # を削除)。

次に、Apache経由でTracへアクセスできるようにする。ローカルネットワークを 192.168.1.* として、ローカルからのみアクセスさせる場合、後ろのほうに以下の行を追加。


<Location "/trac">
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /trac
PythonOption TracUriRoot /trac

Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.1.
</Location>

最後に、ログイン認証のための設定を行う。ダイジェスト認証をIEで使う場合バグ があるらしいので、そのための設定もいちおう追加する(Tracで必要なのかどうかは不明)。


BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On

<LocationMatch "/trac/[^/]+/login">
AuthType Digest
AuthName Trac
AuthDigestFile /trac/trac.htdigest
AuthDigestDomain /trac/
Require valid-user
Satisfy All
</LocationMatch>

ファイルを保存したらApache再起動。

Step 14: とりあえず確認

http://localhost/trac/

にアクセスするとAvaliable Projectsとして Sandbox が見える。リンクをクリックして新しいプロジェクトのホーム(Wiki)が表示されればとりあえずOK。

また、右上の login リンクをクリックして、

  • 認証ダイアログが出てくる
  • Step 12 で登録した admin ユーザでログインできる

ことを確認。

複数のプロジェクトをつくりたい場合は、上でプロジェクト名 "Sandbox" としたところを別のプロジェクトの名前にして、Step 10 と Step 11 を再実行すればよい……と思う。たぶん。

Step 15: mod_python へのパッチ当て

mod_python 3.1.3 には、WikiWindowsからファイル添付できないバグがあるようなので、パッチをあてる必要がある。

まずWindows版のpatchプログラムを下から入手し、てきとうな場所(ここでは C:\Program Files\patch とする)に解凍。

http://www.vector.co.jp/soft/win95/prog/se015025.html

そして、下のページにアップされている util_py.patch ファイルをダウンロードし、C:\Python23\Lib\site-packages\mod_python に配置。

http://projects.edgewall.com/trac/ticket/554

コマンドプロンプトで以下のようにする。

ウイルスバスター(?)等が patch.exe を既にインストールしている場合があるようなので、patch.exe はPATHへの登録ではなく、フルパスで指定すると無難(どうせあまり使わないだろうし)。

以下は成功したときの出力。こんな感じならたぶんOK。


Hmm... Looks like a unified diff to me...
The text leading up to this was:

                                                  • -
===================================================================
RCS file: /home/cvspublic/httpd-python/lib/python/mod_python/util.py,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- httpd-python/lib/python/mod_python/util.py 2004/02/16 19:47:27 1.21
+++ httpd-python/lib/python/mod_python/util.py 2004/04/30 19:26:36 1.22
                                                  • -

Patching file util.py using Plan A...
Hunk #1 succeeded at 15.
Hunk #2 succeeded at 224.
Hunk #3 succeeded at 269.
Hunk #4 succeeded at 283.
done

うまくいったら Apache 再起動。

その後、めでたくファイル添付できるようになった。Scarabでは駄目だった日本語ファイル名もアップロード/表示/ダウンロード、全てOK(Windowsのクライアントからしか試してませんが)。素晴らしいです。

Step 16:

//TODO
Tracの設定
ApacheSubversionの設定
SSL
0.9の日本語化�