pepponの日記 このページをアンテナに追加 RSSフィード

2008-04-04

catalystをさくらインターネットで使う

下記ページが大変参考になりました。

http://catalyst.g.hatena.ne.jp/lapis25/20061223/p1

ほとんど同じですが、記憶メモ

さくらインターネットはStandardを利用。

苦労したのはさくらインターネットMYSQL接続とCPAN

CPAN

さくらのローカルにCPANモジュールインストールできないので、自分のディレクトリインストールして、インストール先を見て貰う必要がある。 あと.cshrcにパスを通す

setenv PATH /home/アカウント名/local/bin:$PATH
setenv PERL5LIB /home/アカウント名/local/lib/perl5

/home/アカウント名/.cpan/CPAN/MyConfig.pmを編集

いじったのはここ

  'make_install_arg' => q[SITEPREFIX=/home/アカウント/local],
  'makepl_arg' => q[INSTALLDIRS=site LIB=/home/アカウント/local/lib/perl5 PREFIX=/home/アカウント/local],
  'mbuildpl_arg' => q[./Build --install_base /home/アカウント/local],
 'build_dir' => q[/home/アカウント名/.cpan/build],

で、だいたいOK

install Task::Catalyst

でだいたいOKだったような記憶。

うまくいかないときは

CPAN > install H/HOGE/HOGE-0.01.tar.gz

みたいにモジュールのバージョン下げてつかったり、wgetでローカルに落としてインストールしたようなしないような。

MySQLの位置がわからず、調べるのに時間かかりました。

Catalystヘルパーの場合

script/MyApp_create.pl model DBIC DBIC::Schema MyApp::Schema create=static dbi:mysql:dbname=MySQLデータベース名:さくらのMYSQLサーバ名 MySQLアカウント MySQLパスワード

こんなかんじ。

Catalyst

CGIを利用することになるので

先のLAPISさんのページにあるように

~/MyApp/script/myapp_cgi.plをいじってMyAppのライブラリを見れるようにuse libする。

自分の場合は以下のように

use lib '/home/アカウント名/local/lib/perl5', "$FindBin::Bin/../lib";

URLは下記のようにしてみた

/ ルートは通常HTML

/hogehoge/ はCatalystへ渡す時はこれ

wwwに.htaccessを置く

AddHandler cgi-script .pl
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^script/myapp_cgi.pl
RewriteRule ^hogehoge/(.*)$ script/myapp_cgi.pl/$1 [PT,L]

上記もほぼlapisさんと同じで、違うのはCatalystディレクトリの時だけrewriteする

CGIで動かしてみたわけだけど、もっさり感はありますが、許容範囲内でした。

専用なくてもCatalystで十分にやっていけそうな感じです。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。