| 1 | = Trac を FastCGI で使用する = |
| 2 | |
| 3 | バージョン 0.9 以降、 Trac は [http://www.fastcgi.com/ FastCGI] インタフェースをサポートするようになりました。 [wiki:TracModPython mod_python] 同様、 Trac を常駐させるため、外部の各リクエストに対して新しいプロセスを生成する CGI インタフェースよりも処理速度が速いです。その上 `mod_python` とは異なり [http://httpd.apache.org/docs/suexec.html SuEXEC] をサポートすることができます。また、より多くの種類の Web サーバにサポートされています。 |
| 4 | |
| 5 | == 単純な Apache の設定 == |
| 6 | {{{ |
| 7 | # Enable fastcgi for .fcgi files |
| 8 | # (If you're using a distro package for mod_fcgi, something like |
| 9 | # this is probably already present) |
| 10 | <IfModule mod_fastcgi.c> |
| 11 | AddHandler fastcgi-script .fcgi |
| 12 | FastCgiIpcDir /var/lib/apache2/fastcgi |
| 13 | </IfModule> |
| 14 | LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so |
| 15 | }}} |
| 16 | |
| 17 | `TRAC_ENV` を以下のように設定することができます: |
| 18 | {{{ |
| 19 | FastCgiConfig -initial-env TRAC_ENV=/path/to/env/trac |
| 20 | }}} |
| 21 | |
| 22 | もしくは複数の Trac プロジェクトを扱っているときは、このように設定します: |
| 23 | {{{ |
| 24 | FastCgiConfig -initial-env TRAC_ENV_PARENT_DIR=/parent/dir/of/projects |
| 25 | }}} |
| 26 | |
| 27 | `ScriptAlias` を設定するもしくは似たオプションが TracCgi で説明されていますが、 `trac.cgi` のかわりに `trac.fcgi` と呼びます。 |
| 28 | |
| 29 | == 単純な Lighttpd の設定 == |
| 30 | |
| 31 | FastCGI フロントエンドは最初 [http://www.lighttpd.net/ lighttpd] のような、 Apache 以外の Web サーバのために開発されました。 |
| 32 | |
| 33 | lighttpd はセキュアで高速で、規格に準拠したとても柔軟な Web サーバで、高いパフォーマンスの環境で最適化されます。 |
| 34 | 他の Web サーバに比べて CPU や、メモリの占有率がとても少ないです。 |
| 35 | |
| 36 | `trac.fcgi` を lighttpd で使用するためには、 lighttpd.conf に以下の行を追加します: |
| 37 | {{{ |
| 38 | fastcgi.server = ("/trac" => |
| 39 | ("trac" => |
| 40 | ("socket" => "/tmp/trac-fastcgi.sock", |
| 41 | "bin-path" => "/path/to/cgi-bin/trac.fcgi", |
| 42 | "check-local" => "disable", |
| 43 | "bin-environment" => |
| 44 | ("TRAC_ENV" => "/path/to/projenv") |
| 45 | ) |
| 46 | ) |
| 47 | ) |
| 48 | }}} |
| 49 | |
| 50 | 動かしたい Trac のインスタンス毎に `fastcgi.server` のエントリを追加する必要があります。別の方法として、、上記の `TRAC_ENV` の代わりに `TRAC_ENV_PARENT_DIR` を使用できます。 |
| 51 | |
| 52 | その他重要な情報、例えば、 [http://trac.lighttpd.net/trac/wiki/TracInstall lighttpd の TracInstall] や、 [wiki:TracCgi#静的なリソースをマッピングする TracCgi] などは fast-cgi 固有ではありませんが、インストールの詳細をつかむのに有用でしょう。 |
| 53 | |
| 54 | lighttpd を再起動し、ブラウザに `http://yourhost.example.org/trac` を入力して、 Trac にアクセスして下さい。 |
| 55 | ---- |
| 56 | See also: TracCgi, TracModPython, TracInstall, TracGuide |