WindowsXpパソコンでPerlのインストールメモ

 2011年7月18日海の日なのにこんなの書いてる。
 自宅サーバーはWindowsXpにApaheでPHP、CGIを使えるようにしてある。他のパソコンでそれと同じ環境になるようにして、ホームページを更新したりする。インストールのやり方をメモしておかないと少し時間が経つと年のせいかきれいさっぱり忘れてしまうので、また調べなおしたりして手間がかかる。メモを残しておく方が手間が少なくて済む。
ActiveStateのホームページ。
http://www.activestate.com/
ActivePerl-5.12.3.1204-MSWin32-x86-294330.msiをダウンロード。
2つともチェックして「Next」をクリック。
Add perl to the PATH environment variable
というのはコンピュータの環境変数にPerlのパスを追加するかの指定。これは必ずチェック。
Create Perl file extension association
拡張子 .pl を Perlに関連付けを行うかの指定です。とりあえずチェック。
[コントロールパネル] ⇒[システム] で「システムのプロパティ」画面。
[詳細設定]タブをクリックし、[環境変数]ボタンをクリック。
「環境変数」画面で「システム環境変数」を確認。
「環境変数」画面で「システム環境変数」の欄になければ追加。
「変数」欄の[Path]
「値」欄に[C:\Perl\bin\;]が追加されている事を確認。
もしない場合は「編集」をクリックして手動で追加。
MS-DOSプロンプトを起動。
MS-DOSプロンプトで以下のコマンドを実行。
perl -v
コマンド実行後、このような画面が表示されればPerlは正常に動作している。
次にファイルの関連付け。
「フォルダオプション」→「ファイ種類」を順にクリック。
「新規」ボタンをクリック。
上の画面が表示されたら、「ファイルの拡張子」に「cgi」と入力し「詳細」ボタンをクリックし、「関連付けられているファイルタイプ」を「PerlScriptLanguage」にする。
拡張子CGIの関連付けされたファイルがPerlScriptLanguageになっている事を確認し、クリックし選択。詳細設定ボタンをクリック。
「アクション」はOPEN
「アクションを実行するアプリケーション」の項目が
"C:\Perl\bin\perl.exe" "%1" %*
と記入。OK。
関連付けが完了するとアイコンがセットされる。
httpd.confの書き換え
「ScriptAlias」の行で、CGIを置く場所を指定。
ScriptAlias /cgi-bin/ "ローカルパス"
その数行下の「<Directory "~">」の部分も書き替える。
<Directory "ローカルパス">
最後は/で終わること。そのフォルダ以下でCGI実行可能。
その下の行
Options ExecCGI
とする。
CGIの実行を許可する。
「To use CGI scripts:」の下のコメントアウト(#)を外す。
「.pl」を付け加える。
AddHandler cgi-script .cgi .pl
拡張子とPerlを関連付ける。
.cgi のつくファイルがアクセスされた時に、CGIとして処理させる設定。
「</IfModule>」の上の「AddType」が並んでいる部分の最後に
次の二行を書き加える。
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
Apach再起動後
以下のテストプログラムをhello.cgiといった名前で書いてブラウザでアクセス。
(次の行から)
#!C:/Perl/bin/perl
print "Content-type: text/html\n\n";
print <<"HERE";
<html lang=ja>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>Hello, CGI !</title>
</head>
<body bgcolor="#FFFFCC" text="#000000">
HERE
print "<h2>HELLO CGI</h2>\n";
print "<p><font color=\"Red\">Hello, CGI !</font></p>\n";
print "<p><b>このページはCGIで表\示されています。</b></p>\n";
print <<"HERE";
</body>
</html>
HERE
exit;
(上の行まで)
注.これをメモ帳などにコピペしてhello.cgiに名前を変えればいいが、@Wikiの仕様なのか、なぜか各行末にスペースが入る。これを取り除かないとエラーになる。
最終更新:2011年07月19日 18:56