Apache HTTP サーバ バージョン 2.1

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

# Apache モジュール mod_cgid

Available Languages: en | 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 デーモンとの通信用のソケットの名前を 指定します。

### ディレクティブ

### 参照

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

## ScriptSock ディレクティブ

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

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

### 例

`ScriptSock /var/run/cgid.sock`

Available Languages: en | ja | ko