Apache HTTP サーバ バージョン 2.0
Apache モジュール mod_cgid
説明: | 外部 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 デーモンとの通信用のソケットの名前を
指定します。
ScriptSock ディレクティブ
説明: | CGI デーモンとの通信に使われるソケットの名前 |
---|---|
構文: | ScriptSock file-path |
デフォルト: | ScriptSock logs/cgisock |
コンテキスト: | サーバ設定ファイル, バーチャルホスト |
ステータス: | Base |
モジュール: | mod_cgid |
このディレクティブは CGI デーモンとの通信に使われるソケットの 名前を設定します。ソケットは Apache が起動されたユーザ (通常 root) の パーミッションを用いてオープンされます。CGI スクリプトとの通信の セキュリティを保つために、ソケットの存在するディレクトリに 他のユーザが書き込み権限を持っていないようにすることが重要です。
例
ScriptSock /var/run/cgid.sock