エンジニアブログ

エンジニアブログ
Perl

Perlの勧め(3) Sledgeを使おう

photo.jpg onagatani 2009年07月08日

onagataniです こんにちわ。

前回からずいぶん時間をあけてしまいましたが Perlの勧め第3回です。

今回から何回かに分けてSledgeというオープンソースのフレームワークを紹介したいと思います。
PerlのフレームワークというとCatalystがデファクトスタンダードな雰囲気ですが、 枯れてるもの大好きな自分はSledgeを紹介します。
*まぁ、単に他をよく知らないだけです。

なお、他にも沢山フレームワークがあるので最新のものがよければ Arkなども良いかもしれません。
まずは動作環境の設定を行いたいと思いますが、 自分の環境以外でどうなるのか自信がないのでw 自分と同じ環境を想定します。

OSとミドルウェアは ・CentOS5.2 ・perl5.8.8 ・apache2.2 ・apache1.3(mod_perl組み込み) ・memcached(セッションを格納する) ・mysql5 なぜapacheが2つ必要なのかですが、
mod_perlのデメリットしてプロセスが肥大化してしまう事があげられます。

なので動的な出力以外は通常のapacheにお願いして、 動的な処理だけapache(mod_perl組み込み)で処理しようという魂胆です。

perl、apache2、mysqlについてはyumで最新版をinstallしておきます。
memcachedについてはdag経由でyumでinstallできます。
残りのapache1.3+mod_perlのinstallを手順を追って説明します。

1・apacheの1系最新版をダウンロードする
wget http://httpd.apache.org/download.cgi
tar zxvf apache_1.3.41.tar.gz

2・mod_perlの最新版をダウンロードする
http://perl.apache.org/dist/
tar zxvf mod_perl-1.31.tar.gz

3・mod_perlインストール
cd /path/to/mod_perl-1.3.1
perl Makefile.PL \
EVERYTHING=1 \
APACHE_SRC=/path/to/apache_1.3.41/src \
USE_APACI=1 \
PREP_HTTPD=1 \
DO_HTTPD=1
make
make install

4・apacheのインストール
cd /path/to/apache_1.3.41
ln -s src/modules/perl/libperl.module src/modules/perl/libperl.a
./configure --with-layout=Apache \
--target=mod_perl \
--prefix=/path/to/mod_perl \
--enable-module=so \
--activate-module=src/modules/perl/libperl.a
--enable-module=perl
make
make install

5・念のためApache::Request入れる
cpan Apache::Request
apxsのパス訊かれたら
/path/to/mod_perl/bin/apxs

6・最後に
apache1.3のconfを修正します
keepaliveはoff、port番号も8080番なりに変更します。
プロセス数はメモリの許す限りで調整します。
/path/to/mod_perl/bin/mod_perlctl start で起動確認
ちょっと長くなったので今回はここまでとします。
肝心のSledgeの説明ができていないですが、まずは環境整備からということで。
次回はSledgeのinstallを紹介したいと思います。