最終更新:2010-06-25 (金) 06:21:55 (2947d)  

Trac インストールガイド 0.11 はてなブックマークを見る
Top / Trac インストールガイド 0.11

Trac インストールガイド 0.11 [#TracInstallationGuidefor0.11]

TracGuideToc?

Trac は Python で書かれており、データベースとして SQLite, PostgreSQL, MySQL のどれかが必要です。 Trac は HTML レンダリングのために Genshi? テンプレートシステムを使用します。

Trac のインストールとセットアップに対する一般的な手順を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの TracInstallPlatforms にありますが、 まず最初に以下の一般的な手順を読み通して タスクの関係を確実に理解してください。

すでにインストールした Trac をアップグレードする手順は TracUpgrade? を参照してください。

リリース済みバージョンの簡単なインストール方法

簡単にインストールするには、まず、 Python (2.3-2.6) と easy_install をインストールしておいてください。

その状態で次のコマンドを実行します (存在しなければ 'sudo' は外してください)

sudo easy_install Trac 

Trac, SQLite, Genshi? などがまとめてインストールされます。

インストール条件

Trac を動作させるためのハードウェア要件は、当然のことながらデータ (Wiki ページ, チケット, リビジョンの数) のボリュームやトラフィックに強く依存します。とても小さなプロジェクトであれば、 500MHz のプロセッサ一つに 128MB の RAM でも SQLite を使って充分動作させられます。高速なハードディスクであればさらに動作が快適になるでしょう。

Trac をインストールするためには以下のソフトウェアパッケージがインストールされていなければなりません:

  • Python 2.3 以上 (3.0 以降は未対応)
    • XML 関連が組み込まれた mod_python を使用する場合、 python-2.5 を使用してください。 expat モジュールがネームスペース化されているので、 apache のクラッシュが引き起こされることがなくなります。 (詳細は ここ を参照してください) 。
    • RPM ベースのシステムでは、 `python-devel` と `python-xml` パッケージが必要になるかもしれません。
    • 注意事項を参照してください。 "TracOnWindows/Python2.5"
  • setuptools 0.6 以上
  • Genshi 0.5 以上 (バージョン 0.4.1 以上という記述は 0.11 のリリース候補以前の場合でした)
  • データベースシステムと対応する Python ドライバが必要です。 データベースは SQLite, PostgreSQL, MySQL のどれかが使えます。
  • プラグインが必要とする場合は ClearSilver が必要です。

SQLiteの場合

Python 2.5 か 2.6 の場合は、必要なライブラリは同梱されています。

Python 2.3, 2.4 の場合、 pysqlite が必要です。 pysqlite は google code から Windows インストーラやソースからのビルド用の tar.gz アーカイブがダウンロードできます:

$ tar xvfz .tar.gz 
$ cd 
$ python setup.py build_static install 

最新の SQLite のバージョンをダウンロードし、バインディングをビルドできます。 That way, the latest SQLite version will be downloaded and built into the bindings.

SQLite 2.x をまだ使っているのであれば、 pysqlite 1.0.x が必要ですが、この パッケージはそう簡単には見つかりません。 SQLite 3.x の場合は pysqlite 2.x を使用してください。 pysqlite 1.1.x は、もう古くなっています。

詳しくは PySqlite を参照してください。

PostgreSQLの場合

Warning: PostgreSQL 8.3 は厳密な型チェックメカニズムを採用しています。 Trac で PostgreSQL の バージョン 8.3 を使用するには、 trac-0.11 以降でなければなりません。

MySQLの場合

詳しくは MySqlDb を参照してください。 データベースを作成する前に、このページを注意深く読んでください。 とても 重要なことが記載されています。

非必須の条件

バージョン管理システム

Please note: Subversion を使用するなら Trac を同じマシンにインストールする必要があります。リモートリポジトリは現在サポートされていません。 (Windows では \\machine_name\path\to\svn のような UNC パスは動作します)。

  • Subversion 1.0 以上 (1.2.4, 1.3.2, 1.4.2 のいずれかが推奨されます) と '対応する' Python バインディングに対応しています。トラブルシューティングには TracSubversion を参照してください。
    • Trac は Subversion のディストリビューションに含まれる SWIG バインディングを使用します。 PySVN では ありません (PySVN は時々、標準の SWIG バインディングと混同されることがあります)。
    • SWIG バインディングを含まない Subversion が既にインストールされている場合、 Unix であれば `make swig-py` と `make install-swig-py` による Subversion の再構成が必要です。
    • Win32 の場合、 pre-compiled bindings から取得してください。
  • サードパーティから他のバージョン管理システムのサポートが提供されています。 PluginListVersioningSystemBackend を参照してください。

Web サーバ

  • CGI が利用可能な Web サーバ (TracCgi? を参照してください) または
  • FastCGI が利用可能な Web サーバ (TracFastCgi? を参照してください) または
  • AJP 互換の Web サーバ (TracOnWindowsIisAjp を参照してください) または
  • Apachemod_wsgi? ([wiki:TracModWSGI] や http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照してください) または
    • mod_wsgi は非常に新しく、いくらか実験的ですが、これは Apache 1.3, 2.0 または 2.2 で動作するはずで、 mod_python を使用するよりも良いパフォーマンスが出るはずです。
  • Apachemod_python 3.1.3 以降 (TracModPython? を参照してください)
    • mod_python をインストールするときは、開発向けの Python と Apache が必須になります (実際にはライブラリとヘッダファイル) 。

Trac を Apachemod_python 2.7 で動かすことも可能です。(TracModPython2.7 を参照してください) 。このガイドは 0.8.4 以降更新されていないので動作が異なるかもしれません。

その他の Python ユーティリティ

  • WikiRestructuredText?docutils 0.3.9 以降が必要です。
  • シンタックスハイライト を行うには Pygments が必要です。 SilverCity の 0.9.7 以降や、 GNU Enscript なども併せて使用することができます。詳細は TracSyntaxColoring? を参照してください。
  • pytz からタイムゾーンの完全なリストを取得します。 pytz を使用しなければ Trac は内部実装された短いリストを使用します。

Attention: これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は メーリングリストIRC チャネル で質問をする前にすべての依存関係を再度確認してください。

これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また プラットフォーム特有の説明 の多くに、これらの依存関係のインストール方法が記述されています。しかしながら プラットフォーム特有の説明 の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。

Tracのインストール

Trac をインストールする 1 つの方法は `setuptools` を使用することです。 setuptools は subversion のリポジトリから Trac をインストールすることができます; 0.11 のリリースバージョンをインストールするための例を以下に示します:

easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11 

もちろん、ソースディレクトリのトップでの典型的な python セットアップもできます:

$ python ./setup.py install 

Note: このステップを実行するためには root 権限 (または root 権限と同等の権限) が必要です。

この操作で Python のソースコードがバイトコンパイルされ、 .egg ファイルかディレクトリが Python インストールの `site-packages` ディレクトリにインストールされます。 .egg には htdocs や templates のような、ソースファイル以外に標準インストールの Trac が必要とするすべてのリソースが含まれています。

このスクリプトは tracd? スタンドアロンサーバと一緒に、 プロジェクト Environment? を作成し維持するための trac-admin? コマンドラインツールをインストールします。

高度なオプション

Trac のインストール場所を変えるなどの高度なインストールオプションを知りたければ以下を実行してください:

easy_install --help 

詳細な情報は Python モジュールをインストールする を参照してください。

特にあなたは以下に興味を持つかもしれません:

easy_install --prefix=/path/to/installdir 

Mac OS X に Trac をインストールする場合:

easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages 

上記の例は、 `tracd` と `trac-admin` コマンドを `/usr/local/bin` に、 Trac のライブラリと依存ファイルを `/Library/Python/2.5/site-packages` にインストールします。これらのパスは Apple での Pyhton サードパーティアプリケーションの標準ロケーションです。(訳注: つまり、上記と違うパスにインストールしたい場合のみ、オプションの指定が必要になります)

プロジェクト Environment の作成

Trac Environment? は Trac が Wiki ページ、チケット、レポート、設定などの情報を保存するバックエンドストレージです。基本的に人間が読み込み可能な構成ファイルと他の様々なファイルやディレクトリで構成されます。

新しい環境は trac-admin? を使用して作成します:

$ trac-admin /path/to/myproject initenv 

trac-admin? はプロジェクト名、 ソースコードのリポジトリ? のタイプとパス、 データベース接続文字列? など、 Environment を作成するのに必要な情報の入力を促します。これらのオプションを指定せず、空白を入力するとデフォルト値が使用されます。 SQLite がインストールされている場合、データベース接続文字列はいつでもデフォルト値で動作します。バージョン管理システムのリポジトリへのパスを指定しない場合、バージョン管理に関するすべての機能が無効化されますが、基本システムが動いていればいつでもバージョン管理に関する機能を追加することができます。

また、 ここで指定した値は [wiki:TracIni?] 設定ファイルを直接編集することで後から変更できることに留意してください。

Note: Web サーバのユーザアカウントは Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 Linux では、 Web サーバが apache というユーザ、 apache というグループで起動している場合は以下のように入力してください。:

chown -R apache.apache /path/to/myproject

スタンドアロンサーバの起動

Trac 環境を作成した後に、スタンドアロンサーバ tracd? を実行することで簡単に Web インタフェースを試すことができます。

$ tracd --port 8000 /path/to/myproject 

ブラウザを起動して、 `http://localhost:8000/` にアクセスしてください。 tracd が認識しているすべての Environment の簡単な一覧が表示されます。作成した Environment へのリンクにアクセスすることで Trac が動作中であることを確認できます。 Trac でプロジェクトをひとつだけ管理したい場合、以下のように起動することで、スタンドアロンサーバは Environment 一覧の表示をスキップして、直接 Environment を表示します:

$ tracd -s --port 8000 /path/to/myproject 

Web サーバ上での Trac の起動

Trac に "真の" Web サーバから接続するには 3 つの方法があります: CGI?, FastCGI?, mod_python? です。まともな性能を出すには FastCGI か mod_python のどちらかを使用することが推奨されます。

また、新しいコードを実行することを恐れていないのであれば mod_wsgi? を実行してみることもできます。 mod_wsgi は mod_python 以上の性能を提供するはずですが、 mod_python に比べ充分テストされたわけではありません。

Trac では AJP も使用できます。これを使うと IIS とも接続することができます。

Trac の cgi-bin ディレクトリを生成する

Trac を FastCGI や mod_python (訳註: おそらく mod_wsgi の誤り) で正しく機能させるには、 trac.cgi ファイルが必要となります。このファイルは適切な Python コードをロードする実行可能ファイルです。このファイルは trac-admin? コマンドの `deploy` オプションを使用することで生成できます。

若干の「卵が先か鶏が先か」問題があります。 trac-admin? コマンドが機能するためには Environment が必要なのですが、 deploy には既に存在するディレクトリは使用できません。これに起因して、 Environment は depoly するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにすます:

mkdir -p /usr/share/trac/projects/my-project 
trac-admin /usr/share/trac/projects/my-project initenv 
trac-admin /usr/share/trac/projects/my-project deploy /tmp/deploy 
mv /tmp/deploy/* /usr/share/trac 

プラグインキャッシュの設定

Python プラグインの中にはキャッシュディレクトリを必要とするものがあります。デフォルトではキャッシュディレクトリは、現在のユーザのホームディレクトリに置かれます。 Trac を Web サーバで動作させている場合、ホームディレクトリを持たない専用ユーザであることが多く (強く推奨します)、プラグインの起動が妨げられることがあります。キャッシュディレクトリの場所を変更するには、環境変数 PYTHON_EGG_CACHE を設定してください。設定方法の詳細は使用しているサーバのドキュメントから参照してください。

認証の構成

認証のためのユーザアカウントを追加、削除、構成する方法は Trac を起動する方法により異なります。基本的な手順は TracCgi? ページの "認証を追加する"? セクションで説明されていますが、各フロントエンドのための認証をセットアップする方法は、以下のいずれかを参照してください:

  • TracStandalone? スタンドアロンサーバ `tracd` を使用する場合
  • TracCgi? CGI か FastCGI を使用する場合
  • TracModPython? mod_python を使用する場合

SVN のチェンジセットを Trac のチケットに自動リンクする方法 &aname: ID too long;

ファイルをリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません:

  • Refs !#123 - このチェンジセットへのリンクをチケット !#123 に追加します
  • Fixes !#123 - このチェンジセットへのリンクをチケット !#123 に追加し、チケットを fixed でクローズします。

SVN リポジトリの post-commit hook を編集し、 Trac 配布物に含まれる trac-post-commit-hook が実行されるようにしてください。

post-commit hook を編集するときは、まず SVN リポジトリ内の hooks フォルダに移動し、 post-commit 用のテンプレートファイルを rename してファイルを作成します:

$ cd /path/to/svn/repository/hooks 
$ mv post-commit.tmpl post-commit 
$ chmod 755 post-commit 

続いて、ファイルをテキストエディタで開き、以下の行を追加します。パスは編集中の SVN リポジトリに接続している Trac environment のパス、および trac-post-commit-hook スクリプトのパスで置き換えてください:

REPOS="$1" 
REV="$2" 
TRAC_ENV="/path/to/your/trac/project" 
 
/usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" 

もちろん trac-post-commit-hook は上記のパスに存在し、 SVN を実行しているユーザの権限で実行できる必要があります。このスクリプトは Trac 配布物中では contrib フォルダに配置されています。最新のバージョンは trunk/contrib/trac-post-commit-hook からダウンロードすることができます。

プラットフォーム固有のインストール方法

Tracを使用する

一度 Trac サイトを稼働させれば、 Subversion のリポジトリをブラウズする、チケットを作成する、タイムラインを見るなどが可能になるはずです。

anonymous (ログインしていない) でアクセスするユーザは、デフォルトでほとんどの機能を使用することができますが、すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し アクセス許可? を与える必要があるでしょう。

Enjoy!

The Trac Team


See also: TracInstallPlatforms, TracGuide?, TracCgi?, TracFastCgi?, TracModPython?, [wiki:TracModWSGI], TracUpgrade?, TracPermissions?