wiki:TracInstall

Version 1 (modified by trac, 7 years ago) (diff)

--

Trac インストールガイド 0.11

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

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

簡単な方法 - リリースバージョン向け

クイックインストールをするためには Python-2.5, easy_install, SQlite-3.3.4 がすでにインストールされていなければなりません (各バージョンは、より新しいものでも可)。 (Genshi をビルドするのであれば、 python-dev (訳注: のような Python のビルド環境パッケージ) も必要になります)

sudo easy_install Trac

インストール条件

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

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

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

SQLiteの場合

  • SQLite 3.3.4 以上を推奨します (Note: Python 2.5.2 には同梱されています)。
  • Python-2.5 を使用しないなら PySQLite が必要です (2.3.2 を推奨します)。 SQLite 2.x を使用する場合 PySQLite version 1.x 、 SQLite 3.x を使用する場合 PySQLite version 2.x がそれぞれ必要です。 詳細は PySqlite を参照してください。

Note: 'contrib/trac-post-commit-hook' を使用する場合、 Trac は 0.9 以降、 PySQLite は 2.x が必要です。

Note: Mac OS X のユーザは注意してください; Apple が提供している SQLite は AFP や SMB のようなネットワークファイルシステムでのがいるロックを行うための追加コードが含まれています。このコードは現在のメインラインのソース (3.3.6) では存在しませんので、ソースから SQLite をビルドした場合にこのようなファイルシステムでは正しく機能しないでしょう - 通常は "database is locked" というエラーが発生します。 Apple のコードをベースにした 3.3.6 向けの パッチ があります。また、 Apple から提供されている別のバージョン (今のところ 3.1.3) を使用するのがおそらく最も良いでしょう。

PostgreSQLの場合

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

MySQLの場合

Warning: MySQL のサポートは今のところ まだ 実験段階です。 環境によっては動作しますが、特に unicode の使用と、リポジトリキャッシュのキー長に関して、いくつかの問題が残っています。より詳細な情報は MySqlDb を参照してください。

非必須の条件

バージョン管理システム

Please note: Subversion を使用するなら Trac を同じマシンにインストールする必要があります。リモートリポジトリは現在サポートされていません。

  • 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-pymake install-swig-py による Subversion の再構成が必要です。
    • Win32 の場合、 pre-compiled bindings から取得してください。
  • サードパーティから他のバージョン管理システムのサポートが提供されています。 PluginListVersioningSystemBackend を参照してください。

Web サーバ

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

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

  • WikiRestructuredTextdocutils 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

上記の例は、 tracdtrac-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 がインストールされている場合、データベース接続文字列はいつでもデフォルト値で動作します。バージョン管理システムのリポジトリへのパスを指定しない場合、バージョン管理に関するすべての機能が無効化されますが、基本システムが動いていればいつでもバージョン管理に関する機能を追加することができます。

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

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

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

Warning: インストールされたファイルの中から trac.cgi を探しても見つかりません。現在のドキュメントは不完全な状態です; trac-admin の 'deploy' コマンドを使う必要があります。詳細は http://trac.edgewall.org/ticket/7312http://trac.edgewall.org/ticket/6827 を参照してください。

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

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 とも接続することができます。

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

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

認証の構成

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

SVN のチェンジセットを Trac のチケットに自動リンクする方法

ファイルをリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように 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, TracModWSGI, TracUpgrade, TracPermissions