平成15年 04月05日(土)

Windows95上でのCGI実行設定


わが家には古くなった超々低スペックのNEC PC-9801、9821シリーズのノートパソコンが何台かあります。
これらは搭載メモリも少なくディスク容量も小さいのでWindows98以降は動かすことができません。
それでWindows95やFreeBSDで最小限の機能で動かしています。
こんな状態ですから、週末に1日だけマシンのご機嫌うかがいのために公開していました。
ですが、生来の病気が始まってしまい「Windows95上でCGIが動かせないかな〜」と思ってネット上を検索しました。
そしたら、たくさんの検索結果があり「やっぱり動かしている人いるんだな!、これはいけるぞ!!」と思いました。
このページは「Windows95上でCGIを稼動させる」設定記録です。

なお、イメージ・ファイルは設定したマシンのディスプレイが256色だったので、実際と少し色が違っています。
Windows95やANHTTPDのインストール・設定方法は省略しています。

参考にしたサイト:  AN HTTPD Home Page   MS-Windowsでパールのページ


■Perlについて

UNIXのコマンドにあるawkやsedなどに似たインタプリタ(コンパイルなどしないでソースコードを判断して実行する)型の言語です。
webの開発でCGIスクリプト内部でperlを使用したり、CGIそのものとして簡単に作るれるので非常に人気があります。
(でも最近では、データベースとの連携などに優れたphpが多く採用されているようですね!)
ただし、多くの事が簡単にできる反面、多少慣れるまでに時間がかかります。(まぁ、何でもそうですけどね!)
perlの詳しい事は、書籍やネットで検索してみてください。

■ActivePerlについて

UNIXやLinuxでは、perlを簡単(?)にインストールすることができますが、Windowsマシンの場合は、perlを使う前にちょっとした設定(動作環境)が必要です。それの一つがActivePerlです。
ActivePerlのサイトへ行きダウンロードします。ファイル・サイズは8Mbyteとか10Mbyteとかで大きいです。
(途中E-mailアドレスの入力とかのページがありますが、無視してNextを指定すればOKです)

■このサーバーの動作環境

・Windows95 OSR1 (CPU:33MHz MEM:14Mbyte HDD:350Mbyte)
・AN HTTPD
・ActivePerl - 5.6.1 Build 635

■事前準備

Windows95,98,NTで ActivePerl - 5.6.1 Build 635 をインストールし稼動させるには次のものを事前にインストールしておきます。

・MSVCRT.dll →  ftp://ftp.microsoft.com/softlib/mslfiles/msvcrt.exe で入手できます。
            これをダウンロードした後「ファイル名を指定して実行」かエクスプローラでダブルクリックすると・・・・
            DOS窓でReadme.txt, msvcrt.dll, msvcrt20.dll, msvcrt40.dll が解凍されますので、msvcrt.dllをwindows\system
            フォルダにコピーします。

・Windowsインストーラー2.0 → http://www.activestate.com/ でダウンロードのページにMicrosoftへのリンクがあります。
                    ファイルは InstMsiA.exe です。
                    これをダウンロードした後「ファイル名を指定して実行」かエクスプローラでダブルクリックすると・・・・
                    Windowsインストーラー2.0のアップデート設定を実行します。

■インストールについて

・事前にAN HTTPDをインストール・設定し動くことを確認しておきます。
・ダウンロードしたファイルを実行します。

・前記で「OK」をクリックすると下の画面を表示しインストーラが起動します。

・少し待つと次の画面を表示するので「Next」をクリックします。

・使用認証を求めてきますので、I accept the terms in the Licence Agreement ラジオボタンにチェックし、「Next」ボタンを押します。

・インストールするディレクトリを求めてきますので、何処にインストールするかを指定し、「Next」ボタンを押します。
Location:に表示するインストール先は、複数にドライブがある場合最後のドライブをディフォルトでセットするそうです。
変更したい場合は "Disk Usage" で各ドライブの空容量を確認し "Browse" で変更先を指定します。

・Programer's Package Managerうんたら・・・・ですけど、このまま「Next」をクリックしました。

・4つのチェックボックスがありますが、デフォルトで問題ないので、「Next」ボタンを押します。
※この画面はWindows2000&IISの状態にインストールした時のものです、今回のインストールでは下2行は指定
 できないようになっていました。(IISが無いせいでしょうか?)

・ここまできて、インストールしない人はいないでしょうけど・・・。「Next」ボタンを押します。あとは、勝手にインストールします。

・こんな感じでインストールが始まります。ここらで一服です。
ですがファイルのコピーが始まり、あとちょっとで終わるという時に「エラーメッセージ」を表示します。
「Cancel」か「Ignore」か「Finish」を選択ですが、どれを指定しても「Rolling Back」で進行表示が逆戻りしインストール
できないのです。
そして「Finish」の画面になって終わってしまいます。

・ここで「Finish」をクリックするとインストーロルされずに終わってしまいました。
ディスクの容量不足かな?と思い色々試しましたが結局だめでした。

「どうすっかな〜やめよっか!」とも思いましたが諦めきれず、他にCGIを動かせる方法は無いかなと探しました。
しかし、これといった情報は見つかりませんでした。
もう一回 ActivePerl のダウンロードのページを探したら、ダウンロードの項目に「Windows AS_package 8.4M」というのがありました。
「何だろこれ」と思いダウンロードして解凍したら、なんとインストール時に設定されるPerl以下のフォルダ内容が全てあります。
Perl以下フォルダの実サイズは約24Mbyteです。
これをそのまま、A:\にフォルダコピーしました。
そして、AN HTTPD の pl,cgi に A:\Perl\bin\Perl.exe を設定しCGIのテストスクリプトを実行したら無事にスクリプトを実行したのです。
感動、感動です。

■AN HTTPD の設定について下のリンクはPC-9821Ne No2が稼動中[毎週金曜日 21 : 00 〜 07:00]でないと見れません

ここを参照して設定しました。

■稼動実験

・下のリンクをクリックしてください。(PC-9821Ne No2が稼動中[毎週金曜日 21 : 00 〜 07:00]でないと見れません)

・CGIのテスト(cgitest.cgi)
#!/usr/bin/perl

# ソースです。
print "Content-type: text/html\n\n";

print "<html>";
print "<head><title>CGI</title></head>";
print "<body>";
print "<h1>CGI TEST<h1>";
print "</body>";
print "</html>";

[戻る]

サイトトップへ