|
ローカルでのテスト環境の構築
はじめのところでJavaScriptを例にとって簡単なプログラミングをしましたね。
JavaScriptもスクリプト言語です。翻訳&実行はWEBブラウザがやってくれました。
Perlもスクリプト言語なので翻訳&実行してくれるインタプリタが必要なのですが、残念
ながらWindowsには標準で入っていません。
インタプリタはプロバイダーの会社の中にある大きなコンピューターの中にいます。
だからWEBブラウザーで呼び出されたPerlのプログラムはその会社で実行されて、その結
果をWEBブラウザに返すことになります。
ここで、はてな、と思いませんか。
そう、どうやってテストするのかということです。
いきなりプロバイダーのサーバーにプログラムをアップして、実行してみて、ちゃんと動
けば良いですが、確実に毎回正常に動かせるかと言うとちょっとどうかと思います。
人間なので間違いもします。
だからプロバイダーのご利用規約にもまず間違いなく「十分テストしてから」と書いてあ
るはずです。
でも、PerlってWindowsじゃ動かないし。
というわけで、自分のパソコンでPerlを動かせるようにします。
幸いにもすべて無料で構築することができますのでぜひがんばってトライしましょう。
簡単に書くと以下の2点です。
- Apacheのインストール
- ActivePerlのインストール
|
Perlを動かすだけならActivePerlをインストールするだけでよいのですが、これだと実
際にWEBブラウザーで実行したような挙動が分かりにくいので、サーバープログラムの
Apacheもインストールします。
これであたかも「プロバイダーの会社の中にある大きなコンピューター」があなたのパソ
コンの中にあるかのような常態になります。
URLは http://localhost/ か 198.168.127.1
|
と入力すればブラウザーにホームページが表示されます。
アパッチってなんなのよ
Apacheとはサーバープログラムのことです。
これをインストールすることによってパソコンにサーバーの機能を持たせることが出来ま
す。
|
このプログラムはコンピューターが起動している間ずっと常駐していて、WEBブラウザか
らの要求に応じて指定されたデーターを返します。返すものとはHTMLファイルであったり
Perlで実行された結果であったり、ダウンロードするファイルや画像だったりします。
もちろんいらないときには常駐をオフにすることもできます。
アパッチのインストール
2. Apacheのインストール
|
上のファイルをダブルクリックします。
どんどんNextボタンを押していけばインストールが進んでゆきますが気をつけるとすれば
以下の部分です。
|
「License Agreement」
I accept〜 をチェック
「Server Infomation」の画面
Network Fomein = localhost
Server Name = localhost
Administrator's Email Address = webmaster@example.com(何でも良い)
ものによって文言が微妙に異なるのですが、for All User とか書いてあるほうが自動起動です。
こちらをチェックするとWindowsが立ち上がるたびに自動的に常駐します。
もう1つをチェックすると手動起動になります。onlyとか書いているはず。
今回は自動起動を選びます。
(あとで設定を変えることもできます。なのでどちらでもよいです。)
「Setup Type」の画面
Typical、なければCompleteを選択
「Destination Folder」
インストール先は
C:\ProgramFiles\Apache Group\Apache
になっていると思いますが、特に変える必要は無いと思います。
変える場合はChangeボタンから選んでください。
|
3. Apacheを起動する
|
インストールが終わると画面右下(タスクバー)にApacheServiceのアイコンが表示されます。
こいつをクリックしてStartさせるとApacheが起動します。
または、タスクバーから、
スタート→すべてのプログラム→Apache HTTP Server 2.0.54→Control Apache Server→Start
でも起動します。
|
4. Apacheのテスト
|
ブラウザーから以下のURLを入力します。
http://localhost/
あなたの予想に反して、このページが見えているでしょうか
とかいうようなメッセージが見えればオッケーです。Apacheのインストールが出来ました。
|
パールのインストール
1. ActivePerlのダウンロード
|
ACTIVE STATE
から
画面左側のWindows欄のMSIというのをダウンロードします。
ActivePerl-5.8.8.817-MSWin32-x86-257965.msi(2006.4現在)
|
2. ActivePerlのインストール
|
上のファイルをダブルクリックします。
どんどんNextボタンを押していけばインストールが進んでゆきますが気をつけるとすれば
以下の部分です。
|
「End-User License Agreement」
I accept〜 をチェック
「Custom Setup」
ごちゃこちゃしてますが迷わずNext
「Choose Setup Options」
迷わず全部チェック。
|
3. Perlの起動確認。
|
アパッチが起動していることを確認してから、以下のテキストをコピペして、test.cgi
という名前で保存します。
保存形式はtextです。いったん test という名前で保存してから拡張子を txt から cgi
に変えて下さい。
|
#!c:/perl/bin/perl
print "Content-type:text/html\n\n";
print "<html>";
print "<head>";
print "<meta http-equiv=\"content-type\" content=\"text/html;charset=Shift_JIS\">\n";
print "<title>Perlテスト</title>";
print "</head>";
print "<body>";
print "Hello Perl!";
print "</body>";
print "</html>";
exit;
|
このファイルをこの場所に保存します。
C:\Program Files\Apache Group\Apache2\cgi-bin\
|
次にWEBブラウザーから以下のように入力します。
http://localhost/cgi-bin/test.cgi
|
Hello Perl!
と表示されれば大成功です。(^-^)ノ
|
これでサーバーとクライアントの両方を自分のWindowsパソコン一台で演じることが出来
るようになりました。
ネットワーク環境をいろいろいじったらこのパソコンからインターネットに情報を公開す
ることもできますが、それはもっと後になってから説明します。
Apacheが立ち上がらない
せっかくインストールしたApacheですが、立ち上がらないことがあります。
それはポートが競合している時。よく使うソフトで有名なのがSkypeです。このソフトは
デフォルトでポート80を使用するので、Apacheと喧嘩します。
このとき相手側の使用するポートを変えることができれば問題ないのですが、それが出
来ない場合はApacheの方の設定を変えます。
そもそも今回のApacheはPerlの動作テスト用にインストールしたものなので、こちらが
譲るのが妥当かもしれません。
では以下のようにして変えます。
1. C:\Program Files\Apache Group\Apache2\conf\httpd.conf
でポート80を使用している部分を別のポート番号に書き換えます。
Listen 80(120行目ぐらい)
ServerName localhost:80(214行目ぐらい)
↓
Listen 50000
ServerName localhost:50000
修正箇所の正確な場所はバージョンによって変わるかもです。臨機応変に対応してくださ
い。
50000という数字は別に他ので良いです。49152から65535の間で好きな番号を選びます。
ちなみに0から1023はプロトコルで、1024から49151はアプリで、使用される可能性があ
りますので避けましょう。
2.ブラウザーの設定を変えます。
ツール→インターネットオプション→接続→LANの設定→プロクシサーバー
をオンにし、以下のように設定します。
アドレス:localhost ポート:50000
自PCでのCGIテストのときにはブラウザーのこの部分をチェックし、通常のネット
サーフィンをするときには元に戻します。
|
※競合しているソフトの設定を変える場合。
こちらで良ければ上記の処理は必要ありません。
例えばSkypeの場合は以下の通りです。
ツール→設定→接続
「上記のポートに代わり、ポート80を使用する」のチェックを外します。
|
|
全然関係ないのですがAmazonの本を「萌え」で検索したら以下のような実用書が出
てきました。
「萌えメソッド」もここまで来たかという良い例。戦車とか自衛隊って。
……すげー欲しい! (↑結局踊らされている)
「萌え萌えうにっくす!」欲しいなぁ……。
|
|