Apache for Win32 & Perl の導入
1.はじめに
WindowsMeの環境でApache Web サーバーを構築し、なおかつCGIを利用できるようにしました。こうすることで,ローカルでCGIのテストをすることができます.
2.プログラムの入手
- apache_1_3_12_win32.exe http://www.apache.org/dist/htppd/binaries/win32/old/
この時点で1.2.19が最新なのですが,このバージョンはWindowsの起動と同時に常駐すると何かに書いてあったので,古いのにしました.
- Pw32i316.exe
技術評論社の「CGIのための実践入門Perl」に付録としてついているCDに入っているものを使いました.これもちょっと古いのですが,新しいのはサイズが大きいのでこれにしました.
- B316j117b.exe
これも同じCDに入っています.
3.Apacheのインストール
- apache_1_3_12_win32.exe を、適当なディレクトリに置いて実行します。
- インストールするディレクトリを c:\Program
Files\Apache Group\Apache にしようとしますが,こんな深いところでは色々と不便なので、
c:\Apacheに修正します。
4.Apacheの設定
confディレクトリ内にある httpd.conf をエディタなどでで開き、以下の個所を修正します。
- #ServerName new.host.nameをServerName 127.0.0.1
- UserDir "d:/apache/users/"をUserDir
"d:/apache/*/"
- #AddHandler cgi-script .cgiの#をはずす
- #AddType text/html .shtml
#AddHandler server-parsed .shtml の#をとる.
AddHandler server-parsed .html を追加します
- それからDirectoryIndex index.htmlの行の下に(別にどこでもいいのですが)
DirectoryIndex index.htmを追加してください.そうしないと何かと都合が悪いです
5.Perlのインストール
- Pw32i316.exeを適当なディレクトリおいてにインストールします。CDの場合はCDに入ったままでいいです.
- インストール先はデフォルトでc:\perl ですが,c\usr/local
にします.これは私のプロバイダの環境に合わせてだけなので,他意はありません.各自のプロバイダの環境に合わせてもいいし,デフォルトのままでも構いません.ほかは指示通りやれば,特に問題はないです.
- 再起動します.
- DOSプロンプトからperl -vと入力してメッセージが出れば正解.パスが通っていたらどのディレクトリでも起動できます.
- B316j117b.exeを適当なディレクトリおいてにインストールします。CDの場合はCDに入ったままでいいです.
- 同様にインストール先はc\usr/localにします.外は指示通りです.
- DOSプロンプトからjperl -vと入力してjperlが正常にインストールされていることを確認します。
6. Apacheの運用
- hogeraディレクトリを、Apacheディレクトリの下に作成します。C:\Apache\hogeraになります。
- どんなページでもいいのでindex.htmlまたはindex.htmを作成します。
- Apache の起動
- スタート→プログラム→Apache Web Server→Start
Apache
- DOSプロンプトが開き Apache が起動します。
- 起動したらこの窓を最小化しておいてもかまいません。
- ブラウザを起動し、URL欄に http://127.0.0.1/~hogera/
と入力します。
- ブラウザに、ページが表示できれば成功です。
- Apacheの終了、
- スタート→プログラム→Apache Web Server→Stop
Apache
- 起動と終了はショートカットを作っておきましょう.そうしないといちいち上の作業をしなくてはいけません.
7.CGIの利用
- CGIを置く場所は \apache\hogera\cgi-binとし、そこにnantoka.cgiを設置します.この段階では拡張子はcgiでないとダメです。
- 拡張子cgi の第1行目はperl.exeまでのpathを記入するので
#! usr/local/bin/perl にします。
- ブラウザーからの呼び出しは
http://127.0.0.1/~hogera/cgi/nantoka.cgi
です
- ちゃんと動いたら成功です. めでたしめでたし.