Windows98でPerl
(CGIを自分のマシン(PWS)で実行するために!!)


PWSのインストールPerlの入手とインストール動作設定試しに掲示板を実行参考資料

Shima_net Web >>

作者のPC使用経歴 最初のページへ PC関連リンクのページへ
開設 1999年03月08日 更新 2000年08月17日



このページの先頭へ

PWSのインストール

 Windows98の環境でCGIの動作確認をする為には、WebサーバーソフトをインストールしてWebサイト環境を準備する事が必要です。
 それには、Windows98に付属されているPWS(Microsoft Personal Web Server 4.0)を利用するのが便利だと思います。このPWSはIIS(Microsoft Internet Information Server)の(超)簡略バージョンです。

 PWSのインストール方法は、[スタート]メニューの中に有る[Internet Explorer]の項目の中に含まれていると思いますので、それを実行してください。
 もし、この項目が無い時には、[アプリケーションの追加と削除]の中の[Windowsファイル]の[インターネットツール]の中から[Personal Web Server]をチェックして追加しインストールして下さい。
 又は、Windows98のCD-ROMから直接インストールする事も出来ます。
例 :[Windows98 Upgrade CD-ROM]:\add-ons\pws\setup.exe を実行
 セットアップの行程はそれほど面倒ではありません。通常の使用ならば、標準又は最小でも問題ありません。又、インストールするディレクトリ等も標準のままで良いと思われます。
 尚、セットアップ後に、[Personal Web Server セットアップ]を利用してPWSのヘルプ等を追加する事も出来ます。

 インストールが完了して再起動したならば、Windows98のネットワークコンピュータで設定のコンピューター名が、PWSのサーバー名になっているはずです。
 これでPWSの[パーソナル Web マネージャ]からホームページを発行する事が可能になりますが、ここでは標準以外のディレクトリを作成してホームページを作り動作確認をしてみます。

 まず、テスト用のディレクトリを作成し、簡単なhtmlファイルを作成します。その後、[パーソナル Web マネージャ]の[詳細]で作成したディレクトリを仮想ディレクトリとして設定します。
テスト例

ディレクトリの作成 G:\Inetpub\test

テストファイルの作成 G:\Inetpub\test\Default.htm
<html>
<body>
TEST Default.htm<br>
<br>
Test OK ?<br>
</body>
</html>

パーソナル Web マネージャ の設定

  1. [パーソナル Web マネージャ]を起動し、[詳細]をクリックします。

    pws01.gif


  2. 仮想ディレクトリの[<ホーム>]を選択し[追加]をクリックして、仮想ディレクトリに登録する test のディレクトリの場所と、仮想ディレクトリ名(TEST)を設定します。

    アクセス権は、[読み取り]及び[スクリプト]をチェックして下さい。

    pws02.gif


  3. TEST の仮想ディレクトリが作成されます。

    pws03.gif


動作確認

 ブラウザで下記のURLを指定して、テストのホームページを開いてみて下さい。
 <サーバー名>の所は、使用中のマシンのコンピューター名です。
http://<サーバー名>/TEST/
 PWSで既定のドキュメントが、Default.htm に標準で設定されているはずですので、ブラウザで次の様に表示されれば正常です。
TEST Default.htm

Test OK ?
 これでPWSが利用出来る様になります。


このページの先頭へ


Perlの入手とインストール

 Windows98とPWSの環境でPerlを実行する為には、Perlのインタープリタである
ActiveState社製  ActivePerl(推奨) 又は Perl for Win32
のどちらかを入手してインストールする必要があります。

 入手は ActiveState社のホームページからダウンロードする事が出来ます。
ActiveWare のホームページ http://www.activestate.com/

ActivePerl のダウンロード http://www.activestate.com/Products/ActivePerl/
 ActivePerl-5.6.0.616-MSWin32-x86-multi-thread.msi, 8,584 KB
  2000/08/16確認時の最新版は ビルド616 でした。
 ※インストールするには Windows Installer version 1.1 が必要です。
  95/98版又はNT版を同ページでダウンロードする事が可能です。

 旧バージョン ビルド522
  Intel, APi522e.exe, 6,268 KB.

Perl for Win32 のダウンロード http://www.activestate.com/pw32/
 Pw32i316.exe [Perl for Win32 Intel/x86 binary(1,511 KB)]
  現在の最終バージョンは ビルド316 の様です。
  (2000/08/16確認時ではサポートされて無い様です。)

 インストールは、ダウンロードした実行ファイルを起動させて下さい。インストールディレクトリ等を指定するくらいで、後の設定等は標準のままで[はい]又は[Y]で進めて行けば良いと思います。終了したならば、マシンを再起動させて下さい。

 正常にインストールが完了したかどうかは、コマンドライン(MS-DOS プロンプト)にて
\perl -v
を実行して確認して下さい。バージョン情報などが表示されます。
 尚、autoexec.bat に perl.exe のパスが指定されていない時は、perlをインストールしたディレクトリを指定して実行して下さい。
 (例:G:\usr\local\bin\Perl\bin\perl -v)

 Perl for Win32 のアプリケーションをブラウザから実行する場合には、レジストリエディタを起動して拡張子[ .pl 及び .cgi 等]のスクリプトマッピングを設定しないと、PWSでは使用する事が出来ません。
