Apache HTTP サーバ バージョン 2.4

Apache > HTTP サーバ > ドキュメンテーション > バージョン 2.4 > モジュール

# Apache モジュール mod_cgid

翻訳済み言語: en | fr | ja | ko

この日本語訳はすでに古くなっている 可能性があります。 最近更新された内容を見るには英語版をご覧下さい。

説明: | 外部 CGI デーモンを使った CGI スクリプトの実行
ステータス: | Base
モジュール識別子: | cgid_module
ソースファイル: | mod_cgid.c
互換性: | Unix のスレッド MPM のみ

### 概要

最適化が施されていることと、以下で説明されている追加の `ScriptSock` ディレクティブを除いては、 `mod_cgid` は `mod_cgi` と同様の 動作をします。Apache と CGI に関する詳細は `mod_cgi` の概要を読んでください。

Unix オペレーティングシステムの中には、マルチスレッドのサーバから プロセスを fork するのが非常にコストの高い動作になっているものがあります。 理由は、新しいプロセスが親プロセスのスレッドすべてを複製するからです。 各 CGI 起動時にこのコストがかかるのを防ぐために、`mod_cgid` は子プロセスを fork して CGI スクリプトを実行するための 外部デーモンを実行します。 主サーバは unix ドメインソケットを使ってこのデーモンと通信します。

コンパイル時にマルチスレッド MPM が選ばれたときは `mod_cgi` の代わりに必ずこのモジュールが使用されます。 ユーザのレベルではこのモジュールの設定と動作は `mod_cgi` とまったく同じです。唯一の例外は `ScriptSock` ディレクティブの 追加で、このディレクティブは CGI デーモンとの通信用のソケットの名前を 指定します。

### ディレクティブ

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

### 参照

- `mod_cgi`
- CGI プログラムを違うユーザ ID で実行する
- コメント

## CGIDScriptTimeout ディレクティブ

説明: | The length of time to wait for more output from the CGI program
構文: | `CGIDScriptTimeout time[s|ms]`
デフォルト: | `value of `Timeout` directive when unset`
コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
ステータス: | Base
モジュール: | mod_cgid
互換性: | CGIDScriptTimeout defaults to zero in releases 2.4 and earlier

このディレクティブの解説文書は まだ翻訳されていません。英語版をご覧ください。

## ScriptSock ディレクティブ

説明: | CGI デーモンとの通信に使われるソケットのファイル名の接頭辞
構文: | `ScriptSock file-path`
デフォルト: | `ScriptSock logs/cgisock`
コンテキスト: | サーバ設定ファイル
ステータス: | Base
モジュール: | mod_cgid

このディレクティブは CGI デーモンとの通信に使われるソケットの ファイル名の接頭辞を設定します。また、ファイル名にはサーバのプロセスIDが 追加されます。ソケットは Apache が起動されたユーザ (通常 root) の パーミッションを用いてオープンされます。CGI スクリプトとの通信の セキュリティを保つために、ソケットの存在するディレクトリに 他のユーザが書き込み権限を持っていないようにすることが重要です。

### 例

`ScriptSock /var/run/cgid.sock`

翻訳済み言語: en | fr | ja | ko

## コメント

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.