東京うぇ部

PHPをメインにしたプログラム情報共有サイト

Perl

Amon2のインストール

とある関係でPerlを覚える事に。

まずはお勉強がてら、Amon2となるフレームワークを

インストールしたいと思います。


前提条件
CentOS5.8

Amon2はcpanから簡単にインストールできるとの事なので

以下にて導入。

# curl -L http://cpanmin.us | perl - Task::Amon2 -nv

案外時間がかかりました。。私の環境だけでしょうか。。

ひとまずエラーとかも出ていないのでインストールは完了かな?と。

完了すると、amon2-setup.plのコマンドが使えるようになります。

こちらのコマンドはアプリの元、スケルトンが作成されるコマンドみたいです。

なので早速実行。

# amon2-setup.pl --flavor=Basic MyApp

はい、エラー。


Error while loading /var/www/MyApp/app.psgi: Can’t locate Module/Functions.pm in @INC (@INC contains: /var/www/MyApp/lib /var/www/MyApp/extlib/lib/perl5 /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /var/www/MyApp/lib/MyApp/Web/ViewFunctions.pm line 6.

ふむふむ。

/var/www/MyApp/lib/MyApp/Web/ViewFunctions.pmの6行目が怪しいとの事。

確認すると、

use Module::Functions;

となっており、モジュールが足りていないんだと判断。

以下にてモジュール導入。

# curl -L http://cpanmin.us | perl - Module::Functions -nv

再度スケルトン作成コマンド実行。

# amon2-setup.pl --flavor=Basic MyApp

おっ、今度はエラーなくうまく実行できました。

ファイル構造は以下になっております。

# tree MyApp/
MyApp/
|-- Build.PL
|-- app.psgi
|-- config
|   |-- deployment.pl
|   |-- development.pl
|   `-- test.pl
|-- cpanfile
|-- db
|   `-- development.db
|-- lib
|   |-- MyApp
|   |   |-- Web
|   |   |   |-- Dispatcher.pm
|   |   |   |-- View.pm
|   |   |   `-- ViewFunctions.pm
|   |   `-- Web.pm
|   `-- MyApp.pm
|-- sql
|   |-- mysql.sql
|   `-- sqlite.sql
|-- static
|   |-- 404.html
|   |-- 500.html
|   |-- 502.html
|   |-- 503.html
|   |-- 504.html
|   |-- bootstrap
|   |   |-- css
|   |   |   |-- bootstrap-responsive.css
|   |   |   |-- bootstrap-responsive.min.css
|   |   |   |-- bootstrap.css
|   |   |   `-- bootstrap.min.css
|   |   |-- img
|   |   |   |-- glyphicons-halflings-white.png
|   |   |   `-- glyphicons-halflings.png
|   |   `-- js
|   |       |-- bootstrap.js
|   |       `-- bootstrap.min.js
|   |-- css
|   |   `-- main.css
|   |-- img
|   |-- js
|   |   |-- es5-shim.min.js
|   |   |-- jquery-1.10.0.min.js
|   |   |-- main.js
|   |   |-- micro-location.js
|   |   |-- micro_dispatcher.js
|   |   |-- micro_template.js
|   |   |-- sprintf-0.7-beta1.js
|   |   `-- strftime.js
|   `-- robots.txt
|-- t
|   |-- 00_compile.t
|   |-- 01_root.t
|   |-- 02_mech.t
|   |-- 03_assets.t
|   |-- 06_jslint.t
|   `-- Util.pm
|-- tmpl
|   |-- include
|   |   |-- layout.tt
|   |   `-- pager.tt
|   `-- index.tt
`-- xt
    |-- 01_pod.t
    `-- 02_perlcritic.t

18 directories, 48 files

なんとなくわかりやすそうな?感じが見受けられます。

では早速起動して確認です。

# cd ./MyApp
# plackup app.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/

ブラウザにてhttp://IPアドレス:5000/にアクセスし、

Hello, Amon2 world!と表示されれば成功です。

iptablesでポートを絞っている場合は、5000番ポートを解放して確認してくださいね。

まずは第一歩という事でこちらを参考にしてインストールを紹介しました。

では引き続きアプリ開発に関して順次紹介していきたいと思います。

コメントを残す




このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事