wata.dev

最速でさくらスタンダードで 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 でもうまくいかない。。。

ブログの記事一覧