CGI工房:TOPに戻る
ローカルサーバーでCGI
AN-HTTPDを利用したWindows95 WWWサーバー
CGIスクリプトを作成していて強く思うことが、「スクリプトが正しく動作するのか」ということです。
WWWサーバーは、多数の人が利用するコンピュータです。自分が設置したCGIが原因でサーバーにダメージを与えしまったら・・・・ そんなことにならないために、スクリプトの動作チェックを確実にするため、自分のPC上でCGIを実行できるようにする方法を紹介します。
AN-HTTPD
Windows95/NTで利用できるWWWサーバーにはフリーな物でも何種類かありますが、私はAN-HTTPDを使ってCGIのローカルテストを行っています。
このAN-HTTPDには、基本的なhttpdサービスの他、以下のような特徴があります
- CGIを使用可能(任意のディレクトリで実行できる)
- SSIを使用できる
- 基本ユーザ認証が使える
- クリッカブルマップは、NCSA/CERN の両タイプに対応
- プロクシサーバとしても動作
と言ったところです。なんといっても日本語ソフトなので解説は日本語ですし(笑)、ホームページには関連リンクもたくさんありますので、初めてローカルWWW環境に挑戦する方でもそれほど迷わずに導入できるでしょう。
AN-HTTPDの導入
まずホームページから最新版をダウンロードしてきてさい。続いて、アーカイブファイルを任意のディレクトリに展開したあと、httpd.exeを実行するとシステムに常駐してサービスが開始されます。
あとは、必要に応じてショートカットを作ったり、スタートアップに登録するなどしておけばよいでしょう。
AN-HTTPDの設定
AN-HTTPDが起動したら、HTMLドキュメントなどを置くディレクトリ(ドキュメントルート)などの設定を行います。
おもに[Option/General]の項目を変更することになりますが、[DocumentRoot]を自分のPC環境でWWWサーバーにする時のディレクトリする事以外はほとんどがデフォルトのまま、変更なしにいけるでしょう。私が実際に行った設定でも、[Option/General]以外の項目は変更していません。変更しているのはディレクトリ指定ぐらいです。
参考までに、普段、私がデバッグ用に運用しているAN-HTTPDの設定画面を紹介しておきます。
ブラウザからのアクセス
AN-HTTPDが常駐しているマシン(ローカルマシン)で、ブラウザでHTML文書を表示させるには、以下のように、ローカルマシンのIPアドレスをURLに指定することで行います。
http://127.0.0.1/hogehoge.html あるいは、
http://localhost/hogehoge.html
もしも、LAN接続されたマシンの中の1台でAN-HTTPDが実行されているときは、そのマシンのIPアドレスをURLに指定してアクセスします。
http://192.168.1.111/hogehoge.html
そうそう、この時にダイヤルアップ接続をしない設定(IEの場合、必要時にインターネット接続のチェックを外すなど)にしておく必要があります。でないと、いちいちダイヤルアップしてからローカルなサーバーを探しに行きますので電話代の無駄になります。
Perl for Win32
AN-HTTPDを使った環境が一通りできたら、今度はCGIを実行する環境を設定します。
Windows95/NTで使えるPerlとしては、Perl for Win32があります。最新版はホームページから入手してください。CPU別に3種類用意されていると思いますので、x86版をダウンロードしてください。自己解凍ファイルになっておりインストーラの役割も果たしていますので、ダウンロードしたファイルを実行して画面の指示に従ってインストールしてください。
パス設定の書き換えなども行ってくれますので、すべて終了したらマシンを再起動してください。
なお、Perl関連のページを見ていると、JPerlという日本語対応版のPerlも存在していますが、プロバイダでは普通のPerlを使っていることの方が多いので私は導入していません。また、JPerlでは、Perlの日本語処理の標準的なライブラリである jcode.pl がエラーを起こすなどの問題も発生するので、私の作ったスクリプトでは利用できないことも付け加えておきます。
Perlの指定
AN-HTTPDでは、CGIを利用するときに使うPerlのパスを指定する必要がありますが、デフォルトでは日本語Perl(JPerl)を使用するようになっています。ところが、プロバイダのサーバーでJPerlを使える環境は少ないと思いますので、ここは単にPerlを指定する事にします。
CGIの利用
あとはPerlスクリプトを書くだけです。スクリプトが正常に動作することが確認出来たらブラウザで呼び出すだけです。
http://127.0.0.1/hogehoge.cgi
なお、Perlスクリプトの動作確認(エラーチェック)は、DOSプロンプトから行います。
perl hogehoge.cgi
CGIスクリプトそのものについては、CGI Programing with Perlをご覧ください。
Copyleft (C) 1998. CGI工房.
All Rights UnReserved.