= Trac インストールガイド 0.11 = #TracInstallationGuidefor0.11 [[TracGuideToc]] Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。 Trac のインストールとセットアップに対する一般的な手順を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。 == 簡単な方法 - リリースバージョン向け == #Short-Installareleasedversion クイックインストールをするためには [http://python.org Python-2.5], [http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install easy_install], SQlite-3.3.4 がすでにインストールされていなければなりません (各バージョンは、より新しいものでも可)。 (Genshi をビルドするのであれば、 python-dev (訳注: のような Python のビルド環境パッケージ) も必要になります) {{{ sudo easy_install Trac }}} == インストール条件 == #Requirements Trac を動作させるためのハードウェア要件は、当然のことながらデータ (Wiki ページ, チケット, リビジョンの数) のボリュームやトラフィックに強く依存します。とても小さなプロジェクトであれば、 500MHz のプロセッサ一つに 128MB の RAM でも SQLite を使って充分動作させられます。高速なハードディスクであればさらに動作が快適になるでしょう。 Trac をインストールするためには以下のソフトウェアパッケージがインストールされていなければなりません: * [http://www.python.org/ Python] 2.3 以上 * XML 関連が組み込まれた mod_python を使用する場合、 python-2.5 を使用してください。 expat モジュールがネームスペース化されているので、 apache のクラッシュが引き起こされることがなくなります。 (詳細は [http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash ここ] を参照してください) 。 * RPM ベースのシステムでは、 `python-devel` と `python-xml` パッケージが必要になるかもしれません。 * 注意事項を参照してください。 [http://trac.edgewall.org/wiki/TracOnWindows/Python2.5 "TracOnWindows/Python2.5"] * [http://peak.telecommunity.com/DevCenter/setuptools setuptools] 0.6 以上 * [http://genshi.edgewall.org/wiki/Download Genshi] 0.5 以上 (バージョン 0.4.1 以上という記述は 0.11 のリリース候補以前の場合でした) * データベースシステムと対応する Python ドライバが必要です。 データベースは SQLite, PostgreSQL, ''MySQL (実験的)'' のどれかが使えます。 * プラグインが必要とする場合は [http://www.clearsilver.net/ ClearSilver] が必要です。 ==== SQLiteの場合 ==== #ForSQLite * [http://www.sqlite.org/ SQLite] 3.3.4 以上を推奨します (Note: Python 2.5.2 には同梱されています)。 * Python-2.5 を使用しないなら [http://pysqlite.org/ PySQLite] が必要です (2.3.2 を推奨します)。 SQLite 2.x を使用する場合 PySQLite version 1.x 、 SQLite 3.x を使用する場合 PySQLite version 2.x がそれぞれ必要です。 詳細は [http://trac.edgewall.org/wiki/PySqlite 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 向けの [http://www.alastairs-place.net/2006/07/sqlite_and_mac/ パッチ] があります。また、 Apple から提供されている別のバージョン (今のところ 3.1.3) を使用するのがおそらく最も良いでしょう。'' ==== PostgreSQLの場合 ==== #ForPostgreSQL * [http://www.postgresql.org/ PostgreSQL] * [http://initd.org/projects/psycopg2 psycopg2] * See [http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql DatabaseBackend] '''Warning''': PostgreSQL 8.3 は厳密な型チェックメカニズムを採用しています。 Trac で PostgreSQL の バージョン 8.3 を使用するには、 [http://trac.edgewall.org/changeset/6512 trac-0.11] 以降でなければなりません。 ==== MySQLの場合 ==== #ForMySQL '''Warning''': MySQL のサポートは今のところ ''まだ'' 実験段階です。 環境によっては動作しますが、特に unicode の使用と、リポジトリキャッシュのキー長に関して、いくつかの問題が残っています。より詳細な情報は [http://trac.edgewall.org/wiki/MySqlDb MySqlDb] を参照してください。 * [http://mysql.com/ MySQL] 4.1 以上 * [http://sf.net/projects/mysql-python MySQLdb] 1.2.1 以上 == 非必須の条件 == #OptionalRequirements ==== バージョン管理システム ==== #VersionControlSystem '''Please note:''' Subversion を使用するなら Trac を同じマシンにインストールする必要があります。リモートリポジトリは現在サポートされていません。 * [http://subversion.tigris.org/ Subversion] 1.0 以上 (1.2.4, 1.3.2, 1.4.2 のいずれかが推奨されます) と '''''対応する''''' Python バインディングに対応しています。トラブルシューティングには [http://trac.edgewall.org/wiki///trac.edgewall.org/wiki/TracSubversion TracSubversion] を参照してください。 * Trac は Subversion のディストリビューションに含まれる [http://svnbook.red-bean.com/svnbook-1.1/ch08s02.html#svn-ch-8-sect-2.3 SWIG] バインディングを使用します。 [http://pysvn.tigris.org/ PySVN] では '''ありません''' (PySVN は時々、標準の SWIG バインディングと混同されることがあります)。 * SWIG バインディングを含まない Subversion が既にインストールされている場合、 Unix であれば `make swig-py` と `make install-swig-py` による Subversion の再構成が必要です。 * Win32 の場合、 [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 pre-compiled bindings] から取得してください。 * サードパーティから他のバージョン管理システムのサポートが提供されています。 [http://trac.edgewal.org/wiki/PluginList PluginList] と [http://trac.edgewall.org/wiki/VersioningSystemBackend VersioningSystemBackend] を参照してください。 ==== Web サーバ ==== #WebServer * CGI が利用可能な Web サーバ (TracCgi を参照してください) または * [http://www.fastcgi.com/ FastCGI] が利用可能な Web サーバ (TracFastCgi を参照してください) または * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] 互換の Web サーバ ([http://trac.edgewall.org/wiki/TracOnWindowsIisAjp TracOnWindowsIisAjp] を参照してください) または * [http://httpd.apache.org/ Apache] と [http://code.google.com/p/modwsgi/ mod_wsgi] ([wiki:TracModWSGI] や http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照してください) * mod_wsgi は非常に新しく、いくらか実験的ですが、これは Apache 1.3, 2.0 または 2.2 で動作するはずで、 mod_python を使用するよりも良いパフォーマンスが出るはずです。 * [http://httpd.apache.org/ Apache] と [http://www.modpython.org/ mod_python 3.1.3 以降] (TracModPython を参照してください) * mod_python をインストールするときは、開発向けの Python と Apache が必須になります (実際にはライブラリとヘッダファイル) 。 Trac を Apache と [http://www.modpython.org/ mod_python 2.7] で動かすことも可能です。([http://trac.edgewall.org/wiki/TracModPython2.7 TracModPython2.7] を参照してください) 。このガイドは 0.8.4 以降更新されていないので動作が異なるかもしれません。 ==== その他の Python ユーティリティ ==== #OtherPythonUtilities * WikiRestructuredText は [http://docutils.sourceforge.net/ docutils] 0.3.9 以降が必要です。 * '''シンタックスハイライト''' を行うには [http://pygments.pocoo.org Pygments] が必要です。 [http://silvercity.sourceforge.net/ SilverCity] の 0.9.7 以降や、 [http://gnu.org/software/enscript/enscript.html GNU Enscript] なども併せて使用することができます。詳細は TracSyntaxColoring を参照してください。 * [http://pytz.sf.net pytz] からタイムゾーンの完全なリストを取得します。 pytz を使用しなければ Trac は内部実装された短いリストを使用します。 '''Attention''': これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は [http://trac.edgewall.org/wiki/MailingList メーリングリスト] や [http://trac.edgewall.org/wiki/IrcChannel IRC チャネル] で質問をする前にすべての依存関係を再度確認してください。 これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の多くに、これらの依存関係のインストール方法が記述されています。しかしながら [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。 == Tracのインストール == #InstallingTrac 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 が必要とするすべてのリソースが含まれています。 このスクリプトは [wiki:TracStandalone tracd] スタンドアロンサーバと一緒に、 [wiki:TracEnvironment プロジェクト Environment] を作成し維持するための [wiki:TracAdmin trac-admin] コマンドラインツールをインストールします。 ==== 高度なオプション ==== #AdvancedOptions Trac のインストール場所を変えるなどの高度なインストールオプションを知りたければ以下を実行してください: {{{ easy_install --help }}} 詳細な情報は [htt