4 | | Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://www.postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。 |
5 | | |
6 | | Trac のインストールとセットアップに対する一般的な手順を以下に示します。 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 | | {{{ |
11 | | sudo easy_install Trac |
12 | | }}} |
13 | | |
14 | | == インストール条件 == #Requirements |
15 | | Trac を動作させるためのハードウェア要件は、当然のことながらデータ (Wiki ページ, チケット, リビジョンの数) のボリュームやトラフィックに強く依存します。とても小さなプロジェクトであれば、 500MHz のプロセッサ一つに 128MB の RAM でも SQLite を使って充分動作させられます。高速なハードディスクであればさらに動作が快適になるでしょう。 |
16 | | |
| 4 | Trac は Python で書かれており、データベースとして [http://sqlite.org/ SQLite], [http://postgresql.org/ PostgreSQL], [http://mysql.com/ MySQL] のどれかが必要です。 Trac は HTML レンダリングのために [http://genshi.edgewall.org Genshi] テンプレートシステムを使用します。 |
| 5 | |
| 6 | バージョン 0.12 以降、 Trac はローカライズされているため、自分が普段使っている言語に翻訳されているかもしれません。 Trac のインタフェースで別の言語を使用したい場合は、任意のパッケージである [#OtherPythonPackages Babel] を **最初に** インストールする必要があります。 Babel がない場合、通常通り、デフォルトの英語バージョンのみ使用することができます。もし、 Babel を Trac よりも後にインストールした場合は、 Trac を再インストールする必要があります。 |
| 7 | |
| 8 | 新しい言語での翻訳の作成や、すでにある言語での翻訳のエンハンスをコントリビュートした場合は [http://trac.edgewall.org/wiki/TracL10N TracL10N] を見てみてください。 (訳注: 日本語の翻訳はすでにコントリビュートされています) |
| 9 | |
| 10 | Trac のインストールとセットアップに対する一般的な手順と必要な条件を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [trac:wiki:TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。 |
| 11 | |
| 12 | [[PageOutline(2-3,インストール手順,inline)]] |
| 13 | |
| 14 | == 依存関係 == #Dependencies |
| 15 | === 必須の依存関係 === #MandatoryDependencies |
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 |
| 18 | * [http://www.python.org/ Python], 2.4 以上 3.0 未満 |
| 19 | //(Python 2.3 のサポートは、このリリース(訳注: 0.12)で打ち切られました。そして、このリリースは Python 2.4 をサポートする最後の Trac となります)// |
| 20 | * [http://peak.telecommunity.com/DevCenter/setuptools setuptools], 0.6 以上 |
| 21 | * [http://genshi.edgewall.org/wiki/Download Genshi], 0.6 以上 (0.7dev 未満、つまり trunk は使用できません) |
| 22 | |
| 23 | また、データベースと、それに対応する Python のバインディングが必要です。 |
| 24 | データベースは SQLite, PostgreSQL, MySQL のいずれかが使用できます。 |
| 25 | |
| 26 | ==== SQLite の場合 ==== #ForSQLite |
| 27 | |
| 28 | Python 2.5 か 2.6 の場合は、必要なライブラリは同梱されています。 |
| 29 | |
| 30 | Python 2.4 の場合、 pysqlite が必要です。 pysqlite は |
| 31 | [http://code.google.com/p/pysqlite/downloads/list google code] から Windows インストーラやソースからのビルド用の tar.gz アーカイブがダウンロードできます: |
| 32 | {{{ |
| 33 | $ tar xvfz <version>.tar.gz |
| 34 | $ cd <version> |
| 35 | $ python setup.py build_static install |
| 36 | }}} |
| 37 | |
| 38 | 上記の手順で SQLite のコードも展開されバインディングがビルドされます。 |
| 39 | |
| 40 | SQLite をインストールするときに、システムが開発用のヘッダを必要とするかもしれません。これらのヘッダなしでは、ビルドしたときに GCC 関連のエラーがいろいろと出るでしょう: |
| 41 | |
| 42 | {{{ |
| 43 | $ apt-get install libsqlite3-dev |
| 44 | }}} |
| 45 | |
| 46 | SQLite 2.x も !PySqlite 1.1.x ももはやサポートしていません。 |
| 47 | |
| 48 | 既知のバグとして、 !PySqlite バージョン 2.5.2-4 では、 Trac のデータベースを |
| 49 | 0.11.x から 0.12. にアップグレードすることができません。 2.5.5 以降か 2.5.1 と |
| 50 | それ以前のバージョンを使用して下さい。詳細については、 [http://trac.edgewall.org/ticket/9434 本家チケット 9434] を参照して下さい。 |
| 51 | |
| 52 | [http://trac.edgewall.org/wiki/PySqlite PySqlite] も参照することができます。 |
| 53 | |
| 54 | ==== PostgreSQL の場合 #ForPostgreSQL |
| 55 | |
| 56 | 下記いずれかの Python バインディングをインストールする必要があります: |
| 57 | * [http://www.postgresql.org/ PostgreSQL], バージョン 8.0 以降 |
| 58 | * [http://pypi.python.org/pypi/psycopg2 psycopg2] |
| 59 | |
| 60 | 詳しくは [http://trac.edgewall.org/wiki/DatabaseBackend#Postgresql DatabaseBackend] を参照してください。 |
| 61 | |
| 62 | |
| 63 | ==== MySQL の場合 ==== #ForMySQL |
| 64 | |
| 65 | Trac は以下のガイドラインで、 MySQL でも良好に動作するようになりました。 |
| 66 | |
| 67 | * [http://mysql.com/ MySQL], 5.0 以降 |
| 68 | * [http://sf.net/projects/mysql-python MySQLdb], 1.2.2 以降 |
| 69 | |
| 70 | '''非常に''' 重要なことが記載されているので、データベースを作成する前に、[http://trac.edgewall.org/wiki/MySqlDb MySqlDb] のページを注意深く読んで下さい。 |
| 71 | |
| 72 | === 任意の依存関係 === #OptionalDependencies |
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] を参照してください。 |
| 76 | ===== Subversion ===== |
| 77 | |
| 78 | [http://subversion.apache.org/ Subversion] 1.5.x または 1.6.x と '''''対応する''''' Python バインディング。 |
| 79 | |
| 80 | 様々なプラットフォーム向けに [http://subversion.apache.org/packages.html コンパイル済みの SWIG バインディング] が用意されています。 Windows パッケージに関する詳細は TracSubversion を参照してください。 |
| 81 | |
| 82 | 1.4 系の古いバージョンも今のところ動作します。トラブルシューティングの情報が [trac:TracSubversion#Troubleshooting TracSubversion] のページに記載されていますので、確認してください。 Trac が使用する svn の中心機能 (例: svn_path_canonicalize) が (svn ライブラリそのものには存在していたとしても) svn のバージョン 1.3.x 以前では Python の swig のラッパーで実装されていないため、 1.4.0 より以前のバージョンでは、動作しないかもしれません。 |
| 83 | |
| 84 | Note: Trac は [http://pysvn.tigris.org/ PySVN] のような新しい `ctype` 形式のバインディングでは '''動作しません'''。 |
| 85 | |
| 86 | '''重要な Note:''' Subversion を使用するなら Trac を '''同じマシン''' にインストールする必要があります。リモートリポジトリは現在[http://trac.edgewall.org/ticket/493 サポートされていません]。 |
| 87 | |
| 88 | |
| 89 | ===== その他のバージョン管理システム ===== #Others |
| 90 | |
| 91 | Subversion 以外のバージョン管理システムのサポートはサードパーティから提供されます。 [http://trac.edgewall.org/wiki/PluginList PluginList] や [http://trac.edgewall.org/wiki/VersionControlSystem VersionControlSystem] を参照して下さい。 |
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 | | |
74 | | Trac を 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 は内部実装された短いリストを使用します。 |
| 94 | Trac にはサーバ機能が組み込まれているので、 Web サーバは必須ではありません。このページに下にある [#RunningtheStandaloneServer スタンドアロンサーバの起動] セクションを参照してください。 |
| 95 | |
| 96 | Trac は下記の環境において動作します。 |
| 97 | * [http://httpd.apache.org/ Apache] との組み合わせで |
| 98 | - [http://code.google.com/p/modwsgi/ mod_wsgi], [wiki:TracModWSGI] を参照 (推奨) |
| 99 | - //[http://modpython.org/ mod_python 3.3.1], TracModPython を参照 (非推奨)// |
| 100 | * [http://www.fastcgi.com/ FastCGI] 対応 Web サーバ, TracFastCgi を参照 |
| 101 | * [http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html AJP] 対応 Web |
| 102 | サーバ, [trac:TracOnWindowsIisAjp] を参照 |
| 103 | * IIS との組み合わせで [http://code.google.com/p/isapi-wsgi/ Isapi-wsgi], [trac:TracOnWindowsIisIsapi] を参照 |
| 104 | * //最後の手段として CGI 対応 Web サーバ(TracCgi 参照)。 しかし Trac を CGI スクリプトとして使用することは |
| 105 | 全く推奨されていませんので、上記に挙げた方法を選択して下さい。// |
| 106 | |
| 107 | |
| 108 | ==== その他の Python パッケージ ==== #OtherPythonPackages |
| 109 | |
| 110 | * [http://babel.edgewall.org Babel], 0.9.5 |
| 111 | ローカライズの機能を使用する場合は必要[[BR]] |
| 112 | ''Note: '' 他の言語で Trac のインタフェースを表示したい場合、必ず最初に Babel をインストールして下さい。 Babel をインストールしていない場合は、通常通りデフォルトの英語バージョンの Trac を使用することになります。 Babel を後からインストールした場合、 Trac を再インストールする必要があります。 |
| 113 | * [http://docutils.sourceforge.net/ docutils], 0.3.9 以上 |
| 114 | WikiRestructuredText の機能を使用する場合は必要 |
| 115 | * [http://pygments.pocoo.org Pygments] |
| 116 | [wiki:TracSyntaxColoring シンタックスハイライティング] の機能を使用する場合は必要 |
| 117 | [http://silvercity.sourceforge.net/ SilverCity] や |
| 118 | [http://gnu.org/software/enscript/enscript.html Enscript] も、今のところ使用できますが、 |
| 119 | サポートを打ち切る予定なので、 Pygments を使用してください。 |
| 120 | * [http://pytz.sf.net pytz] , タイムゾーンの完全なリストを取得する場合に必要 |
| 121 | pytz がない場合、 Trac は内部で定義している |
| 122 | 短いタイムゾーンの実装にフォールバックします。 |
85 | | == Tracのインストール == #InstallingTrac |
86 | | |
87 | | Trac をインストールする 1 つの方法は `setuptools` を使用することです。 |
88 | | setuptools は subversion のリポジトリから Trac をインストールすることができます; |
89 | | 0.11 のリリースバージョンをインストールするための例を以下に示します: |
90 | | {{{ |
91 | | easy_install http://svn.edgewall.org/repos/trac/tags/trac-0.11 |
92 | | }}} |
93 | | |
94 | | もちろん、ソースディレクトリのトップでの典型的な python セットアップもできます: |
| 128 | |
| 129 | == Trac のインストール == #InstallingTrac |
| 130 | === `easy_install` を使用したインストール ===#Usingeasy_install |
| 131 | Trac をインストールする方法のひとつに [http://pypi.python.org/pypi/setuptools setuptools] の利用があります。 |
| 132 | setuptools を使用すると、 Trac を Subversion リポジトリからインストールすることもできます; |
| 133 | |
| 134 | 例: |
| 135 | |
| 136 | - 初めに最新の安定バージョン Trac 0.12.3 及び ローカライズサポートをインストールします: |
| 137 | {{{ |
| 138 | easy_install Babel==0.9.5 |
| 139 | easy_install Trac |
| 140 | }}} |
| 141 | ''`easy_install` コマンドを二回、別々に実行することはとても重要です。そうしなければ、メッセージカタログが生成されません。'' |
| 142 | |
| 143 | - 最新バージョンの Trac にアップグレードする: |
| 144 | {{{ |
| 145 | easy_install -U Trac |
| 146 | }}} |
| 147 | |
| 148 | - 最新の開発中のバージョン (0.13dev) にアップグレードする: |
| 149 | {{{ |
| 150 | easy_install -U Trac==dev |
| 151 | }}} |
| 152 | |
| 153 | アップグレードの場合には、必ず TracUpgrade を読むようにして下さい。 |
| 154 | |
| 155 | === ソースからのインストール === #Fromsource |
| 156 | よりインストールを管理したい場合には、アーカイブにあるソースをダウンロードできます。また、本家 [http://trac.edgewall.org/wiki/TracRepositories ソースコードリポジトリ] からチェックアウトすることができます。 |
| 157 | |
| 158 | 必ず事前にインストール条件を整えておいて下さい。 Genshi と Babel のソースパッケージは http://www.edgewall.org で手に入れることができ、同様の手順でインストールすることができます。また、これらのパッケージは単に `easy_install` でインストールすることもできます。[#Usingeasy_install 上記] 参照。 |
| 159 | |
| 160 | Trac アーカイブの解凍またはチェックアウトを実行した後、トップレベルのディレクトリに移動し、以下を実行します: |
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 |
| 236 | [TracAdmin trac-admin] は、プロジェクトの名前や [TracEnvironment#DatabaseConnectionStrings データベース接続文字列] など、 Environment を新規作成するために必要な情報を入力するためのプロンプトを表示します。これらの設定項目について特に変更が必要ない場合は、単に `<Enter>` を押下すると、デフォルト値が使用されます。 |
| 237 | |
| 238 | データベース接続文字列のデフォルトは SQLite が使用されます。 SQLite がインストールされている場合は、他の設定は不要です。 |
| 239 | 他の [http://trac.edgewall.org/wiki/DatabaseBackend データベースバックエンド] を使用する場合は、あらかじめデータベースが使用可能な状態にしておかねばなりません。 |
| 240 | |
| 241 | 0.12 以降で Trac は、新しい Environment の作成時に [TracEnvironment#SourceCodeRepository ソースコードリポジトリ] を尋ねないようになりました。リポジトリを後で [TracRepositoryAdmin 追加する] までの間、バージョン管理のサポートは無効化されます。 |
| 242 | |
| 243 | また、 ここで指定した値は [TracIni conf/trac.ini] 設定ファイルを直接編集することで後から変更できます。 |
| 244 | |
| 245 | 最後に、 Web のフロントエンドを実行しているユーザアカウントは、 Environment のディレクトリと、その中のすべてのファイルに対する書き込み権限が必要です。 `trac-admin ... initenv` の実行を該当するユーザで実行した場合は、この作業は不要ですが、そうでない場合、ただしユーザに権限を付与する作業が必要になります。たとえば Linux で `apache` ユーザ `apache` グループで Web サーバを起動する場合は: |
| 246 | {{{ |
| 247 | # chown -R apache.apache /path/to/myproject |
| 248 | }}} |
| 249 | |
| 250 | {{{#!div class=important |
| 251 | '''警告''' アカウント名とプロジェクトパスには ASCII 文字のみを使用して下さい。 unicode 文字はサポートしていません。 |
| 252 | }}} |
| 253 | |
| 254 | |
| 255 | == Trac の利用 == #DeployingTrac |
| 256 | |
| 257 | === スタンドアロンサーバの起動 === #RunningtheStandaloneServer |
157 | | |
158 | | == Web サーバ上での Trac の起動 == #RunningTraconaWebServer |
159 | | |
160 | | Trac に "真の" 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 | | |
164 | | Trac では [http://trac.edgewall.org/wiki/TracOnWindowsIisAjp AJP] も使用できます。これを使うと IIS とも接続することができます。 |
| 269 | === Web サーバ上での Trac の起動 === #RunningTraconaWebServer |
| 270 | |
| 271 | Trac には "実際の" Web サーバへ接続するために、いくつかの選択肢があります: |
| 272 | - [wiki:TracFastCgi FastCGI] |
| 273 | - [wiki:TracModWSGI mod_wsgi] |
| 274 | - //[wiki:TracModPython mod_python] (mod_python は現在活発なメンテナンスが行われていないため、推奨されません)// |
| 275 | - //[wiki:TracCgi CGI] (最適なパフォーマンスに遠く及ばないため、使用すべきではありません)// |
| 276 | |
| 277 | Trac では [trac:TracOnWindowsIisAjp AJP] もサポートしており、IIS と接続したい場合に選択肢の一つとなるかもしれません。その他の選択肢もあります: [trac:TracNginxRecipe nginx], [http://projects.unbit.it/uwsgi/wiki/Example#Traconapacheinasub-uri uwsgi], [trac:TracOnWindowsIisIsapi Isapi-wsgi] 等。 |
| 278 | |
| 279 | ==== Trac の cgi-bin ディレクトリを生成する ==== #cgi-bin |
| 280 | |
| 281 | Trac を FastCGI などで正しく機能させるには、 FastCGI であれば `trac.fcgi` ファイル、 mod_wsgi であれば `trac.wsgi` ファイルが必要となります。これらのファイルは適切な Python コードをロードする Python スクリプトです。 [wiki:TracAdmin trac-admin] コマンドの `deploy` オプションを使用することで生成できます。 |
| 282 | |
| 283 | 若干の「卵が先か鶏が先か」問題があります。 [wiki:TracAdmin trac-admin] コマンドが機能するためには Environment が必要なのですが、 deploy には既に存在するディレクトリは使用できません。これに起因して、 Environment は depoly するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにします: |
| 284 | {{{ |
| 285 | mkdir -p /usr/share/trac/projects/my-project |
| 286 | trac-admin /usr/share/trac/projects/my-project initenv |
| 287 | trac-admin /usr/share/trac/projects/my-project deploy /tmp/deploy |
| 288 | mv /tmp/deploy/* /usr/share/trac |
| 289 | }}} |
| 290 | |
| 291 | |
| 292 | ==== 静的なリソースをマッピングする ==== #MappingStatcResources |
| 293 | |
| 294 | 特に設定することなく Trac はスタイルシートや画像のような静的なリソースを扱うことができます。tracd は唯一基本的な動作環境ですが、 Web サーバがそれら静的リソースを直接供給するように設定することより、はるかに最適になります。(CGI でセットアップした場合、'''極めて望ましくない''' し、著しい性能悪化の原因となります) |
| 295 | |
| 296 | [http://httpd.apache.org/ Apache] のような Web サーバはリソースに対して "Alias" を設定することで仮想の URL を与え、サーバのファイルシステムのレイアウトとは異なる位置にマップすることができます。また、Trac自身によるこれらの要求に対する処理を避けて、直接ファイルシステム上のディレクトリへ静的リソースに対する要求をマッピングすることができます。 |
| 297 | |
| 298 | 静的なリソースに対する主要な URL パスとして `/chrome/common` と `/chrome/site` があります。プラグインを使用している場合、各々の静的リソースとして `/chrome/<plugin>` のようなパスが追加されていることがありますが、主要なパスに対して追加を行えるだけなので、 `/chrome` に対して `Alias` を設定しても、プラグインが提供する静的リソースに対してアクセスできる訳ではありません。(訳注: このような場合 `trac-admin` の `deploy` で作成された `htdocs` ディレクトリに対して `Alias` を使用してください) |
| 299 | |
| 300 | Note: ファイルシステムにおける静的なリソースを取得するためには、最初に [TracAdmin trac-admin] の ` <environment> deploy` コマンドを使用して、 Trac 関連のリソースを拡張する必要があります。 |
| 301 | [[TracAdminHelp(deploy)]] |
| 302 | |
| 303 | ターゲットの `<directory>` は、以下のように `htdocs` ディレクトリに含まれます: |
| 304 | - `site/` - Environment 内の `htdocs/` ディレクトリのコピーです |
| 305 | - `common/` - Trac 自身が持つ静的なリソース |
| 306 | - `<plugins>/` - Environment で使用可能なプラグインによって管理される個々のリソースディレクトリ |
| 307 | |
| 308 | ===== 例: Apache と `ScriptAlias` ===== #ScriptAlias-example |
| 309 | |
| 310 | 以下のような環境を仮定すると: |
| 311 | {{{ |
| 312 | $ trac-admin /var/trac/env deploy /path/to/trac/htdocs/common |
| 313 | }}} |
| 314 | |
| 315 | Apache の設定ファイル内において `ScriptAlias` や `WSGIScriptAlias` の記述(Trac アプリケーションへの他のすべてのリクエストに対するマップの記述) ''より上に'' 以下のブロックを追記します。 パスは環境に合わせ変更してください: |
| 316 | {{{ |
| 317 | Alias /trac/chrome/common /path/to/trac/htdocs/common |
| 318 | Alias /trac/chrome/site /path/to/trac/htdocs/site |
| 319 | |
| 320 | <Directory "/path/to/www/trac/htdocs"> |
| 321 | Order allow,deny |
| 322 | Allow from all |
| 323 | </Directory> |
| 324 | }}} |
| 325 | |
| 326 | もし mod_python を使用している場合、この設定を追加した方が良いかもしれません(使用していない場合は、このエイリアスは無視されます): |
| 327 | {{{ |
| 328 | <Location "/trac/chrome/common/"> |
| 329 | SetHandler None |
| 330 | </Location> |
| 331 | }}} |
| 332 | |
| 333 | Note: `trac.*cgi` スクリプトを `/trac` にマップしている場合、 `/trac/chrome/common` を加えたパスに対するリクエストは、静的リソースで処理するように割り込みを加えます。 |
| 334 | |
| 335 | 同様に、静的なリソースを project の `htdocs` ディレクトリで使用している場合 (テーマの中で `/trac/chrome/site` を参照しているなど)、 これらのリソースを供給するよう Apache を設定することが出来ます。(再度、.*cgi スクリプトの `ScriptAlias` や `WSGIScriptAlias` ''より上に'' 以下のブロックを記述します。インストール状況に合わせて、ファイル名やロケーションは適宜変更してください): |
| 336 | {{{ |
| 337 | Alias /trac/chrome/site /path/to/projectenv/htdocs |
| 338 | |
| 339 | <Directory "/path/to/projectenv/htdocs"> |
| 340 | Order allow,deny |
| 341 | Allow from all |
| 342 | </Directory> |
| 343 | }}} |
| 344 | |
| 345 | 一方で `/trac/chrome/common` をエイリアスとするような場合、 Trac では [wiki:TracIni#trac-section| [trac] htdocs_location] を設定することで、それらリソースに対して直接リンクを生成することができます: |
| 346 | {{{ |
| 347 | [trac] |
| 348 | htdocs_location = http://static.example.org/trac-common/ |
| 349 | }}} |
| 350 | Note: これは 静的なリソースを供給する専用のドメインを簡単に設定します。([http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain cookie-less]) |
| 351 | |
| 352 | 当然、Web サーバのドキュメントルートにディレクトリをコピーする(又は、リンクする)等して、特定の URL で Web サーバに接続できるよう Trac の `htdocs/common` ディレクトリを作成する必要があります。 |
| 353 | {{{ |
| 354 | $ ln -s /path/to/trac/htdocs/common /var/www/static.example.org/trac-common |
| 355 | }}} |
| 356 | |
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 | | |
184 | | SVN リポジトリの ''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 | | {{{ |
197 | | REPOS="$1" |
198 | | REV="$2" |
199 | | TRAC_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 | | |
216 | | anonymous (ログインしていない) でアクセスするユーザは、デフォルトでほとんどの機能を使用することができますが、すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があるでしょう。 |
| 364 | Trac は HTTP 認証を使用します。`.../login` の URL ("ログイン"(英語版では "login") ボタンの仮想パス) がリクエストされた際に、認証を要求するように Web サーバを設定する必要があります。Trac は認証情報を得た後自動的に REMOTE_USER 変数を獲得します。そのため、すべてのユーザの管理は Web サーバ の設定で行います。設定方法等の詳細な情報は、利用している Web サーバのドキュメントを参照してください。 |
| 365 | |
| 366 | 認証のためのユーザアカウントを追加、削除、設定する方法は Trac を起動する方法により異なります。 |
| 367 | |
| 368 | 以下に記すセクションを適宜参照してください: |
| 369 | * スタンドアロンサーバ `tracd` を使用する場合は TracStandalone#UsingAuthentication |
| 370 | * Apache Web サーバ と `mod_wsgi` に代表される `mod_python` や `mod_fcgi`, `mod_fastcgi` といったフロントエンドを使用する場合は [wiki:TracModWSGI#ConfiguringAuthentication TracModWSGI#ConfiguringAuthentication] |
| 371 | * Apache 以外の FCGI をサポートしている Web サーバ (Cherokee, Lighttpd, !LiteSpeed, nginx) を使用する場合 TracFastCgi |
| 372 | |
| 373 | == admin ユーザへの管理者権限の付与 == #Grantingadminrightstotheadminuser |
| 374 | admin ユーザに管理者権限を付与します: |
| 375 | {{{ |
| 376 | $ trac-admin /path/to/myproject permission add admin TRAC_ADMIN |
| 377 | }}} |
| 378 | このユーザは Trac プロジェクトに管理者としてアクセスするため、メニュー内に "管理"(英語版では "Admin") が表示されます。 |
| 379 | |
| 380 | == インストールを終えて == #Finishingtheinstall |
| 381 | |
| 382 | === SVN のチェンジセットを Trac のチケットに自動リンクする方法 === #AutomaticreferencetotheSVNchangesetsinTractickets |
| 383 | |
| 384 | 変更をリポジトリにコミットした時に、チェンジセットへのリンクをチケットのコメントに自動で追加するように SVN を設定することができます。コミットメッセージには以下に示すいずれかの書式が含まれていなければなりません: |
| 385 | * '''`Refs #123`''' - このチェンジセットへのリンクをチケット `#123` に追加します |
| 386 | * '''`Fixes #123`''' - このチェンジセットへのリンクをチケット `#123` に追加し、チケットを ''fixed'' でクローズします。 |
| 387 | |
| 388 | この機能を使用するためには post-commit フックを [wiki:TracRepositoryAdmin#ExplicitSync TracRepositoryAdmin] に記載したリポジトリにインストールし、 commit updater コンポーネントを有効にせねばなりません。コンポーネントの有効化は、 [wiki:TracIni#components-section trac.ini] ファイルの `[components]` セクションに下記記述を追加するか、 "プラグイン" (英語版では "Plugins") 管理パネルから設定します。 |
| 389 | {{{ |
| 390 | tracopt.ticket.commit_updater.* = enabled |
| 391 | }}} |
| 392 | 詳細な情報は "プラグイン" 管理パネルの `CommitTicketUpdater` コンポーネントにあるドキュメントを参照してください。 |
| 393 | |
| 394 | === Trac を使用する === #UsingTrac |
| 395 | |
| 396 | 一度 Trac サイトを稼働させれば、チケットを作成したり、タイムラインを見たり、 (設定されていれば) バージョン管理のリポジトリを閲覧したりできるはずです。 |
| 397 | |
| 398 | //anonymous// (ログインしていない) でアクセスするユーザは、デフォルトではほとんど機能を使用することができません。特に、リソースに対して読み取りのみのアクセスになります。すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があります。 |