初期バージョン から バージョン 1 における更新: TracInstall

差分発生行の前後
無視リスト:
更新日時:
2011/12/16 18:40:18 (13 年 前)
更新者:
trac
コメント:

--

凡例:

変更なし
追加
削除
変更
  • TracInstall

    v1 v1  
     1= Trac インストールガイド 0.11 = #TracInstallationGuidefor0.11 
     2[[TracGuideToc]] 
     3 
     4Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。 
     5 
     6Trac のインストールとセットアップに対する一般的な手順を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。 
     7 
     8== 簡単な方法 - リリースバージョン向け == #Short-Installareleasedversion 
     9クイックインストールをするためには [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 のビルド環境パッケージ) も必要になります) 
     10{{{ 
     11sudo easy_install Trac 
     12}}} 
     13 
     14== インストール条件 == #Requirements 
     15Trac を動作させるためのハードウェア要件は、当然のことながらデータ (Wiki ページ, チケット, リビジョンの数) のボリュームやトラフィックに強く依存します。とても小さなプロジェクトであれば、 500MHz のプロセッサ一つに 128MB の RAM でも SQLite を使って充分動作させられます。高速なハードディスクであればさらに動作が快適になるでしょう。 
     16 
     17Trac をインストールするためには以下のソフトウェアパッケージがインストールされていなければなりません: 
     18 
     19 * [http://www.python.org/ Python] 2.3 以上 
     20   * XML 関連が組み込まれた mod_python を使用する場合、 python-2.5 を使用してください。 expat モジュールがネームスペース化されているので、 apache のクラッシュが引き起こされることがなくなります。 (詳細は [http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash ここ] を参照してください) 。 
     21   * RPM ベースのシステムでは、 `python-devel` と `python-xml` パッケージが必要になるかもしれません。 
     22   * 注意事項を参照してください。 [http://trac.edgewall.org/wiki/TracOnWindows/Python2.5 "TracOnWindows/Python2.5"] 
     23 * [http://peak.telecommunity.com/DevCenter/setuptools setuptools] 0.6 以上 
     24 * [http://genshi.edgewall.org/wiki/Download Genshi] 0.5 以上 (バージョン 0.4.1 以上という記述は 0.11 のリリース候補以前の場合でした) 
     25 * データベースシステムと対応する Python ドライバが必要です。 
     26   データベースは SQLite, PostgreSQL, ''MySQL (実験的)'' のどれかが使えます。 
     27 * プラグインが必要とする場合は [http://www.clearsilver.net/ ClearSilver] が必要です。 
     28 
     29==== SQLiteの場合 ==== #ForSQLite 
     30 
     31 * [http://www.sqlite.org/ SQLite] 3.3.4 以上を推奨します (Note: Python 2.5.2 には同梱されています)。 
     32 * 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] を参照してください。 
     33 
     34''Note: 'contrib/trac-post-commit-hook' を使用する場合、 Trac は 0.9 以降、 PySQLite は 2.x が必要です。 
     35 
     36''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) を使用するのがおそらく最も良いでしょう。'' 
     37 
     38==== PostgreSQLの場合 ==== #ForPostgreSQL 
     39 
     40 * [http://www.postgresql.org/ PostgreSQL] 
     41 * [http://initd.org/projects/psycopg2 psycopg2] 
     42 * See [http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql DatabaseBackend] 
     43 
     44'''Warning''': PostgreSQL 8.3 は厳密な型チェックメカニズムを採用しています。 Trac で PostgreSQL の バージョン 8.3 を使用するには、 [http://trac.edgewall.org/changeset/6512 trac-0.11] 以降でなければなりません。 
     45 
     46==== MySQLの場合 ==== #ForMySQL 
     47 
     48'''Warning''': MySQL のサポートは今のところ ''まだ'' 実験段階です。 環境によっては動作しますが、特に unicode の使用と、リポジトリキャッシュのキー長に関して、いくつかの問題が残っています。より詳細な情報は [http://trac.edgewall.org/wiki/MySqlDb MySqlDb] を参照してください。 
     49 
     50 * [http://mysql.com/ MySQL] 4.1 以上 
     51 * [http://sf.net/projects/mysql-python MySQLdb] 1.2.1 以上 
     52 
     53== 非必須の条件 == #OptionalRequirements 
     54 
     55==== バージョン管理システム ==== #VersionControlSystem 
     56 
     57'''Please note:''' Subversion を使用するなら Trac を同じマシンにインストールする必要があります。リモートリポジトリは現在サポートされていません。 
     58 
     59 * [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] を参照してください。 
     60   * 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 バインディングと混同されることがあります)。 
     61   * SWIG バインディングを含まない Subversion が既にインストールされている場合、 Unix であれば `make swig-py` と `make install-swig-py` による Subversion の再構成が必要です。 
     62   * Win32 の場合、 [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 pre-compiled bindings] から取得してください。 
     63 * サードパーティから他のバージョン管理システムのサポートが提供されています。 [http://trac.edgewal.org/wiki/PluginList PluginList] と [http://trac.edgewall.org/wiki/VersioningSystemBackend VersioningSystemBackend] を参照してください。 
     64 
     65==== Web サーバ ==== #WebServer 
     66 * CGI が利用可能な Web サーバ (TracCgi を参照してください) または 
     67 * [http://www.fastcgi.com/ FastCGI] が利用可能な Web サーバ (TracFastCgi を参照してください) または 
     68 * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] 互換の Web サーバ ([http://trac.edgewall.org/wiki/TracOnWindowsIisAjp TracOnWindowsIisAjp] を参照してください) または 
     69 * [http://httpd.apache.org/ Apache] と [http://code.google.com/p/modwsgi/ mod_wsgi] ([wiki:TracModWSGI] や http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照してください) 
     70    * mod_wsgi は非常に新しく、いくらか実験的ですが、これは Apache 1.3, 2.0 または 2.2 で動作するはずで、 mod_python を使用するよりも良いパフォーマンスが出るはずです。 
     71 * [http://httpd.apache.org/ Apache] と [http://www.modpython.org/ mod_python 3.1.3 以降] (TracModPython を参照してください) 
     72    * mod_python をインストールするときは、開発向けの Python と Apache が必須になります (実際にはライブラリとヘッダファイル) 。 
     73 
     74Trac を Apache と [http://www.modpython.org/ mod_python 2.7] で動かすことも可能です。([http://trac.edgewall.org/wiki/TracModPython2.7 TracModPython2.7] を参照してください) 。このガイドは 0.8.4 以降更新されていないので動作が異なるかもしれません。 
     75 
     76==== その他の Python ユーティリティ ==== #OtherPythonUtilities 
     77 * WikiRestructuredText は [http://docutils.sourceforge.net/ docutils] 0.3.9 以降が必要です。 
     78 * '''シンタックスハイライト''' を行うには [http://pygments.pocoo.org Pygments] が必要です。 [http://silvercity.sourceforge.net/ SilverCity] の 0.9.7 以降や、 [http://gnu.org/software/enscript/enscript.html GNU Enscript] なども併せて使用することができます。詳細は TracSyntaxColoring を参照してください。 
     79 * [http://pytz.sf.net pytz] からタイムゾーンの完全なリストを取得します。 pytz を使用しなければ Trac は内部実装された短いリストを使用します。 
     80 
     81'''Attention''': これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は [http://trac.edgewall.org/wiki/MailingList メーリングリスト] や [http://trac.edgewall.org/wiki/IrcChannel IRC チャネル] で質問をする前にすべての依存関係を再度確認してください。 
     82 
     83これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の多くに、これらの依存関係のインストール方法が記述されています。しかしながら [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。 
     84 
     85== Tracのインストール == #InstallingTrac 
     86 
     87Trac をインストールする 1 つの方法は `setuptools` を使用することです。 
     88setuptools は subversion のリポジトリから Trac をインストールすることができます; 
     890.11 のリリースバージョンをインストールするための例を以下に示します: 
     90{{{ 
     91easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11 
     92}}} 
     93 
     94もちろん、ソースディレクトリのトップでの典型的な python セットアップもできます: 
     95{{{ 
     96$ python ./setup.py install 
     97}}} 
     98 
     99''Note: このステップを実行するためには root 権限 (または root 権限と同等の権限) が必要です。'' 
     100 
     101この操作で Python のソースコードがバイトコンパイルされ、 .egg ファイルかディレクトリが Python インストールの `site-packages` ディレクトリにインストールされます。 
     102.egg には htdocs や templates のような、ソースファイル以外に標準インストールの Trac が必要とするすべてのリソースが含まれています。 
     103 
     104このスクリプトは [wiki:TracStandalone tracd] スタンドアロンサーバと一緒に、 [wiki:TracEnvironment プロジェクト Environment] を作成し維持するための [wiki:TracAdmin trac-admin] コマンドラインツールをインストールします。 
     105 
     106==== 高度なオプション ==== #AdvancedOptions 
     107 
     108Trac のインストール場所を変えるなどの高度なインストールオプションを知りたければ以下を実行してください: 
     109{{{ 
     110easy_install --help 
     111}}} 
     112 
     113詳細な情報は [http://docs.python.org/inst/inst.html Python モジュールをインストールする] を参照してください。 
     114 
     115特にあなたは以下に興味を持つかもしれません: 
     116{{{ 
     117easy_install --prefix=/path/to/installdir 
     118}}} 
     119Mac OS X に Trac をインストールする場合: 
     120{{{ 
     121easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages 
     122}}} 
     123 
     124上記の例は、 `tracd` と `trac-admin` コマンドを `/usr/local/bin` に、 Trac のライブラリと依存ファイルを `/Library/Python/2.5/site-packages` にインストールします。これらのパスは Apple での Pyhton サードパーティアプリケーションの標準ロケーションです。(訳注: つまり、上記と違うパスにインストールしたい場合のみ、オプションの指定が必要になります) 
     125 
     126== プロジェクト Environment の作成 == #CreatingaProjectEnvironment 
     127 
     128[wiki:TracEnvironment Trac Environment] は Trac が Wiki ページ、チケット、レポート、設定などの情報を保存するバックエンドストレージです。基本的に人間が読み込み可能な構成ファイルと他の様々なファイルやディレクトリで構成されます。 
     129 
     130新しい環境は [wiki:TracAdmin trac-admin] を使用して作成します: 
     131{{{ 
     132$ trac-admin /path/to/myproject initenv 
     133}}} 
     134 
     135[wiki:TracAdmin trac-admin] はプロジェクト名、 [wiki:TracEnvironment#SourceCodeRepository ソースコードのリポジトリ] のタイプとパス、 [wiki:TracEnvironment#DatabaseConnectionStrings データベース接続文字列] など、 Environment を作成するのに必要な情報の入力を促します。これらのオプションを指定せず、空白を入力するとデフォルト値が使用されます。 SQLite がインストールされている場合、データベース接続文字列はいつでもデフォルト値で動作します。バージョン管理システムのリポジトリへのパスを指定しない場合、バージョン管理に関するすべての機能が無効化されますが、基本システムが動いていればいつでもバージョン管理に関する機能を追加することができます。 
     136 
     137また、 ここで指定した値は [wiki:TracIni] 設定ファイルを直接編集することで後から変更できることに留意してください。 
     138 
     139''Note: Web サーバのユーザアカウントは Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 Linux では、 Web サーバが apache というユーザ、 apache というグループで起動している場合は以下のように入力してください。:'' 
     140 
     141  chown -R apache.apache /path/to/myproject 
     142 
     143'''Warning: インストールされたファイルの中から trac.cgi を探しても見つかりません。現在のドキュメントは不完全な状態です; trac-admin の 'deploy' コマンドを使う必要があります。詳細は http://trac.edgewall.org/ticket/7312 や http://trac.edgewall.org/ticket/6827 を参照してください。''' 
     144 
     145== スタンドアロンサーバの起動 == #RunningtheStandaloneServer 
     146 
     147Trac 環境を作成した後に、スタンドアロンサーバ [wiki:TracStandalone tracd] を実行することで簡単に Web インタフェースを試すことができます。 
     148{{{ 
     149$ tracd --port 8000 /path/to/myproject 
     150}}} 
     151 
     152ブラウザを起動して、 `http://localhost:8000/` にアクセスしてください。 tracd が認識しているすべての Environment の簡単な一覧が表示されます。作成した Environment へのリンクにアクセスすることで Trac が動作中であることを確認できます。 Trac でプロジェクトをひとつだけ管理したい場合、以下のように起動することで、スタンドアロンサーバは Environment 一覧の表示をスキップして、直接 Environment を表示します: 
     153{{{ 
     154$ tracd -s --port 8000 /path/to/myproject 
     155}}} 
     156 
     157 
     158== Web サーバ上での Trac の起動 == #RunningTraconaWebServer 
     159 
     160Trac に "真の" Web サーバから接続するには 3 つの方法があります: [wiki:TracCgi CGI], [wiki:TracFastCgi FastCGI], [wiki:TracModPython mod_python] です。まともな性能を出すには FastCGI か mod_python のどちらかを使用することが推奨されます。 
     161 
     162また、新しいコードを実行することを恐れていないのであれば [wiki:TracModWSGI mod_wsgi] を実行してみることもできます。 mod_wsgi は mod_python 以上の性能を提供するはずですが、 mod_python に比べ充分テストされたわけではありません。 
     163 
     164Trac では [http://trac.edgewall.org/wiki/TracOnWindowsIisAjp AJP] も使用できます。これを使うと IIS とも接続することができます。 
     165 
     166==== プラグインキャッシュの設定 ==== #SettingupthePluginCache 
     167 
     168Python プラグインの中にはキャッシュディレクトリを必要とするものがあります。デフォルトではキャッシュディレクトリは、現在のユーザのホームディレクトリに置かれます。 Trac を Web サーバで動作させている場合、ホームディレクトリを持たない専用ユーザであることが多く (強く推奨します)、プラグインの起動が妨げられることがあります。キャッシュディレクトリの場所を変更するには、環境変数 PYTHON_EGG_CACHE を設定してください。設定方法の詳細は使用しているサーバのドキュメントから参照してください。 
     169 
     170== 認証の構成 == #ConfiguringAuthentication 
     171 
     172認証のためのユーザアカウントを追加、削除、構成する方法は Trac を起動する方法により異なります。基本的な手順は TracCgi ページの [wiki:TracCgi#AddingAuthentication "認証を追加する"] セクションで説明されていますが、各フロントエンドのための認証をセットアップする方法は、以下のいずれかを参照してください: 
     173 
     174 * TracStandalone スタンドアロンサーバ `tracd` を使用する場合 
     175 * TracCgi CGI か FastCGI を使用する場合 
     176 * TracModPython mod_python を使用する場合 
     177 
     178== SVN のチェンジセットを Trac のチケットに自動リンクする方法 == #AutomaticreferencetotheSVNchangesetsinTractickets 
     179 
     180ファイルをリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません: 
     181 * '''Refs !#123''' - このチェンジセットへのリンクをチケット !#123 に追加します 
     182 * '''Fixes !#123''' - このチェンジセットへのリンクをチケット !#123 に追加し、チケットを ''fixed'' でクローズします。 
     183 
     184SVN リポジトリの ''post-commit'' hook を編集し、 Trac 配布物に含まれる ''trac-post-commit-hook'' が実行されるようにしてください。 
     185 
     186''post-commit'' hook を編集するときは、まず SVN リポジトリ内の hooks フォルダに移動し、 ''post-commit'' 用のテンプレートファイルを rename してファイルを作成します: 
     187 
     188{{{ 
     189$ cd /path/to/svn/repository/hooks 
     190$ mv post-commit.tmpl post-commit 
     191$ chmod 755 post-commit 
     192}}} 
     193 
     194続いて、ファイルをテキストエディタで開き、以下の行を追加します。パスは編集中の SVN リポジトリに接続している Trac environment のパス、および ''trac-post-commit-hook'' スクリプトのパスで置き換えてください: 
     195 
     196{{{ 
     197REPOS="$1" 
     198REV="$2" 
     199TRAC_ENV="/path/to/your/trac/project" 
     200 
     201/usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV" 
     202}}} 
     203 
     204もちろん ''trac-post-commit-hook'' は上記のパスに存在し、 SVN を実行しているユーザの権限で実行できる必要があります。このスクリプトは Trac 配布物中では contrib フォルダに配置されています。最新のバージョンは [http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook trunk/contrib/trac-post-commit-hook] からダウンロードすることができます。 
     205 
     206 
     207== プラットフォーム固有のインストール方法 == #Platform-specificsinstallations 
     208 
     209 * [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] を参照してください。 
     210  
     211 
     212== Tracを使用する == #UsingTrac 
     213 
     214一度 Trac サイトを稼働させれば、 Subversion のリポジトリをブラウズする、チケットを作成する、タイムラインを見るなどが可能になるはずです。 
     215 
     216anonymous (ログインしていない) でアクセスするユーザは、デフォルトでほとんどの機能を使用することができますが、すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があるでしょう。 
     217 
     218'' Enjoy! '' 
     219 
     220[http://trac.edgewall.org/wiki/TracTeam The Trac Team] 
     221 
     222---- 
     223See also:  [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms], TracGuide, TracCgi, TracFastCgi, TracModPython, [wiki:TracModWSGI], TracUpgrade, TracPermissions