(ActivePerlでもブラウザで動作しない場合には、同様にして設定を行なって下さい。)
スクリプトマッピングの設定例
  1. [パーソナル Web マネージャ]を起動して、PWSのサービスを停止させます。

  2. レジストリエディタ(Regedit.exe)を起動します。

    ※ ご注意
     レジストリの編集は最悪の場合、Windowsが起動出来なくなり、Windowsの再インストールが必要になってしまう可能性がありますので、十分に注意して作業して下さい。

  3. 下記のレジストリを開きます。
    HKEY_LOCAL_MACHINE
     \System
      \CurrentControlSet
       \Services
        \W3SVC
         \Parameters
          \Script Map
  4. [編集][新規][文字列]を選択して、値を追加します。

    reg01.gif


  5. 追加した値の名前の[新規値 #x]を[.pl]に変更します。

    reg02.gif


  6. [.pl]の文字列の値を編集([.pl]をダブルクリック又は[編集][変更]を選択)して、値のデータに perl インタープリタのパスを入力し設定します。
    例:G:\usr\local\bin\Perl\bin\perl.exe %s %s
    reg03.gif


  7. 拡張子[.cgi]も上記と同様に操作して設定します。

    reg04.gif


  8. レジストリエディタを終了し、マシンを再起動します。

  9. [パーソナル Web マネージャ]を起動して、PWSのサービスを開始させます。

 これでPWSの実行アクセス権のある仮想ディレクトリにPerlスクリプトを記述すれば、CGIが実行出来る様になります。


このページの先頭へ


動作設定

 PWS及び Perl の設定が済んだならば、CGIを実行できる環境が整った事になります。
 テスト用のディレクトリを作成し、簡単なスクリプトを記述して動作確認をしてみます。
テスト例

ディレクトリの作成 G:\Inetpub\test

テスト html ファイルの作成 G:\Inetpub\test\Default.htm
<html>
<body>
TEST Default.htm<br>
<br>
Test OK ?<br>
<br>
<a href="./cgi-bin/test.cgi">TEST CGI</a><br>
<br>
<iframe width="100%" height="80%" src="./cgi-bin/test.cgi"></iframe>
</body>
</html>

CGIディレクトリの作成 G:\Inetpub\test\cgi-bin

テスト cgi ファイルの作成 G:\Inetpub\test\cgi-bin\test.cgi
#!/usr/local/bin/perl

print "Content-Type: text/html\n\n";
print "<html>\n";
print "<body>\n";
print "TEST test.cgi<br>\n";
print "<br>\n";
print "Test OK ?<br>\n";
print "<br>\n";
print "</body>\n";
print "</html>\n";

 ※ #!/usr/local/bin/perl の行は、PWSで使用する場合には不用ですが、記述が有っても問題ありません。UNIXサーバー等にUPロードの予定が有る場合には、先頭行にこの様な Perl のパスを記述しておく事をお勧めします。

パーソナル Web マネージャ の設定

  1. [パーソナル Web マネージャ]を起動し、[詳細]をクリックします。

    TEST の仮想ディレクトリを作成していない場合には、前記PWSのインストールのテスト例を参考にして作成して下さい。

    pws01.gif


  2. 仮想ディレクトリの[/TEST]を選択し[追加]をクリックして、仮想ディレクトリに登録する cgi-bin のディレクトリの場所と、仮想ディレクトリ名(cgi-bin)を設定します。

    アクセス権は、[実行]及び[スクリプト]をチェックして下さい。
    スクリプトが保存されている仮想ディレクトリ(cgi-bin等)に[実行]のアクセス権が無ければ、CGIを実行させる事が出来ません。

    pws12.gif


  3. TEST 仮想ディレクトリの下に cgi-bin の仮想ディレクトリが作成されます。

    pws13.gif


動作確認

 ブラウザで下記のURLを指定して、テストのホームページを開いてみて下さい。
 <サーバー名>の所は、使用中のマシンのコンピューター名です。
http://<サーバー名>/TEST/
 PWSで既定のドキュメントが、Default.htm に標準で設定されているはずですので、ブラウザで次の様に表示されれば正常です。
TEST Default.htm

Test OK ?

TEST CGI

TEST test.cgi

Test OK ?

 インラインフレーム未対応のブラウザで表示する場合には、表示結果のTEST CGIのリンクをクリックし、それ以下が表示されるかを確認して下さい。
 これで自分のマシンで Perlスクリプト を使用したCGIの動作確認が出来る様になります。


このページの先頭へ


試しに掲示板を実行

 試しにフリーソフトの掲示板を実行してみましょう。
 ここでは、「 Petit Board 」(KENT WEB)を利用してみます。(ダウンロード等の説明は省略させて頂きます。)

 設置場所は、これまでの説明に利用したテスト用のディレクトリ cgi-bin にします。
 (尚、PWSですのでパーミッションの設定は、[パーソナル Web マネージャ][詳細]の仮想ディレクトリの設定(実行等のアクセス権)になります。)

 基本的に無改造で使用できるはずなのですが、ブラウザから petit.cgi を実行するとエラーが発生してしまいます。
 原因は、スクリプト内の実行ディレクトリの指定が正しくない為に発生してしまいます。通常のサーバーでは呼び出したcgiファイルの有るディレクトリがカレントディレクトリになるのですが、PWSではシステムの既定値のままです。
 そこで、petit.cgi の基本設定部分にカレントディレクトリを指定する文を追加します。
指定文追加例

設置ディレクトリ G:\Inetpub\test\cgi-bin
## --- 基本設定 --- ###

# PWS
$newdir = "G:/Inetpub/test/cgi-bin";
chdir $newdir;
# PWS
 これでエラーが発生せずに掲示板の画面が表示される様になります。
 又、指定部分のディレクトリは2バイト文字の漢字が含まれていても動作します。(Windows側で動作するため)

 尚、html拡張子の過去ログ等を表示させる場合には、仮想ディレクトリのアクセス権の設定で[読み取り]をチェックして読み込みを可能にしなければなりません。

 当然ですが、WWWサーバーにUPロードする場合には、上記の #PWS に囲まれた部分を削除しないといけません。


このページの先頭へ


Perl関連 参考資料



このページの先頭へ



(C) 1999 Shimanet