最速でさくらスタンダードで Mojolicious::Lite アプリを動かす!
※注意: ssh 接続が必要です
※注意: 最速と言いつつ perlbrew install perl の時点で (ry
1. perlbrew インストール
そのままだとさくらのレンタルサーバーにデフォルトで入ってる perl 5.8 しか使えないので、perlbrew をインストール。
$ curl -L http://xrl.us/perlbrew | perl - install
$ ~/perl5/perlbrew/bin/perlbrew init
$ cat >> ~/.bashrc << \EOF
> source /home/rightgo09/perl5/perlbrew/etc/bashrc
> EOF
$ cat > ~/.bash_profile << \EOF
> if [ -f ~/.bashrc ]; then
> . ~/.bashrc
> fi
> EOF
準備ができたら最新版の perl をインストール。
$ perlbrew --force install perl-5.14.1
$ perlbrew switch perl-5.14.1
ちなみにさくらのレンタルサーバーでは何度やってもまともにインストールできないので –force を付けてます。ここで一旦 ssh 接続を切ったり、新しいシェルを起ち上げたり。
2. cpanm インストール
8/9 追記: cpanm は $ perlbrew install-cpanm でもいけます!かつ新しい perl を入れるごとに cpanm
を入れ直す必要が無くなります!@hide_o_55 さんありがとうございます!
すでに perlbrew switch perl-5.14.1 してると思うので、ここで入れる cpanm は perl-5.14.1 にインストールされることになります。なのでその後 cpanm で入れるモジュールなども perl-5.14.1 のライブラリとしてインストールされます。
$ curl -L http://xrl.us/cpanm | perl - App::cpanminus
これで既に cpanm コマンドが使えるはずなので早速、
$ cpanm Mojolicious
おし、これであとは Mojo アプリ作るだけだぜ。
3. アプリ作成
Mojolicious::Lite を使って Hello World! アプリを作る!
$ cd www
$ mkdir MyApp
$ cd MyApp
$ vi app.cgi
アプリの中身はこんな感じ。
#!/home/user/perl5/perlbrew/bin/perl
use Mojolicious::Lite;
get '/' => sub { shift->render(text => 'Hello World!') };
app->start;
shebang が気持ち悪いですが、user の部分を適宜修正するのを忘れずに。最後にパーミッションを変更して、
$ chmod 755 app.cgi
完成!このまま http://user.sakura.ne.jp/MyApp/app.cgi にアクセスしても Hello World! が見れるはずですが、一手間加えて、
$ vi .htaccess
.htaccess にこんな風に書いておきます。
DirectoryIndex app.cgi .ht
RewriteEngine on
RewriteRule ^/([^/]+).cgi/(.*)\.([0-9a-zA-Z]+)$ /static/$2.$3 [L]
これで http://user.sakura.ne.jp/MyApp/ でいけるようになったはず!
ほんとはさくらスタンダードで Amon2 を動かしたいんだけど、Amon2 でも Amon2::Lite でもうまくいかない。。。