|
必聴講座ご紹介 Cloud Days Tokyo 2012 エムオーテックス Cloud Days Tokyo 2012 ヴイエムウェア Cloud Days Osaka 2012 アマゾン データ サービス ジャパン |
|
|
|||||||||||||||||||||||||
| 表1●Sledgeのプラグイン |
Sledgeは,LinuxやFreeBSD, Solarisといった各種UNIX系OS上で,Apacheに組み込むPerlモジュール「mod_perl」と連携させて動作させる。もちろん,CGI(Common Gateway Interface)環境でも動作するが,速度的には若干不利となってしまう。CGI環境は,mod_perlのインストールが難しい環境や,ちょっとしたテスト環境などで利用すると良いだろう。
なお,ここではmod_perlと連携させて動作させることを想定し,インストールや各種設定を紹介していくが,CGI環境で動作させた場合でもほとんど違いはないことを補足しておく。
ここでは,Apache1.3.27とmod_perl1.27が既に導入済みという前提で,Sledgeのインストール手順を紹介する。未導入の場合は,Apache HTTP Server ProjectのWebサイト(http://httpd.apache.org/)から入手できるソース・アーカイブや,ディストリビューションに含まれるRPMパッケージを使用して,各自インストールしていただきたい。
また便宜上,Apacheのインストール・ディレクトリ(/usr/local/apacheなど) を「$APACHE」と表記する。またシェルでの操作において,“$”のプロンプトは一般のユーザー権限で,“#”のプロンプトはroot権限で処理を実行することとする*1。
Sledgeのインストール前に,依存するPerlモジュールのインストールが必要である。これは,CPAN*2モジュールを利用すると,以下のように簡単に実施できる。
必要なモジュールのインストールが完了した後,Sledgeをビルドする。Sledgeの最新ディストリビューションをWebサイトよりダウンロードする(本誌CD-ROMにも収録)。ここでは執筆時点での最新版である“Sledge-1.10.tar.gz”を利用した。
この「make test」では,Sledgeのテスト・コードが実行される。環境によっては,この処理で非常に時間がかかることがある。ここで,
と表示されれば,テストはすべて成功である。しかし,
などのように表示された場合,一部のテストが失敗している。このままインストールしても問題がない可能性が高いが,後述するメーリングリストを利用して,ぜひ開発チームに不具合をフィードバックしていただきたい。テスト後,
として,Sledgeの各種ライブラリをインストールする。
では,Sledgeを用いて簡単なアプリケーションを構築してみよう*3。ここでは,電卓機能を提供するアプリケーションを作ってみる。といっても,入力された2つの値の足し算を行うだけの非常に単純なものだ。プロジェクト名を「CalcApp」,作業ディレクトリを「$HOME/calcapp」とした。$HOMEは,ユーザーのホーム・ディレクトリを示している。
まずはSledgeを利用するために必要なスケルトン・ファイル(ひな型となるファイル)群をビルドする。スケルトン・ファイルは,Sledgeに付属しているsledge-setupツールを使用して作成できる。
これで$HOME/calcappディレクトリ配下に,CalcAppというディレクトリが作成され,必要な .pmファイルができている。
端末に表示されるメッセージに従い,CalcApp/Config/_common.pmを編集する。このファイルでは,CalcAppプロジェクトで使用する設定変数を定義する。具体的には,TMPL_PATH(テンプレートのパス)やDATA_SOURCE(データソース)を,環境に合わせて編集する。
ここでは図1のように編集した。この設定では,セッション管理のデータソースにフリーDBMS「MySQL」を使用しているが,PostgreSQLやSQLite(http://www.sqlite.org/)も使用可能である*4。その場合,CalcApp/Pages.pmのMySQL部分を適宜編集することが必要だ。
また,TMPL_PATHに指定したディレクトリはMVCのView(ビュー)に当たる,テンプレート・ファイルの置き場なので,ここで作成しておく。
最後に,セッション管理用のテーブルをMySQLに作成する。このテーブル定義は,Sledgeのソース・アーカイブに含まれている。
これで前準備は完了である。