色々ありましたが、取り敢えずXREA(共有サーバー)に於ける非root(ユーザー権限)でのArkのインストールと、簡単な稼働実験が出来ました。Coreserverも互換があるので、そちらも行けるはずです。
これは、下記の状態のArkサンプルアプリケーションをCGIで稼働したものです(SimpleLinks::Web::Controller::Rootにあるindexアクションの結果です)。そういえばIEはtext/plainが鬼門でしたが、実験アクションなのでtext/htmlにしてpre要素で括る手間は省かせていただきました(上記URLの実験結果の確認にはFirefoxやChromeなどをお使いください)。
- SimpleLinks
- サンプルアプリケーション一式です(今回コミット分)。
{MyApp}/libに配備します。今回は~/app/p5-ark-sample-simplelinks/libとしました。このアプリについては別シリーズとしてエントリを設けています。 - Faktro
- ラッパークラス群です(今回コミット分)。local::libと一緒に
{MyApp}/extlibに配備します。今回は~/app/p5-ark-sample-simplelinks/extlibとしました。
ArkやData::Model、それに依存モジュールの山は、~/local以下のローカルライブラリに配備します(~/local/lib/perl5)。
ディスパッチテーブルも作っています(ただしCGIなのでキャッシュを使っています)し、ミルフィーユのような多階層オブジェクト抽象化の洗礼も受けていますし、SQLiteでDBを読んでもいますが、0.5~1.5秒程度でレスポンスを得られます(ADSL 8Mbps, Firefox 3.5.1でのend-to-endタイム)。
このように、ArkとData::Modelのタッグは、CatalystとDBIx::Classのタッグよりも極めて軽快に動作することが解ります。現段階のサンプルアプリは(開発の端緒であることもあって)テンプレートエンジンは未使用ですが、Text::MidroTemplate, Text::MicroTemplate::Extendedを使う場合には、レスポンスへの影響はほとんど無視出来る見込みです。
ただ、今回は思い切り手動作業で乗り切ってしまったので、スマートな作業記録にはなっていないのが惜しまれるところです。インストールの詳細については後で記事にまとめますが、要点は以下の通りです。
白鳥の水面下でのバタ足は往々にして泥臭いものです
さすがにちょっと見苦しい作業内容ですが、まあひとまず動いたので良しとしましょう。
- CPAN環境構築はModule::Build(Build.PL使用)が不完全だった。取り敢えず片っ端からlook Moduleして、perl Build.PLして、makeして、make testして、make installした。
- DateTimeの最新化も必要("Cannot compare a datetime to a regular scalar"等々)。関係モジュールは軒並み最新版にした方がよさそう。
chmod 700 -R ~/localを忘れずに。ln -s /virtual/USERNAME/app/p5-ark-sample-simplelinks ~/public_html/linksとした。本運用時には.htaccessでmod_rewriteを使うなどして、http://link.eorzea.asia/などとしてアクセスするつもり。force notest install MODULEしてしまうのも手の一つ。- 依存記述漏れが結構あるような気がするので、エラーメッセージを見て手動でまかなう。
配備はちょっぴり大変かも知れませんが、ArkとData::Modelによる軽快かつ強力なウェブアプリケーションの開発・運用が出来るということは、その苦労を補って余りある体験をもたらしてくれることと思います。
本日のところはこのくらいで......。
コメントする