Amon2をさくらスタンダードプラン上に設置する
ちょろちょろと作業しつつ、なかなか動かないので面倒で放置してたけど、気合いれて動かしてみた。予めローカルで作成しておき、ひと通りできたところで転送という形。
ローカル編
cpanm --mirror http://orepan.64p.org/ Amon2
amon2-setup.pl Hello
さくらスタンダードプラン故の宿命で、とりあえずextlibを掘って、そこに依存モジュール突っ込む。installdeps使ってみたけど、うまく入らなかったので只管errorlogとにらめっこ。
plackup -r app.psgi mkdir extlib cpanm --force -l ./extlib/ Foo::Bar
ひと通りファイルが入ったところで、app.cgi作成。もちろんこれも一筋縄ではうごかないので、とりあえず動くまで入れる。
#!/usr/bin/perl use lib qw(./extlib/lib/perl5); use strict; use warnings; use utf8; use Plack::Loader; use Plack::Util; use Path::Class qw(dir); my $psgi_path = dir("home", "bar"); my $app = Plack::Util::load_psgi('/'.$psgi_path.'/app.psgi'); Plack::Loader->load('CGI', port => 5000 )->run($app);
URLにこだわりたかったので、htaccessも追加。
RewriteEngine On RewriteCond %{REQUEST_URI} !^/app.cgi RewriteRule ^app.cgi - [L] RewriteRule ^(.*)$ app.cgi/$1 [QSA]
そしてHelloディレクトリ丸ごとさくらにあげる。
さくら編
とりあえず、ローカルでやったように、動くまで確認する。
cd ~/www/Hello/ cpanm --force -l ./extlib/ Foo::Bar
さくらスタンダードプランは、当日のエラーログをみるためには管理画面へアクセスしなければならないという面倒仕様なので、ブラウザとにらめっこしながらコンソール叩く。