DownwardSpiral

 | 

2005/10/09

[] 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 インタプリタを起動し、

> python

以下のように入力して、

>>> from pysqlite2 import test
>>> test.test()

次のように 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 setup.py install

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

Step 5: setuptools のインストール

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

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

> python ez_setup.py

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

Step 6: Trac のインストール

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

から"Latest Development Release - 0.9-beta2"のWindows版trac-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 のインストール

Trac は CGI/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\Subversion にSubversionがインストールされる。

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

> svn help

と入力し、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 と決めたとする。この場合コマンドプロンプトで以下のようにする。

> mkdir C:\repos
> mkdir C:\repos\Sandbox
> svnadmin create C:\repos\Sandbox

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

Step 11: Tracの環境作成

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

> cd C:\Python23\Scripts
> python trac-admin /trac/Sandbox initenv

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

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 に管理者権限を設定してみる。

> python trac-admin /trac/Sandbox
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 を作成する。

> cd "C:\Program Files\Apache Group\Apache2\bin"
> htdigest -c C:\trac\trac.htdigest "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 には、WikiでWindowsからファイル添付できないバグがあるようなので、パッチをあてる必要がある。

まず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

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

> cd C:\Python23\Lib\site-packages\mod_python
> C:\Program Files\patch\patch.exe util.py util_py.patch

ウイルスバスター(?)等が 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の設定

Apache⇔Subversionの設定

SSL

0.9の日本語化�

sunasunasunasuna 2006/06/22 10:02 上記のように、setuptoolのインストールができません。
媒体をダウンロードのしたディレクトリに移って、コマンドを打っているのですが、何が問題か教えてください。

 | 
acrophobia <polymorphine@hotmail.com>