Webの開発環境を構築する
第3回 Perlの設定
ここまでWebサーバとしてApache、データベースとしてMySQLの設定を行いました。
今回は小中規模のWebシステムで数多く使用されているPerlの実行環境をWindowsに設定していきます。
レンタルサーバ等でも、ほぼ標準でサポートされているので馴染みは深いと思いますが、
Perlのプログラムを組んだは良いがサーバにアップロードして動かしてみるまで、思った通りに動くか
分からない・・という経験のある人もいるのでは無いでしょうか?
そこで誤りがあると、修正して再度アップロード、又テスト・・・
これでは効率の良いプログラミング等、出来る筈がありません。
今回は設定も簡単でWindowsで気軽にPerlを使用出来るActivePerlの環境を構築していきます。
あくまでも開発用の環境の構築になりますので、自宅サーバ用途等のセキュリティの対策は今回は対象としていません。
以上の事を踏まえた上で記事を読み進めて下さい。
それでは、早速、本題に入りましょう。
Perlの環境構築
- ActivePerlのサイト
- Windows版のダウンロード
DownLoad ActivePerlのリンクから、/Home/Store/ActivePerl/DownLoadのページに移動
Windows(x86)のMSI版をダウンロードして下さい。
(特にバージョンは気にしませんので最新のバージョン(ここでは5.8.8.822)をダウンロードします)
- ActivePerlのインストール
ダウンロードをしたActivePerl-5.8.8.822-MSWin32-x86-280952.msiをダブルクリックして、インストールを開始します。
(ダウンロードの時期によって多少バージョンに違いがある事もあります)
Nextボタンをクリック
「I accept the terms in the License Agreement」を選択しNextボタンをクリック
インストール先にd:\usr\Perl5.8.8.822\を入力しNextボタンをクリック
Nextボタンをクリック
Installボタンをクリック
ActivePerl 5.8.8 Build822のソフトウェアのインストールが開始されます
Finishボタンをクリック
ここまででインストールは終了です。続けて設定を行います。
- ActivePerlの設定
基本的な設定はインストール段階で全て終わっているので、MySQLに接続する為のバイナリをインストールします。
- コマンドプロンプトを開き、Perlをインストールしたディレクトリの下のbinに移動
d:
cd \usr\perl5.8.8.822\bin
binディレクトリに移動したら、以下のデータベース接続用のDBIバイナリをインストール
ppm install DBI
続いてMySQL接続用のDBD-mysqlバイナリをインストール
ppm install DBD-mysql
これで準備完了です
- Perlの動作確認
Apacheのhtdocsの下に作成したtestディレクトリのに以下の様なファイルを作成します
perl.cgi
#!/usr/perl5.8.8.822/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE>CGI-Perl テスト</TITLE>\n";
print "<META HTTP-EQUIV='content-type' content='text/html; charset=shift_jis'>\n";
print "</HEAD>\n<BODY><H2>CGI-Perlテスト</H2>\n";
print "</BODY>\n</HTML>\n";
exit;
Perlの動作確認用ページを用意
perl_mysql41.cgi
#!/usr/perl5.8.8.822/bin/perl
use DBI;
$conn = &ConnectDB;
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE>CGI-MySQL4.1 テスト</TITLE>\n";
print "<META HTTP-EQUIV='content-type' content='text/html; charset=shift_jis'>\n";
print "</HEAD>\n<BODY><H2>CGI-PerlからMySQL4.1への接続テスト</H2>\n";
$sth = $conn->prepare("UPDATE test_table SET NAME='日本語更新テスト' WHERE CODE=2");
$ref = $sth ->execute;
$sth = $conn->prepare("SELECT * from test_table");
$ref = $sth ->execute;
for($i=0;$i<$ref;$i++){
($code,$name) = $sth->fetchrow_array();
print "$code / $name<br>\n";
}
$sth ->finish;
$conn->disconnect;
print "</BODY>\n</HTML>\n";
exit;
sub ConnectDB{
$db_user = 'test';
$db_name = 'test_db';
$db_pwd = 'test';
$conn = DBI->connect("DBI:mysql:".$db_name.":localhost", $db_user, $db_pwd);
if($conn->errstr != ""){
$err = $conn->errstr;
}
return($conn);
}
PerlからMySQL4.1に接続の確認をするページを用意
perl_mysql50.cgi
#!/usr/perl5.8.8.822/bin/perl
use DBI;
$conn = &ConnectDB;
print "Content-type: text/html\n\n";
print "<HTML>\n<HEAD>\n<TITLE>CGI-MySQL5.0 テスト</TITLE>\n";
print "<META HTTP-EQUIV='content-type' content='text/html; charset=shift_jis'>\n";
print "</HEAD>\n<BODY><H2>CGI-PerlからMySQL5.0への接続テスト</H2>\n";
$sth = $conn->prepare("UPDATE test_table SET NAME='日本語更新テスト' WHERE CODE=2");
$ref = $sth ->execute;
$sth = $conn->prepare("SELECT * from test_table");
$ref = $sth ->execute;
for($i=0;$i<$ref;$i++){
($code,$name) = $sth->fetchrow_array();
print "$code / $name<br>\n";
}
$sth ->finish;
$conn->disconnect;
print "</BODY>\n</HTML>\n";
exit;
sub ConnectDB{
$db_user = 'test';
$db_name = 'test_db';
$db_pwd = 'test';
$conn = DBI->connect("DBI:mysql:".$db_name.":localhost:3307", $db_user, $db_pwd);
if($conn->errstr != ""){
$err = $conn->errstr;
}
return($conn);
}
PerlからMySQL5.0に接続の確認をするページを用意
ブラウザからアクセスしてみましょう。
続いて、MySQL4.1と接続してみましょう
更に、MySQL5.0と接続してみましょう
以上でPerlの設定は完了です。
次回の予定は、PHPの設定とMySQLとの接続を予定しています。
この様な記事が技術者の第一歩として、助けになれば幸いです。
2007/10/02
Webの開発環境を構築する