Mojolicious::Liteな perl CGI をレンサバにアップロードするだけで動かす。
- 2011.03.09
- Mojolicious perl perlモジュール
- CGI, Mojolicious, perl
perlのWAF(ウェブアプリケーションフレームワーク)である Mojolicious(Mojolicious::Lite)をアップロードだけで使えるのか試してみる。
簡単に使えるフレームワークとして、とりあえず Linux+Apacheで動けばおkという前提で。
なにせフレームワーク初心者の戯事なのでそのあたりは察してください。
準備
httpでアクセス可能な場所にappというディレクトリを作成。
その中にapp.cgiファイルを作る。
ソース的にはこんな感じ。
#!/usr/bin/perl
## 又は、#!/usr/bin/env perl
use lib './lib';
use Mojolicious::Lite;
#use strict; # use Mojolicious::Lite;の時点で
#use warnings; # 両方共適用される
use utf8;
my $contents = {};
# Hello World!!
get '/' => sub {
my $self = shift;
$contents ->{messe} = "Hello World!!";
$self->stash(contents=>$contents);
}=>'index';
app->start('cgi');
__DATA__
@@ index.html.ep
<html>
<body>
<h1>index page</h1>
<%= $contents->{messe} %>
</body>
</html>
構成
app(ディレクトリ) |- app.cgi(perl cgi)
lib以下にmojo関連のモジュールを置く
ダウンロード先もリンクに掲載されています。
解凍したmojoディレクトリの中にlibというディレクトリがあるのでまるっとアップロードする(1.2MB程ある)
app(ディレクトリ)
|- app.cgi(perl cgi)
|- lib
|- mojo
|- .... 他たくさん
動作確認
app.cgi に実行権限を与える(700や705など)
http://hoge.com/app/app.cgi
にアクセスして無事indexページが表示されれば成功。
以下に全てのファイルが入ったzipがダウンロードできます。
appのサンプル
これでよいのか?
このような使い方は邪道なのかもしれないけど、手軽に簡単にフレームワークを使ったPerlスクリプトを書きたいとか、設置したいとかの要望はあると思うのですよ。
ただし、すべての機能が使えるかどうかは試していないのであしからず。
-
前の記事
perl Mail::Sendmail はRFC違反の携帯メールアドレスに送信出来ない 2011.03.08
-
次の記事
apcupsdのシャットダウン時のログ 2011.03.16