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で十分にやっていけそうな感じです。