Changes between Version 1 and Version 2 of TracInstall


Ignore:
Timestamp:
Aug 13, 2014, 12:08:17 AM (10 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracInstall

    v1 v2  
    1 = Trac インストールガイド 0.11 = #TracInstallationGuidefor0.11
     1= Trac Installation Guide for 1.0 =
    22[[TracGuideToc]]
    33
    4 
    54Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。
    65
    7 Trac のインストールとセットアップに対する一般的な手順を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。
    8 
    9 すでにインストールした Trac をアップグレードする手順は TracUpgrade を参照してください。
    10 
    11 
    12 == リリース済みバージョンの簡単なインストール方法 == #QuickInstallaReleasedVersion
    13 簡単にインストールするには、まず、 [http://python.org/download Python] (2.3-2.6) と [http://peak.telecommunity.com/DevCenter/EasyInstall#installing-easy-install easy_install] をインストールしておいてください。
    14 
    15 その状態で次のコマンドを実行します (''存在しなければ 'sudo' は外してください'')
    16 {{{
    17 sudo easy_install Trac
    18 }}}
    19 Trac, SQLite, Genshi などがまとめてインストールされます。
    20 
    21 
    22 == インストール条件 == #Requirements
    23 Trac を動作させるためのハードウェア要件は、当然のことながらデータ (Wiki ページ, チケット, リビジョンの数) のボリュームやトラフィックに強く依存します。とても小さなプロジェクトであれば、 500MHz のプロセッサ一つに 128MB の RAM でも SQLite を使って充分動作させられます。高速なハードディスクであればさらに動作が快適になるでしょう。
    24 
     6バージョン 0.12 以降、 Trac はローカライズされているため、自分が普段使っている言語に翻訳されているかもしれません。 Trac のインタフェースで別の言語を使用したい場合は、任意のパッケージである [#OtherPythonPackages Babel] をインストールする必要があります。[#InstallingTrac Installing Trac] セクションのローカライゼーションのサポートの手順を参照してください。 Babel がない場合、通常通り、デフォルトの英語バージョンのみ使用することができます。
     7
     8新しい言語での翻訳の作成や、すでにある言語での翻訳のエンハンスをコントリビュートした場合は [[trac:TracL10N]] を見てみてください。 (訳注: 日本語の翻訳はすでにコントリビュートされています)
     9
     10Trac のインストールとセットアップに対する一般的な手順と必要な条件を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [trac:TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。
     11
     12[[PageOutline(2-3,インストール手順,inline)]]
     13
     14== 依存関係 == #Dependencies
     15=== 必須の依存関係 === #MandatoryDependencies
    2516Trac をインストールするためには以下のソフトウェアパッケージがインストールされていなければなりません:
    2617
    27  * [http://www.python.org/ Python] 2.3 以上 (3.0 以降は未対応)
    28    * XML 関連が組み込まれた mod_python を使用する場合、 python-2.5 を使用してください。 expat モジュールがネームスペース化されているので、 apache のクラッシュが引き起こされることがなくなります。 (詳細は [http://www.dscpl.com.au/wiki/ModPython/Articles/ExpatCausingApacheCrash ここ] を参照してください) 。
    29    * RPM ベースのシステムでは、 `python-devel` と `python-xml` パッケージが必要になるかもしれません。
    30    * 注意事項を参照してください。 [http://trac.edgewall.org/wiki/TracOnWindows/Python2.5 "TracOnWindows/Python2.5"]
    31  * [http://trac.edgewall.org/wiki/setuptools setuptools] 0.6 以上
    32  * [http://genshi.edgewall.org/wiki/Download Genshi] 0.5 以上 (バージョン 0.4.1 以上という記述は 0.11 のリリース候補以前の場合でした)
    33  * データベースシステムと対応する Python ドライバが必要です。
    34    データベースは SQLite, PostgreSQL, MySQL のどれかが使えます。
    35  * プラグインが必要とする場合は [http://www.clearsilver.net/ ClearSilver] が必要です。
    36 
    37 ==== SQLiteの場合 ==== #ForSQLite
    38 
    39 Python 2.5 か 2.6 の場合は、必要なライブラリは同梱されています。
    40 
    41 Python 2.3, 2.4 の場合、 pysqlite が必要です。 pysqlite は
    42 [http://code.google.com/p/pysqlite/downloads/list google code] から Windows
    43 インストーラやソースからのビルド用の tar.gz アーカイブがダウンロードできます:
    44 {{{
    45 $ tar xvfz <version>.tar.gz
    46 $ cd <version>
    47 $ python setup.py build_static install
    48 }}}
    49  
    50 最新の SQLite のバージョンをダウンロードし、バインディングをビルドできます
    51 That way, the latest SQLite version will be downloaded and built into the
    52 bindings.
    53 
    54 SQLite 2.x をまだ使っているのであれば、 pysqlite 1.0.x が必要ですが、この
    55 パッケージはそう簡単には見つかりません。 SQLite 3.x の場合は pysqlite 2.x
    56 を使用してください。 pysqlite 1.1.x は、もう古くなっています。
    57 
    58 詳しくは [http://trac.edgewall.org/wiki/PySqlite PySqlite] を参照してください。
    59 
    60 ==== PostgreSQLの場合 ==== #ForPostgreSQL
    61 
    62  * [http://www.postgresql.org/ PostgreSQL]
    63  * [http://initd.org/projects/psycopg2 psycopg2]
    64  * See [http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql DatabaseBackend]
    65 
    66 '''Warning''': PostgreSQL 8.3 は厳密な型チェックメカニズムを採用しています。 Trac で PostgreSQL の バージョン 8.3 を使用するには、 [http://trac.edgewall.org/changeset/6512 trac-0.11] 以降でなければなりません。
    67 
    68 ==== MySQLの場合 ==== #ForMySQL
    69 
    70  * [http://mysql.com/ MySQL] 4.1 以上 ([http://askmonty.org/wiki/index.php/MariaDB MariaDB] might work as well)
    71  * [http://sf.net/projects/mysql-python MySQLdb] 1.2.1 以上
    72 
    73 詳しくは [http://trac.edgewall.org/wiki/MySqlDb MySqlDb] を参照してください。
    74 データベースを作成する前に、このページを注意深く読んでください。 ''とても'' 重要なことが記載されています
    75 
    76 == 非必須の条件 == #OptionalRequirements
     18 * [http://www.python.org/ Python], 2.5 以上 3.0 未満
     19   (Python 2.4 のサポートは、このリリース(訳注: 1.0)で打ち切られました)
     20 * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], 0.6 以上, [http://pypi.python.org/pypi/distribute ディストリビュート] を使用してもかまいません
     21 * [http://genshi.edgewall.org/wiki/Download Genshi], 0.6 以上(リリースはされていませんが 0.7dev でも正しく動作します)
     22
     23また、データベースと、それに対応する Python のバインディングが必要です。
     24データベースは SQLite, PostgreSQL, MySQL のいずれかが使用できます。
     25
     26==== SQLite の場合 ==== #ForSQLite
     27
     28Python 2.5 、 2.6 、 2.7 には、SQLite データベースのライブラリがPython の標準ディストリビューションに( `sqlite3` モジュールとして)同梱されています。
     29
     30もちろん、最新の [[trac:Pysqlite]] をダウンロードすることも可能です。
     31[http://code.google.com/p/pysqlite/downloads/list google code] から Windows インストーラやソースからビルドするための
     32tar.gz アーカイブがダウンロードできます。
     33{{{
     34$ tar xvfz <version>.tar.gz
     35$ cd <version>
     36$ python setup.py build_static install
     37}}}
     38
     39上記の手順で最新の SQLite コードがダウンロードされバインディングがビルドされます。
     40
     41SQLite 2.x のサポートは終了しました
     42
     43既知のバグとして、 PySqlite バージョン 2.5.2-4 では、 Trac のデータベースを
     440.11.x から 0.12. にアップグレードすることができません。 2.5.5 以降か 2.5.1 と
     45それ以前のバージョンを使用して下さい。詳細については、 [trac:#9434 本家チケット 9434] を参照して下さい。
     46
     47[trac:PySqlite PySqlite] にさらに情報があります。
     48
     49==== PostgreSQL の場合 #ForPostgreSQL
     50
     51下記いずれかの データベースと、データベースに対応した Python バインディングをインストールする必要があります:
     52 * [http://www.postgresql.org/ PostgreSQL], バージョン 8.0 以降
     53 * [http://pypi.python.org/pypi/psycopg2 psycopg2]
     54
     55詳しくは [trac:DatabaseBackend#Postgresql DatabaseBackend] を参照してください。
     56
     57
     58==== MySQL の場合 ==== #ForMySQL
     59
     60Trac は以下のガイドラインで、 MySQL でも良好に動作するようになりました。
     61
     62 * [http://mysql.com/ MySQL], 5.0 以降
     63 * [http://sf.net/projects/mysql-python MySQLdb], 1.2.2 以降
     64
     65'''非常に''' 重要なことが記載されているので、データベースを作成する前に、[trac:MySqlDb] のページを注意深く読んで下さい
     66
     67=== 任意の依存関係 === #OptionalDependencies
    7768
    7869==== バージョン管理システム ==== #VersionControlSystem
    7970
    80 '''Please note:''' Subversion を使用するなら Trac を同じマシンにインストールする必要があります。リモートリポジトリは現在サポートされていません。 (Windows では {{{\\machine_name\path\to\svn}}} のような UNC パスは動作します)。
    81 
    82  * [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] を参照してください。
    83    * 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 バインディングと混同されることがあります)。
    84    * SWIG バインディングを含まない Subversion が既にインストールされている場合、 Unix であれば `make swig-py` と `make install-swig-py` による Subversion の再構成が必要です。
    85    * Win32 の場合、 [http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 pre-compiled bindings] から取得してください。
    86  * サードパーティから他のバージョン管理システムのサポートが提供されています。 [http://trac.edgewal.org/wiki/PluginList PluginList] と [http://trac.edgewall.org/wiki/VersioningSystemBackend VersioningSystemBackend] を参照してください。
     71===== Subversion =====
     72 * [http://subversion.apache.org/ Subversion] 1.5.x または 1.6.x と '''''対応する''''' Python バインディング。1.0 から 1.2.4 や 1.3.2 、 1.4.2 などの古いバージョンも今のところ動作します。トラブルシューティングの情報が [trac:TracSubversion#Troubleshooting TracSubversion] のページに記載されていますので、確認してください
     73
     74様々なプラットフォーム向けに [http://subversion.apache.org/packages.html SWIG バインディング] が用意されています。(このリストから Windows パッケージ用のコンパイル済みの SWIG バインディングを探してください。TracSubversion には [http://alagazam.net Algazam] がよいです。私も python 2.6 の基、使用しています。)
     75
     76Note: Trac は [http://pysvn.tigris.org/ PySVN] のような新しい `ctype` 形式のバインディングでは '''動作しません'''。
     77
     78
     79'''重要な Note:''' Subversion を使用するなら Trac を '''同じマシン''' にインストールする必要があります。リモートリポジトリは現在 [trac:#493 サポートされていません]。
     80
     81
     82===== その他のバージョン管理システム ===== #Others
     83
     84Subversion 以外のバージョン管理システムのサポートはサードパーティから提供されます。 [trac:PluginList] や [trac:VersionControlSystem] を参照して下さい。
    8785
    8886==== Web サーバ ==== #WebServer
    89  * CGI が利用可能な Web サーバ (TracCgi を参照してください) または
    90  * [http://www.fastcgi.com/ FastCGI] が利用可能な Web サーバ (TracFastCgi を参照してください) または
    91  * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] 互換の Web サーバ ([http://trac.edgewall.org/wiki/TracOnWindowsIisAjp TracOnWindowsIisAjp] を参照してください) または
    92  * [http://httpd.apache.org/ Apache] と [http://code.google.com/p/modwsgi/ mod_wsgi] ([wiki:TracModWSGI] や http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照してください) または
    93     * mod_wsgi は非常に新しく、いくらか実験的ですが、これは Apache 1.3, 2.0 または 2.2 で動作するはずで、 mod_python を使用するよりも良いパフォーマンスが出るはずです。
    94  * [http://httpd.apache.org/ Apache] と [http://www.modpython.org/ mod_python 3.1.3 以降] (TracModPython を参照してください)
    95     * mod_python をインストールするときは、開発向けの Python と Apache が必須になります (実際にはライブラリとヘッダファイル) 。
    96 
    97 Trac を Apache と [http://www.modpython.org/ mod_python 2.7] で動かすことも可能です。([http://trac.edgewall.org/wiki/TracModPython2.7 TracModPython2.7] を参照してください) 。このガイドは 0.8.4 以降更新されていないので動作が異なるかもしれません。
    98 
    99 ==== その他の Python ユーティリティ ==== #OtherPythonUtilities
    100  * WikiRestructuredText は [http://docutils.sourceforge.net/ docutils] 0.3.9 以降が必要です。
    101  * '''シンタックスハイライト''' を行うには [http://pygments.pocoo.org Pygments] が必要です。 [http://silvercity.sourceforge.net/ SilverCity] の 0.9.7 以降や、 [http://gnu.org/software/enscript/enscript.html GNU Enscript] なども併せて使用することができます。詳細は TracSyntaxColoring を参照してください。
    102  * [http://pytz.sf.net pytz] からタイムゾーンの完全なリストを取得します。 pytz を使用しなければ Trac は内部実装された短いリストを使用します。
    103 
    104 '''Attention''': これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は [http://trac.edgewall.org/wiki/MailingList メーリングリスト] や [http://trac.edgewall.org/wiki/IrcChannel IRC チャネル] で質問をする前にすべての依存関係を再度確認してください。
    105 
    106 これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の多くに、これらの依存関係のインストール方法が記述されています。しかしながら [http://trac.edgewall.org/wiki/TracInstallPlatforms プラットフォーム特有の説明] の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。
    107 
    108 == Tracのインストール == #InstallingTrac
    109 
    110 Trac をインストールする 1 つの方法は `setuptools` を使用することです。
    111 setuptools は subversion のリポジトリから Trac をインストールすることができます;
    112 0.11 のリリースバージョンをインストールするための例を以下に示します:
    113 {{{
    114 easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11
    115 }}}
    116 
    117 もちろん、ソースディレクトリのトップでの典型的な python セットアップもできます:
     87Trac にはサーバ機能が組み込まれているので、 Web サーバは必須ではありません。このページに下にある [#RunningtheStandaloneServer スタンドアロンサーバの起動] セクションを参照してください。
     88
     89Trac は下記の環境において動作します。
     90 * [http://httpd.apache.org/ Apache] との組み合わせで
     91   - [http://code.google.com/p/modwsgi/ mod_wsgi], [wiki:TracModWSGI] と
     92    http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac を参照
     93   - [http://modpython.org/ mod_python 3.3.1], 非奨励 (TracModPython 参照)
     94 * [http://www.fastcgi.com/ FastCGI] 対応 Web サーバ (TracFastCgi 参照)
     95 * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] 対応 Web
     96   サーバ ([trac:TracOnWindowsIisAjp TracOnWindowsIisAjp] 参照)
     97 * CGI 対応 Web サーバ (TracCgi 参照)。’’’Trac を CGI スクリプトとして使用することは
     98   全く推奨されていませんので’’’ 、上記に挙げた方法を選択して下さい
     99
     100
     101==== その他の Python パッケージ ==== #OtherPythonPackages
     102
     103 * [http://babel.edgewall.org Babel], 0.9.5 以上
     104   ローカライズの機能を使用する場合は必要(リリースはされていませんが 1.0dev でも正しく動作します)
     105 * [http://docutils.sourceforge.net/ docutils], 0.3.9 以上
     106   WikiRestructuredText の機能を使用する場合は必要
     107 * [http://pygments.pocoo.org Pygments]
     108   [wiki:TracSyntaxColoring シンタックスハイライティング] の機能を使用する場合は必要
     109   [http://silvercity.sourceforge.net/ SilverCity] や
     110   [http://gnu.org/software/enscript/enscript.html Enscript] も、今のところ使用できますが、
     111   サポートを打ち切る予定なので、 Pygments を使用してください
     112 * [http://pytz.sf.net pytz] , タイムゾーンの完全なリストを取得する場合に必要
     113   pytz がない場合、 Trac は内部で定義している
     114   短いタイムゾーンの実装にフォールバックします
     115
     116'''Attention''': これらの依存関係は様々なバージョンで必ずしも置き換えできるとは限らないので、上記のバージョン番号に注意してください。 Trac を動かす上で問題が発生した場合は [trac:MailingList メーリングリスト] や [trac:IrcChannel IRC チャネル] で質問をする前にすべての依存関係を再度確認してください。
     117
     118これらのパッケージのドキュメンテーションを参照して、それらが最も上手にインストールできる方法を探してください。また [trac:TracInstallPlatforms プラットフォーム特有の説明] の多くに、これらの依存関係のインストール方法が記述されています。しかしながら [trac:TracInstallPlatforms プラットフォーム特有の説明] の情報はあなたがインストールしている Trac より古い バージョンについての説明があることを覚えておいてください (なんと Trac 0.8 に関する説明をしているページもあります)。
     119
     120
     121== Trac のインストール == #InstallingTrac
     122=== `easy_install` を使用したインストール ===#Usingeasy_install
     123Trac をインストールする方法のひとつに [http://pypi.python.org/pypi/setuptools setuptools] の利用があります。
     124setuptools を使用すると、 Trac を Subversion リポジトリからインストールすることもできます。
     125
     126例:
     127
     128 - Trac 1.0 をインストールします:
     129   {{{
     130   easy_install Trac==1.0
     131   }}}
     132   (まだ有効になっていない場合)
     133 - 開発中の最新バージョン 1.0dev をインストールします:
     134   {{{
     135   easy_install Trac==dev
     136   }}}
     137   この場合、ローカライズに対応していないバージョンである可能性があります。
     138   リリースされているバージョンを使用するか、ソースからインストールするようにしてください
     139
     140=== `pip` を使用したインストール === #Usingpip
     141'pip' は easy_install のリプレースであり、とても簡単に素早く Python パッケージをインストールすることができます。
     142Trac を 5 分程度でインストール、起動できます:
     143
     144pip によってインストールされる場所を `/opt/user/trac` とした場合の例です:
     145
     146 -
     147{{{
     148pip -E /opt/user/trac install trac psycopg2
     149}}}
     150または
     151 -
     152{{{
     153pip -E /opt/user/trac install trac mysql-python
     154}}}
     155
     156PostgreSQL (libpq-dev) や MySQL (libmysqlclient-dev) へのバインディングも自動でビルドできるように、 pip が OS 固有のヘッダファイルを確実に利用できるようにして下さい。
     157
     158また pip は (Genshi, Pygments などの) 依存関係を解決し、 pypi.python.org から最新のパッケージをダウンロードして、 `/opt/user/trac` の配下にインストールするところまで自動化されています。
     159
     160すべてのコマンド (`tracd`, `trac-admin`) は `/opt/user/trac/bin` の配下にインストールされます。 `mod_python` (`PythonHandler` ディレクティブを使用する場合) や `mod_wsgi` (`WSGIDaemonProcess` ディレクティブを使用する場合) においても活用することができます。
     161
     162加えて、 Trac プラグインのうちのいくつか ([http://pypi.python.org/pypi?:action=search&term=trac&submit=search ここ] で一覧を見ることができます) も pip からインストールすることが可能です。
     163
     164
     165
     166=== ソースからのインストール === #Fromsource
     167もちろん、ソースディレクトリのトップに格納されている setup.py を使用してインストールすることもできます。
     168
     169(Trac-1.0.tar.gz など)リリースパッケージの .tar.gz や .zip ファイル、または直接リポジトリからソースを取得することが出来ます(詳細は Trac:SubversionRepository を参照してください)。
     170
    118171{{{
    119172$ python ./setup.py install
    120173}}}
    121174
    122 ''Note: このステップを実行するためには root 権限 (または root 権限と同等の権限) が必要です。''
     175``このステップを実行するためには root 権限 (または root 権限と同等の権限) が必要です。``
    123176
    124177この操作で Python のソースコードがバイトコンパイルされ、 .egg ファイルかディレクトリが Python インストールの `site-packages` ディレクトリにインストールされます。
    125 .egg には htdocs や templates のような、ソースファイル以外に標準インストールの Trac が必要とするすべてのリソースが含まれています。
     178.egg には htdocs や templates のようなソースファイル以外に標準の Trac が必要とするすべてのリソースが含まれています。
    126179
    127180このスクリプトは [wiki:TracStandalone tracd] スタンドアロンサーバと一緒に、 [wiki:TracEnvironment プロジェクト Environment] を作成し維持するための [wiki:TracAdmin trac-admin] コマンドラインツールをインストールします。
    128181
    129 ==== 高度なオプション ==== #AdvancedOptions
     182ソースからインストールする場合や、新しい言語で Trac を国際化するためには Babel をインストールしておく必要があります。この場合も `install` を実行するだけです (Babel がインストールされていない状態で、すでに Trac をインストールしてしまった場合でも、 `install` をやり直すことで Babel サポートを有効化できます):
     183{{{
     184$ python ./setup.py install
     185}}}
     186また、 `bdist_egg` を実行すると dist ディレクトリに作成される .egg ファイルをインストール先にコピーしたり、 (`bdist_wininst` の実行によって) Windows インストーラを作成しても構いません。
     187
     188=== 高度なオプション === #AdvancedOptions
    130189
    131190Trac のインストール場所を変えるなどの高度なインストールオプションを知りたければ以下を実行してください:
     
    144203easy_install --prefix=/usr/local --install-dir=/Library/Python/2.5/site-packages
    145204}}}
     205Note: Mac OS X 10.6 上で {{{ easy_install http://svn.edgewall.org/repos/trac/trunk }}} を使用する場合は、オプションを指定しなくても {{{ /usr/local }}} および {{{ /Library/Python/2.6/site-packages }}} にインストールされます。
    146206
    147207上記の例は、 `tracd` と `trac-admin` コマンドを `/usr/local/bin` に、 Trac のライブラリと依存ファイルを `/Library/Python/2.5/site-packages` にインストールします。これらのパスは Apple での Pyhton サードパーティアプリケーションの標準ロケーションです。(訳注: つまり、上記と違うパスにインストールしたい場合のみ、オプションの指定が必要になります)
    148208
     209
    149210== プロジェクト Environment の作成 == #CreatingaProjectEnvironment
    150211
    151 [wiki:TracEnvironment Trac Environment] は Trac が Wiki ページ、チケット、レポート、設定などの情報を保存するバックエンドストレージです。基本的に人間が読み込み可能な構成ファイルと他の様々なファイルやディレクトリで構成されます。
    152 
    153 新しい環境は [wiki:TracAdmin trac-admin] を使用して作成します:
     212[TracEnvironment Trac Environment] は Trac が Wiki ページ、チケット、レポート、設定などの情報を保存するバックエンドストレージです。基本的に人間が読み込み可能な [TracIni 構成ファイル] と他の様々なファイルやディレクトリで構成されます。
     213
     214新しい Environment は [wiki:TracAdmin trac-admin] を使用して作成します:
    154215{{{
    155216$ trac-admin /path/to/myproject initenv
    156217}}}
    157218
    158 [wiki:TracAdmin trac-admin] はプロジェクト名、 [wiki:TracEnvironment#SourceCodeRepository ソースコードのリポジトリ] のタイプとパス、 [wiki:TracEnvironment#DatabaseConnectionStrings データベース接続文字列] など、 Environment を作成するのに必要な情報の入力を促します。これらのオプションを指定せず、空白を入力するとデフォルト値が使用されます。 SQLite がインストールされている場合、データベース接続文字列はいつでもデフォルト値で動作します。バージョン管理システムのリポジトリへのパスを指定しない場合、バージョン管理に関するすべての機能が無効化されますが、基本システムが動いていればいつでもバージョン管理に関する機能を追加することができます。
    159 
    160 また、 ここで指定した値は [wiki:TracIni] 設定ファイルを直接編集することで後から変更できることに留意してください。
    161 
    162 ''Note: Web サーバのユーザアカウントは Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 Linux では、 Web サーバが apache というユーザ、 apache というグループで起動している場合は以下のように入力してください。:''
    163 
    164   chown -R apache.apache /path/to/myproject
    165 
    166 == スタンドアロンサーバの起動 == #RunningtheStandaloneServer
     219[TracAdmin trac-admin] は、プロジェクトの名前や [TracEnvironment#DatabaseConnectionStrings データベース接続文字列] など、 Environment を新規作成するために必要な情報を入力するためのプロンプトを表示します。これらの設定項目について特に変更が必要ない場合は、単に `<Enter>` を押下すると、デフォルト値が使用されます。
     220
     221データベース接続文字列のデフォルトは SQLite が使用されます。 SQLite がインストールされている場合は、他の設定は不要です。
     222他の [trac:DatabaseBackend データベースバックエンド] を使用する場合は、あらかじめデータベースが使用可能な状態にしておかねばなりません。
     223
     2240.12 以降で Trac は、新しい Environment の作成時に [TracEnvironment#SourceCodeRepository ソースコードリポジトリ] を尋ねないようになりました。リポジトリを後で [TracRepositoryAdmin 追加する] までの間、バージョン管理のサポートは無効化されます。
     225
     226また、 ここで指定した値は [TracIni conf/trac.ini] 設定ファイルを直接編集することで後から変更できます。
     227
     228最後に、 Web のフロントエンドを実行しているユーザアカウントは、 Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 `trac-admin ... initenv` の実行を該当するユーザで実行した場合は、この作業は不要ですが、そうでない場合、ただしユーザに権限を付与する作業が必要になります。たとえば Linux で `apache` ユーザ `apache` グループで Web サーバを起動する場合は:
     229{{{
     230# chown -R apache.apache /path/to/myproject
     231}}}
     232
     233{{{#!div class=important
     234'''Warning:''' アカウント名とプロジェクトパスには ASCII 文字のみを使用して下さい。 unicode 文字はサポートしていません。
     235}}}
     236
     237
     238== Trac の利用 == #DeployingTrac
     239
     240=== スタンドアロンサーバの起動 === #RunningtheStandaloneServer
    167241
    168242Trac 環境を作成した後に、スタンドアロンサーバ [wiki:TracStandalone tracd] を実行することで簡単に Web インタフェースを試すことができます。
     
    171245}}}
    172246
    173 ブラウザを起動して、 `http://localhost:8000/` にアクセスしてください。 tracd が認識しているすべての Environment の簡単な一覧が表示されます。作成した Environment へのリンクにアクセスすることで Trac が動作中であることを確認できます。 Trac でプロジェクトをひとつだけ管理したい場合、以下のように起動することで、スタンドアロンサーバは Environment 一覧の表示をスキップして、直接 Environment を表示します:
     247ブラウザを起動して、 `http://localhost:8000/` にアクセスしてください。 `tracd` が認識しているすべての Environment の簡単な一覧が表示されます。作成した Environment へのリンクにアクセスすることで Trac が動作中であることを確認できます。 Trac でプロジェクトをひとつだけ管理したい場合、以下のように起動することで、スタンドアロンサーバは Environment 一覧の表示をスキップして、直接 Environment を表示します:
    174248{{{
    175249$ tracd -s --port 8000 /path/to/myproject
    176250}}}
    177251
    178 == Web サーバ上での Trac の起動 == #RunningTraconaWebServer
    179 
    180 Trac に "真の" Web サーバから接続するには 3 つの方法があります: [wiki:TracCgi CGI], [wiki:TracFastCgi FastCGI], [wiki:TracModPython mod_python] です。まともな性能を出すには FastCGI か mod_python のどちらかを使用することが推奨されます。
    181 
    182 また、新しいコードを実行することを恐れていないのであれば [wiki:TracModWSGI mod_wsgi] を実行してみることもできます。 mod_wsgi は mod_python 以上の性能を提供するはずですが、 mod_python に比べ充分テストされたわけではありません。
    183 
    184 Trac では [http://trac.edgewall.org/wiki/TracOnWindowsIisAjp AJP] も使用できます。これを使うと IIS とも接続することができます。
    185 
    186 ==== Trac の cgi-bin ディレクトリを生成する ==== #GeneratingtheTraccgi-bindirectory
    187 
    188 Trac を FastCGI や mod_python (訳註: おそらく mod_wsgi の誤り) で正しく機能させるには、 trac.cgi ファイルが必要となります。このファイルは適切な Python コードをロードする実行可能ファイルです。このファイルは [wiki:TracAdmin trac-admin] コマンドの `deploy` オプションを使用することで生成できます。
    189 
    190 若干の「卵が先か鶏が先か」問題があります。 [wiki:TracAdmin trac-admin] コマンドが機能するためには Environment が必要なのですが、 deploy には既に存在するディレクトリは使用できません。これに起因して、 Environment は depoly するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにすます:
     252=== Web サーバ上での Trac の起動 === #RunningTraconaWebServer
     253
     254Trac には "実際の" Web サーバへ接続するために、いくつかの選択肢があります:
     255 - [wiki:TracFastCgi FastCGI]
     256 - [wiki:TracModWSGI mod_wsgi]
     257 - //[wiki:TracModPython mod_python] (mod_python は現在活発なメンテナンスが行われていないため、推奨されません)//
     258 - //[wiki:TracCgi CGI] (最適なパフォーマンスに遠く及ばないため、使用すべきではありません)//
     259
     260Trac では [trac:TracOnWindowsIisAjp AJP] もサポートしており、IIS と接続したい場合に選択肢の一つとなるかもしれません。その他の選択肢もあります: [trac:TracNginxRecipe nginx], [http://projects.unbit.it/uwsgi/wiki/Example#Traconapacheinasub-uri uwsgi], [trac:TracOnWindowsIisIsapi Isapi-wsgi] 等。
     261
     262==== Trac の cgi-bin ディレクトリを生成する ==== #cgi-bin
     263
     264Trac を FastCGI などで正しく機能させるには、 FastCGI であれば `trac.fcgi` ファイル、 mod_wsgi であれば `trac.wsgi` ファイルが必要となります。これらのファイルは適切な Python コードをロードする Python スクリプトです。 [wiki:TracAdmin trac-admin] コマンドの `deploy` オプションを使用することで生成できます。
     265
     266若干の「卵が先か鶏が先か」問題があります。 [wiki:TracAdmin trac-admin] コマンドが機能するためには Environment が必要なのですが、 deploy には既に存在するディレクトリは使用できません。これに起因して、 Environment は depoly するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにします:
    191267{{{
    192268mkdir -p /usr/share/trac/projects/my-project
     
    196272}}}
    197273
     274
     275==== 静的なリソースをマッピングする ==== #MappingStatcResources
     276
     277特に設定することなく Trac はスタイルシートや画像のような静的なリソースを扱うことができます。tracd は唯一基本的な動作環境ですが、 Web サーバがそれら静的リソースを直接供給するように設定することより、はるかに最適になります。(CGI でセットアップした場合、'''極めて望ましくない''' し、著しい性能悪化の原因となります)
     278
     279[http://httpd.apache.org/ Apache] のような Web サーバはリソースに対して "Alias" を設定することで仮想の URL を与え、サーバのファイルシステムのレイアウトとは異なる位置にマップすることができます。また、Trac自身によるこれらの要求に対する処理を避けて、直接ファイルシステム上のディレクトリへ静的リソースに対する要求をマッピングすることができます。
     280
     281静的なリソースに対する主要な URL パスとして `/chrome/common` と `/chrome/site` があります。プラグインを使用している場合、各々の静的リソースとして `/chrome/<plugin>` のようなパスが追加されていることがありますが、主要なパスに対して追加を行えるだけなので、 `/chrome` に対して `Alias` を設定しても、プラグインが提供する静的リソースに対してアクセスできる訳ではありません。(訳注: このような場合 `trac-admin` の `deploy` で作成された `htdocs` ディレクトリに対して `Alias` を使用してください)
     282
     283Note: ファイルシステムにおける静的なリソースを取得するためには、最初に [TracAdmin trac-admin] の ` <environment> deploy` コマンドを使用して、 Trac 関連のリソースを拡張する必要があります。
     284[[TracAdminHelp(deploy)]]
     285
     286ターゲットの `<directory>` は、以下のように `htdocs` ディレクトリに含まれます:
     287 - `site/` - Environment 内の `htdocs/` ディレクトリのコピーです
     288 - `common/` - Trac 自身が持つ静的なリソース
     289 - `<plugins>/` - Environment で使用可能なプラグインによって管理される個々のリソースディレクトリ
     290
     291===== 例: Apache と `ScriptAlias` ===== #ScriptAlias-example
     292
     293以下のような環境を仮定すると:
     294{{{
     295$ trac-admin /var/trac/env deploy /path/to/trac/htdocs/common
     296}}}
     297
     298Apache の設定ファイル内において `ScriptAlias` や `WSGIScriptAlias` の記述(Trac アプリケーションへの他のすべてのリクエストに対するマップの記述) ''より上に'' 以下のブロックを追記します。 パスは環境に合わせ変更してください:
     299{{{
     300Alias /trac/chrome/common /path/to/trac/htdocs/common
     301Alias /trac/chrome/site /path/to/trac/htdocs/site
     302
     303<Directory "/path/to/www/trac/htdocs">
     304  Order allow,deny
     305  Allow from all
     306</Directory>
     307}}}
     308
     309もし mod_python を使用している場合、この設定を追加した方が良いかもしれません(使用していない場合は、このエイリアスは無視されます):
     310{{{
     311<Location "/trac/chrome/common/">
     312  SetHandler None
     313</Location>
     314}}}
     315
     316Note: `trac.*cgi` スクリプトを `/trac` にマップしている場合、 `/trac/chrome/common` を加えたパスに対するリクエストは、静的リソースで処理するように割り込みを加えます。
     317
     318同様に、静的なリソースを project の `htdocs` ディレクトリで使用している場合 (テーマの中で `/trac/chrome/site` を参照しているなど)、 これらのリソースを供給するよう Apache を設定することが出来ます。(再度、.*cgi スクリプトの `ScriptAlias` や `WSGIScriptAlias` ''より上に'' 以下のブロックを記述します。インストール状況に合わせて、ファイル名やロケーションは適宜変更してください):
     319{{{
     320Alias /trac/chrome/site /path/to/projectenv/htdocs
     321
     322<Directory "/path/to/projectenv/htdocs">
     323  Order allow,deny
     324  Allow from all
     325</Directory>
     326}}}
     327
     328一方で `/trac/chrome/common` をエイリアスとするような場合、 Trac では [wiki:TracIni#trac-section| [trac] htdocs_location] を設定することで、それらリソースに対して直接リンクを生成することができます:
     329{{{
     330[trac]
     331htdocs_location = http://static.example.org/trac-common/
     332}}}
     333Note: これは 静的なリソースを供給する専用のドメインを簡単に設定します。([http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain cookie-less])
     334
     335当然、Web サーバのドキュメントルートにディレクトリをコピーする(又は、リンクする)等して、特定の URL で Web サーバに接続できるよう Trac の `htdocs/common` ディレクトリを作成する必要があります。
     336{{{
     337$ ln -s /path/to/trac/htdocs/common /var/www/static.example.org/trac-common
     338}}}
     339
     340
    198341==== プラグインキャッシュの設定 ==== #SettingupthePluginCache
    199342
    200 Python プラグインの中にはキャッシュディレクトリを必要とするものがあります。デフォルトではキャッシュディレクトリは、現在のユーザのホームディレクトリに置かれます。 Trac を Web サーバで動作させている場合、ホームディレクトリを持たない専用ユーザであることが多く (強く推奨します)、プラグインの起動が妨げられることがあります。キャッシュディレクトリの場所を変更するには、環境変数 PYTHON_EGG_CACHE を設定してください。設定方法の詳細は使用しているサーバのドキュメントから参照してください。
     343Python プラグインの中にはキャッシュディレクトリを必要とするものがあります。デフォルトではキャッシュディレクトリは、現在のユーザのホームディレクトリに置かれます。 Trac を Web サーバで動作させている場合、ホームディレクトリを持たない専用ユーザであることが多く (強く推奨します)、プラグインの起動が妨げられることがあります。キャッシュディレクトリの場所を変更するには、環境変数 PYTHON_EGG_CACHE を設定してください。環境変数を設定する方法の詳細は使用しているサーバのドキュメントから参照してください。
    201344
    202345== 認証の構成 == #ConfiguringAuthentication
    203346
    204 認証のためのユーザアカウントを追加、削除、構成する方法は Trac を起動する方法により異なります。基本的な手順は TracCgi ページの [wiki:TracCgi#AddingAuthentication "認証を追加する"] セクションで説明されていますが、各フロントエンドのための認証をセットアップする方法は、以下のいずれかを参照してください:
    205 
    206  * TracStandalone スタンドアロンサーバ `tracd` を使用する場合
    207  * TracCgi CGI か FastCGI を使用する場合
    208  * TracModPython mod_python を使用する場合
    209 
    210 == SVN のチェンジセットを Trac のチケットに自動リンクする方法 == #AutomaticreferencetotheSVNchangesetsinTractickets
    211 
    212 ファイルをリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません:
    213  * '''Refs !#123''' - このチェンジセットへのリンクをチケット !#123 に追加します
    214  * '''Fixes !#123''' - このチェンジセットへのリンクをチケット !#123 に追加し、チケットを ''fixed'' でクローズします。
    215 
    216 SVN リポジトリの ''post-commit'' hook を編集し、 Trac 配布物に含まれる ''trac-post-commit-hook'' が実行されるようにしてください。
    217 
    218 ''post-commit'' hook を編集するときは、まず SVN リポジトリ内の hooks フォルダに移動し、 ''post-commit'' 用のテンプレートファイルを rename してファイルを作成します:
    219 
    220 {{{
    221 $ cd /path/to/svn/repository/hooks
    222 $ mv post-commit.tmpl post-commit
    223 $ chmod 755 post-commit
    224 }}}
    225 
    226 続いて、ファイルをテキストエディタで開き、以下の行を追加します。パスは編集中の SVN リポジトリに接続している Trac environment のパス、および ''trac-post-commit-hook'' スクリプトのパスで置き換えてください:
    227 
    228 {{{
    229 REPOS="$1"
    230 REV="$2"
    231 TRAC_ENV="/path/to/your/trac/project"
    232 
    233 /usr/bin/python /usr/local/bin/trac-post-commit-hook -p "$TRAC_ENV" -r "$REV"
    234 }}}
    235 
    236 もちろん ''trac-post-commit-hook'' は上記のパスに存在し、 SVN を実行しているユーザの権限で実行できる必要があります。このスクリプトは Trac 配布物中では contrib フォルダに配置されています。最新のバージョンは [http://trac.edgewall.org/browser/trunk/contrib/trac-post-commit-hook trunk/contrib/trac-post-commit-hook] からダウンロードすることができます。
    237 
    238 
    239 == プラットフォーム固有のインストール方法 == #Platform-specificsinstallations
    240 
    241  * [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms] を参照してください。
    242  
    243 
    244 == Tracを使用する == #UsingTrac
    245 
    246 一度 Trac サイトを稼働させれば、 Subversion のリポジトリをブラウズする、チケットを作成する、タイムラインを見るなどが可能になるはずです。
    247 
    248 anonymous (ログインしていない) でアクセスするユーザは、デフォルトでほとんどの機能を使用することができますが、すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があるでしょう。
     347Trac は HTTP 認証を使用します。`.../login` の URL ("ログイン"(英語版では "login") ボタンの仮想パス) がリクエストされた際に、認証を要求するように Web サーバを設定する必要があります。Trac は認証情報を得た後自動的に REMOTE_USER 変数を獲得します。そのため、すべてのユーザの管理は Web サーバ の設定で行います。設定方法等の詳細な情報は、利用している Web サーバのドキュメントを参照してください。
     348
     349認証のためのユーザアカウントを追加、削除、設定する方法は Trac を起動する方法により異なります。
     350
     351以下に記すセクションを適宜参照してください:
     352 * スタンドアロンサーバ `tracd` を使用する場合は TracStandalone#UsingAuthentication
     353 * Apache Web サーバ と `mod_wsgi` に代表される `mod_python` や `mod_fcgi`, `mod_fastcgi` といったフロントエンドを使用する場合は [wiki:TracModWSGI#ConfiguringAuthentication TracModWSGI#ConfiguringAuthentication]
     354 * Apache 以外の FCGI をサポートしている Web サーバ (Cherokee, Lighttpd, !LiteSpeed, nginx) を使用する場合 TracFastCgi
     355
     356== admin ユーザへの管理者権限の付与 == #Grantingadminrightstotheadminuser
     357admin ユーザに管理者権限を付与します:
     358{{{
     359$ trac-admin /path/to/myproject permission add admin TRAC_ADMIN
     360}}}
     361このユーザは Trac プロジェクトに管理者としてアクセスするため、メニュー内に "管理"(英語版では "Admin") が表示されます。
     362
     363== インストールを終えて == #Finishingtheinstall
     364
     365=== SVN のチェンジセットを Trac のチケットに自動リンクする方法 === #AutomaticreferencetotheSVNchangesetsinTractickets
     366
     367変更をリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません:
     368 * '''`Refs #123`''' - このチェンジセットへのリンクをチケット `#123` に追加します
     369 * '''`Fixes #123`''' - このチェンジセットへのリンクをチケット `#123` に追加し、チケットを ''fixed'' でクローズします
     370
     371この機能を使用するためには post-commit フックを [wiki:TracRepositoryAdmin#ExplicitSync TracRepositoryAdmin] に記載したリポジトリにインストールし、  commit updater コンポーネントを有効にせねばなりません。コンポーネントの有効化は、 [wiki:TracIni#components-section trac.ini] ファイルの `[components]` セクションに下記記述を追加するか、 "プラグイン" (英語版では "Plugins") 管理パネルから設定します。
     372{{{
     373tracopt.ticket.commit_updater.* = enabled
     374}}}
     375詳細な情報は "プラグイン" 管理パネルの `CommitTicketUpdater` コンポーネントにあるドキュメントを参照してください。
     376
     377=== Trac を使用する === #UsingTrac
     378
     379一度 Trac サイトを稼働させれば、チケットを作成したり、タイムラインを見たり、 (設定されていれば) バージョン管理のリポジトリを閲覧したりできるはずです。
     380
     381//anonymous// (ログインしていない) でアクセスするユーザは、デフォルトではほとんど機能を使用することができません。特に、リソースに対して読み取りのみのアクセスになります。すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があります。
    249382
    250383'' Enjoy! ''
    251384
    252 [http://trac.edgewall.org/wiki/TracTeam The Trac Team]
     385[trac:TracTeam The Trac Team]
    253386
    254387----
    255 See also:  [http://trac.edgewall.org/wiki/TracInstallPlatforms TracInstallPlatforms], TracGuide, TracCgi, TracFastCgi, TracModPython, [wiki:TracModWSGI], TracUpgrade, TracPermissions
    256 
     388See also: [trac:TracInstallPlatforms TracInstallPlatforms], TracGuide, TracUpgrade, TracPermissions