テスト環境の用意

CGIプログラムはその性質上、ソースコードをコンパイルしてそのまま実行というわけにはいかないので、テスト実行ができる環境を用意する必要があります。

Windows

Webサーバ

WindowsでCGIプログラムの実行テストを行う場合、特に好みがない限り、Webサーバとしてはインストールと設定が簡単なAN HTTPDを利用することをおすすめします。まず、AN HTTPDの最新版を入手してください。AN HTTPDでなくても、CGIの実行をサポートするWebサーバソフトウェアであれば、何でも構いません。

AN HTTPDの設定方法

AN HTTPDを起動し、メニューからオプション>一般を開きます。「CGIを実行する」にチェックが入った状態にし、拡張子.exeを実行する設定にします。下の画像のように、.exeの左側にチェックが付いていればOKです。これで、cgi-binディレクトリ以下のCGIプログラムが実行できるようになります。その他、好みで設定を行ってください。

AN HTTPDの設定

注意

AN HTTPDをテスト用に使用する場合、安全のためにファイアウォールソフトなどを利用して、httpのポート(通常は80)に対する外部からの接続要求を拒否する設定にしておいたほうが良いでしょう。インターネットから隔離された環境でもない限り、外部からテスト用のCGIプログラムを発見され、実行されてしまう可能性もなくはありません。

Cコンパイラ

開発環境をお持ちでない場合、無料のC++コンパイラであるBorland C++ 5.5をおすすめします。リンク先からダウンロードしてインストールしてください。その他、Visual C++など、ある程度ANSI Cに準拠しているコンパイラなら問題ありません。

このサイトで紹介しているサンプルの動作には最低限、sizeof(int)が4バイト以上の処理系であることと、ANSI C準拠であることが必要です。たいていのコンパイラであればこの条件を満たしていると思います。

PC-UNIX等

Webサーバ

Linux、FreeBSD等のいわゆるPC-UNIXの場合、特別な理由がない限りApacheを使うのが楽でしょう。インストールされていない場合、適宜インストールしてください。設定についてはマニュアルや解説しているWebサイトなどを参考にしてください。基本的には実行するディレクトリにExecCGIが指定されていればOKです。

PC-UNIXの場合、実行ファイル、ログファイルのパーミッションが適切に設定されていないと動作しません。一例として実行ファイルは755、ログファイルは666など、適切に設定してください。

Cコンパイラ

PC-UNIXの場合、CコンパイラとしてはGCCを推奨します。インストールされていない場合、それぞれの環境に適した方法でインストールしてください。このサイトで紹介しているサンプルはgcc-2.96で動作テストしています。

テスト実行

Webサーバソフトウェアが動作しているホストのCGI実行が許可されているディレクトリにCGIプログラムの実行ファイルを置き、URIを指定すると実行することができます。UNIX系のホストの場合はファイルの実行権限に注意してください。

Webサーバソフトウェアが動作しているホスト自身からCGIプログラムを呼び出したい場合、127.0.0.1あるいはlocalhostのホスト名を指定します。cgi-binディレクトリにexample.exeという実行ファイルがあり、CGIの実行が許可されているとすると、次のようなURIで呼び出すことができます。