|
|
||
プロジェクト管理システム(?)のTrac をWindowsにインストールしてみた。かなり面倒なので忘れないよう手順をメモ。
環境は以下の通り。
http://www.activestate.com/Products/ActivePython/
からダウンロードページに行き、ActivePython 2.3.5.236 の Windows版インストーラ ActivePython-2.3.5-236-win32-ix86.msi をダウンロードする。あとはそれを実行するだけ。デフォルトで C:\Python23 にインストールされる。
環境変数PATHは勝手に追加してくれるみたい(?)。もし追加されていなければコントロールパネル>システム>詳細設定>環境変数、で、システム環境変数のPATHに
を追加。
のDownloadsセクションから、"Latest stable version (2.0.4)" の "Windows binaries for Python 2.3" のファイル pysqlite-2.0.4.win32-py2.3.exe をダウンロード。インストーラになっているのでそのまま実行する。
> python
以下のように入力して、
>>> from pysqlite2 import test >>> test.test()
次のように OK と出れば Python と pysqlite のインストールはうまくいっている。
................................................................................ .............................................................. ---------------------------------------------------------------------- Ran 142 tests in 0.328s OK
http://www.clearsilver.net/downloads/
の "Binaries" から win32/clearsilver-0.9.14.win32-py2.3.exe をダウンロード。インストールはファイルを実行するだけ。
http://docutils.sourceforge.net/
のDownloadセクションから、docutils-0.3.9.tgz をダウンロードする。コマンドプロンプトで、解凍してできた docutils-0.3.9 ディレクトリ(setup.py のあるディレクトリ)に移動し、以下のコマンドでインストールを行う。
> python setup.py install
自動的にPythonのインストール先を判断してインストールしてくれる。
http://peak.telecommunity.com/dist/ez_setup.py
をダウンロードし、コマンドプロンプトでダウンロードしたディレクトリに移動して
> python ez_setup.py
とコマンドを打つと、勝手にダウンロード・インストールしてくれる。
http://projects.edgewall.com/trac/wiki/TracDownload
から"Latest Development Release - 0.9-beta2"のWindows版trac-0.9b2.win32.exe をダウンロード。これもインストールはただ実行するだけ。
Trac は自前のサーバを持っているが、ここではApache経由でTracを利用するためApacheをインストールする。
からバージョン2.0.54のWindows版インストーラをダウンロード、実行するだけ。デフォルトで C:\Program Files\Apache Group\Apache2 にインストールされる。
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 を設定。
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に
を追加。
svn-win32-1.2.3_py.zip のほうは解凍して、中にある libsvn と svn フォルダを C:\Python23\Lib\site-packages 以下にコピーする。
Tracで管理するSubversionリポジトリを作成。既存のものがあればそれを指定すれば良いんだと思う(たぶん)。ここではテスト用に新しく Sandbox というプロジェクトをでっちあげることにして、そのリポジトリの場所を C:\repos\Sandbox と決めたとする。この場合コマンドプロンプトで以下のようにする。
> mkdir C:\repos > mkdir C:\repos\Sandbox > svnadmin create C:\repos\Sandbox
C:\repos\Sandbox 以下に conf とか dav とかのディレクトリができていればたぶんOK。
その後、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
インストールガイドではBasic認証になっているが、ここではなんとなくダイジェスト認証を使うことにしてみた。さっきTrac側に作成したユーザ admin を作成する。
> cd "C:\Program Files\Apache Group\Apache2\bin" > htdigest -c C:\trac\trac.htdigest "Trac" admin
この後パスワードを2回訊かれるので、パスワードをてきとうに決めて入力。
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再起動。
にアクセスするとAvaliable Projectsとして Sandbox が見える。リンクをクリックして新しいプロジェクトのホーム(Wiki)が表示されればとりあえずOK。
また、右上の login リンクをクリックして、
ことを確認。
複数のプロジェクトをつくりたい場合は、上でプロジェクト名 "Sandbox" としたところを別のプロジェクトの名前にして、Step 10 と Step 11 を再実行すればよい……と思う。たぶん。
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のクライアントからしか試してませんが)。素晴らしいです。
//TODO
Tracの設定
Apache⇔Subversionの設定
SSL?
0.9の日本語化�
媒体をダウンロードのしたディレクトリに移って、コマンドを打っているのですが、何が問題か教えてください。