mojoliciousのインストールから実行まで

mojoliciousを使ってみる。

■cpanmとは

cpanm は、Perlモジュールをインストール(モジュールの取得、解凍、ビルド、インストール)するコマンド。

cpanとcpanmの違い??

http://www.omakase.org/perl/cpanm.html
に書かれているが

2010年2月に書かれたApp-cpanminusというモジュールのことがcpanmらしい。

cpan::shellの欠点としてやはり依存モジュールの多さが上げられているが
cpanmの場合は一枚岩のプログラムなので可搬性に優れるそうだ。

■cpanmのインストール方法

(参考)
http://d.hatena.ne.jp/perlcodesample/20101027/1278596435

# cpanmのインストール
curl -L http://xrl.us/cpanm > cpanm
perl cpanm App::cpanminus

# cpanmのアップグレード
cpanm --self-upgrade

vi ~/.bashrc
export PERL_CPANM_OPT="--local-lib=~/perl5"
export PATH=$HOME/perl5/bin:$PATH;
export PERL5LIB=$HOME/perl5/lib/perl5:$PERL5LIB;
source ~/.bashrc

意味
1行目 cpanmの設定を行う。モジュールをインストールするディレクトリ指定

# 試しにJSONモジュールをインストール。
cpanm JSON
ls ~/perl5/lib/perl5
perl -MJSON -e 1

■mojoliciousをインストール

cpanm Mojolicious

mojoをインストール

cpanm mojo

■mojoliciousを使用してみる

#雛形の作成
mojo generate lite_app myapp.pl

結果
[exist] /var/moja/test3
[write] /var/moja/test3/myapp.pl
[chmod] myapp.pl 744

#デーモンの起動
# perl myapp.pl daemon
Module "Pod::Simple" not present in this version of Perl.
Please install it manually or upgrade Perl to at least version 5.10.

#mojo generate app MyApp

結果
  [mkdir] /var/moja/test2/my_app/script
  [write] /var/moja/test2/my_app/script/my_app
  [chmod] my_app/script/my_app 744
  [mkdir] /var/moja/test2/my_app/lib
  [write] /var/moja/test2/my_app/lib/MyApp.pm
  [mkdir] /var/moja/test2/my_app/lib/MyApp
  [write] /var/moja/test2/my_app/lib/MyApp/Example.pm
  [mkdir] /var/moja/test2/my_app/t
  [write] /var/moja/test2/my_app/t/basic.t
  [mkdir] /var/moja/test2/my_app/log
  [mkdir] /var/moja/test2/my_app/public
  [write] /var/moja/test2/my_app/public/index.html
  [mkdir] /var/moja/test2/my_app/templates/layouts
  [write] /var/moja/test2/my_app/templates/layouts/default.html.ep
  [mkdir] /var/moja/test2/my_app/templates/example
  [write] /var/moja/test2/my_app/templates/example/welcome.html.ep

#daemonの起動
perl script/my_app daemon

結果
Server available at http://*:3000.


よってperl-5.10.1をインストールしなおし。

perl-5.8.1からperl-5.10.1へアップグレード

yum remove perl
wget http://www.cpan.org/src/perl-5.10.1.tar.gz
tar xvzf perl-5.10.1.tar.gz
cd perl-5.10.1
./Configure -de
make & make install

which perl
すると
/usr/local/bin/perl
/usr/local/bin/perl5.10.1
の2個ある。

パスの追加(参考)
http://pocketstudio.jp/linux/?%A5%D1%A5%B9(PATH)%A4%CE%B3%CE%C7%A7%A4%C8%C0%DF%C4%EA%CA%FD%CB%A1%A4%CF%A1%A9
echo $PATH
PATH=$PATH:/usr/local/bin/perl5.10.1
export PATH
echo $PATH

./Configure  prefix=/usr/bin/perl

■daemo起動

# perl myapp.pl daemon
Thu Mar 17 16:26:41 2011 info Mojo::Server::Daemon:316 [18699]: Server listening (http://*:3000)
Server available at http://*:3000.

apacheをリバースプロキシに設定

NameVirtualHost *:80

<VirtualHost *:80>
ServerName 182.48.55.21
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>