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 | |
| 10 | Trac のインストールとセットアップに対する一般的な手順と必要な条件を以下に示します。 Trac を特定のシステムにインストールする手順は Trac Project サイトの [trac:TracInstallPlatforms TracInstallPlatforms] にありますが、 '''まず最初に以下の一般的な手順を読み通して''' タスクの関係を確実に理解してください。 |
| 11 | |
| 12 | [[PageOutline(2-3,インストール手順,inline)]] |
| 13 | |
| 14 | == 依存関係 == #Dependencies |
| 15 | === 必須の依存関係 === #MandatoryDependencies |
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 | |
| 28 | Python 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 インストーラやソースからビルドするための |
| 32 | tar.gz アーカイブがダウンロードできます。 |
| 33 | {{{ |
| 34 | $ tar xvfz <version>.tar.gz |
| 35 | $ cd <version> |
| 36 | $ python setup.py build_static install |
| 37 | }}} |
| 38 | |
| 39 | 上記の手順で最新の SQLite コードがダウンロードされバインディングがビルドされます。 |
| 40 | |
| 41 | SQLite 2.x のサポートは終了しました。 |
| 42 | |
| 43 | 既知のバグとして、 PySqlite バージョン 2.5.2-4 では、 Trac のデータベースを |
| 44 | 0.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 | |
| 60 | Trac は以下のガイドラインで、 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 |
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 | |
| 76 | Note: Trac は [http://pysvn.tigris.org/ PySVN] のような新しい `ctype` 形式のバインディングでは '''動作しません'''。 |
| 77 | |
| 78 | |
| 79 | '''重要な Note:''' Subversion を使用するなら Trac を '''同じマシン''' にインストールする必要があります。リモートリポジトリは現在 [trac:#493 サポートされていません]。 |
| 80 | |
| 81 | |
| 82 | ===== その他のバージョン管理システム ===== #Others |
| 83 | |
| 84 | Subversion 以外のバージョン管理システムのサポートはサードパーティから提供されます。 [trac:PluginList] や [trac:VersionControlSystem] を参照して下さい。 |
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 セットアップもできます: |
| 87 | Trac にはサーバ機能が組み込まれているので、 Web サーバは必須ではありません。このページに下にある [#RunningtheStandaloneServer スタンドアロンサーバの起動] セクションを参照してください。 |
| 88 | |
| 89 | Trac は下記の環境において動作します。 |
| 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 |
| 123 | Trac をインストールする方法のひとつに [http://pypi.python.org/pypi/setuptools setuptools] の利用があります。 |
| 124 | setuptools を使用すると、 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 パッケージをインストールすることができます。 |
| 142 | Trac を 5 分程度でインストール、起動できます: |
| 143 | |
| 144 | pip によってインストールされる場所を `/opt/user/trac` とした場合の例です: |
| 145 | |
| 146 | - |
| 147 | {{{ |
| 148 | pip -E /opt/user/trac install trac psycopg2 |
| 149 | }}} |
| 150 | または |
| 151 | - |
| 152 | {{{ |
| 153 | pip -E /opt/user/trac install trac mysql-python |
| 154 | }}} |
| 155 | |
| 156 | PostgreSQL (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 | |
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 | |
| 224 | 0.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 |
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 | |
| 254 | Trac には "実際の" Web サーバへ接続するために、いくつかの選択肢があります: |
| 255 | - [wiki:TracFastCgi FastCGI] |
| 256 | - [wiki:TracModWSGI mod_wsgi] |
| 257 | - //[wiki:TracModPython mod_python] (mod_python は現在活発なメンテナンスが行われていないため、推奨されません)// |
| 258 | - //[wiki:TracCgi CGI] (最適なパフォーマンスに遠く及ばないため、使用すべきではありません)// |
| 259 | |
| 260 | Trac では [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 | |
| 264 | Trac を 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 するディレクトリのサブディレクトリを使用することができません。この制限を回避するには次のようにします: |
| 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 | |
| 283 | Note: ファイルシステムにおける静的なリソースを取得するためには、最初に [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 | |
| 298 | Apache の設定ファイル内において `ScriptAlias` や `WSGIScriptAlias` の記述(Trac アプリケーションへの他のすべてのリクエストに対するマップの記述) ''より上に'' 以下のブロックを追記します。 パスは環境に合わせ変更してください: |
| 299 | {{{ |
| 300 | Alias /trac/chrome/common /path/to/trac/htdocs/common |
| 301 | Alias /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 | |
| 316 | Note: `trac.*cgi` スクリプトを `/trac` にマップしている場合、 `/trac/chrome/common` を加えたパスに対するリクエストは、静的リソースで処理するように割り込みを加えます。 |
| 317 | |
| 318 | 同様に、静的なリソースを project の `htdocs` ディレクトリで使用している場合 (テーマの中で `/trac/chrome/site` を参照しているなど)、 これらのリソースを供給するよう Apache を設定することが出来ます。(再度、.*cgi スクリプトの `ScriptAlias` や `WSGIScriptAlias` ''より上に'' 以下のブロックを記述します。インストール状況に合わせて、ファイル名やロケーションは適宜変更してください): |
| 319 | {{{ |
| 320 | Alias /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] |
| 331 | htdocs_location = http://static.example.org/trac-common/ |
| 332 | }}} |
| 333 | Note: これは 静的なリソースを供給する専用のドメインを簡単に設定します。([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 | |
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 アクセス許可] を与える必要があるでしょう。 |
| 347 | Trac は 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 |
| 357 | admin ユーザに管理者権限を付与します: |
| 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 | {{{ |
| 373 | tracopt.ticket.commit_updater.* = enabled |
| 374 | }}} |
| 375 | 詳細な情報は "プラグイン" 管理パネルの `CommitTicketUpdater` コンポーネントにあるドキュメントを参照してください。 |
| 376 | |
| 377 | === Trac を使用する === #UsingTrac |
| 378 | |
| 379 | 一度 Trac サイトを稼働させれば、チケットを作成したり、タイムラインを見たり、 (設定されていれば) バージョン管理のリポジトリを閲覧したりできるはずです。 |
| 380 | |
| 381 | //anonymous// (ログインしていない) でアクセスするユーザは、デフォルトではほとんど機能を使用することができません。特に、リソースに対して読み取りのみのアクセスになります。すべての機能を使用できるわけではないことに留意してください。すべての機能を使用するためには認証を構成して、認証されたユーザに対し [wiki:TracPermissions アクセス許可] を与える必要があります。 |