Windows上に、PerlのCGIを実行する環境を作る(Apacheのインストール)

Posted on

CGIは、Webサーバー上でプログラムを実行して動的ページや結果を得るための仕組みであるが、要は掲示板なんかに使われている。特に、そのCGIの仕組の中で使われる言語としてPerlが挙げられる。もちろん、使い方によってはバッチファイルやC言語をCGIで実行することもできる。

今回は、Perlのインストールと、Apacheの実行をしていきたいと思う。

Windows 用 Perlの実行環境をインストール

http://www.activestate.com/activeperl/downloads

こちらのページより、Active Perlという実行環境をダウンロード。Windows用で、x86と、64bitと書かれたものがあるが、前者が32bit,後者が64bitである。これをダウンロードの後インストールを行う。普通にインストールを行っていいが、ドキュメントファイル作成のために、少し時間がかかる。

C:Perlに、Perlの実行環境ができていると思うが、C:Perlbinに、perl.exeがあると思うので、それを、自分でC:usrbin、C:usrlocalbinのフォルダーを作り、そこにコピーする。

適宜再起動をする。すると、コマンドプロンプトでperlと打つと、起動するようになる。試しに、チューリングマシンシミュレータでも動かそうと思えば動くと思う。(別に動かしてみなくてもいいが。)

Windows用 HTTPサーバーのApacheをインストール

WindowsにHTTPサーバーを入れることで、実際にサーバーが動いている状態を真似することができる。127.0.0.1というアドレスは「自分に」といったような意味を持つアドレスらしいが、そこにサーバーを構築させればいい。

http://httpd.apache.org/download.cgi

こちらのサイトから、Win32 Binaryと書かれたもの(2つあるが、1つは小難しい暗号化機能付き。今回はいらないが、もし欲しい場合はつけてもいいのでは)今回は、without cryptoを選択する。これをダウンロードしてインストールを行う。

インストールのとき、All Users(みんな使う)か、only for the current user(このユーザーのみ)を選べるようになっているが、今回、説明では後者を選んでおくことにする。英語であるが、Next…と進んでいくと良い。

CGIの実行設定

最終段階であるが、サーバーの設定を行う。Apacheの設定ファイル(confhttpd.conf等)をメモ帳などで開く。とりあえず初期設定はおそらく下のアドレスなので、開いてみる。

C:Program FilesApache Software FoundationApache2.2confhttpd.conf

そして、次の項目を編集。もうすでにそうなっている場合は変更しなくて良い。

  • 81行目あたり、LoadModule cgi_moduleの最初の#を外す
  • 125行目あたり、LoadModule userdir_moduleの、最初の#を外す
  • 393行目あたり、AddHandler .cgiの後にスペースを含めて .plを追加し、の最初の#を外す

extra/userdir.confについて

  • 18行目あたりの、Optionsで始まる行に、スペースを含めてExecCGIを最後に入れる

以上で設定は終了。

最後に、自分のファイルを設置する場所を作成する。マイドキュメントや、ライブラリーのドキュメントの中に、My Websiteというフォルダを作成し、その中に自分のデータを入れる。

実行

My Websiteフォルダにindex.htmlなどを入れる。次にサーバーを起動してみる。スタートメニューから、Control Apache Server、その中のStart Apache in Consoleを起動。黒いプロンプトの画面が出たら成功。

http://127.0.0.1:8080/~自分のユーザ名/

がアドレス。cgiファイルを入れてみて実行できれば成功。Perlのパスはこのまま設定していれば、/usr/bin/perl /usr/local/bin/perlである。All Userで設定した場合、アドレスは80で、Restartを選択すると良い。

実行出来なかったら

CGIを実行しなかったら

extra/userdir.conf

の、Optionsの行の前あたりに

AddHandler cgi-script .cgi .pl

と入れてみる

サーバーが起動しなかったら

All Usersで設定した場合は、アドレスが

http://127.0.0.1/~自分のユーザ名/

となっているかもしれない。また、最初から起動している状態になっている可能性があるので、Restartをしてみる

また、サーバーの設定を、設定ファイルの部分において、originalからコピーし直し、どうようにしてみよう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>