LoginSignup
5
3

More than 5 years have passed since last update.

Amon2::Lite おさらい 1. Plack, Amon2 のインストールと起動の確認

Last updated at Posted at 2015-09-11

なんか、久々に Amon2::Lite 使ったので、おさらい。
「イントラで、コマンドラインを使えない人に対して、 bl2seq サービスを提供する。」ってのを題材に、ざっと書く。

  • port 5000 を使うので、そこを塞いでる人は開ける。
一応クリーン環境作成。

plenv 環境下。

$ export PERL5OPT=        # 自己都合
$ plenv install 5.18.4
$ plenv shell 5.18.4
$ plenv install-cpanm
  • 以下、環境によっては、 sudo が必要

インストール

Plack

前から一発だったっけか?

$ cpanm Task::Plack
  • 別環境の 5.22.0 では、 Corona が入らなかった。

Amon2

$ cpanm Amon2 Amon2::Lite

Amon2::Basic とかでは carton 使うのがスタンダードっぽいけど、今回はいらない。

以上でインストール終了。

起動確認

ガワ作成

$ amon2-setup.pl --flavor=Lite Example

ガワの中身

$ cd Example
$ tree          # 本物の tree コマンドじゃないよ。
/PATH/TO/Example/
+--.git/
   (omitted)
+--.gitignore
+--app.psgi
+--Makefile.PL
+--t/
   +--01_root.t
   +--Util.pm
+--xt/
   +--03_pod.t

起動

$ plackup -r

にアクセスして動いてるの確認1

Kolon の有効化と整理

Lite では、テンプレートが Kolon じゃない。
Kolon を使うように、app.psgi を編集。

app.psgi#1
use strict;
use warnings;
use Amon2::Lite;

sub load_config {
    +{
        'Text::Xslate' => +{
            syntax => 'Kolon',
            suffix => '.tx',
            module => undef,
            cache  => 0,
        },
    }
}

get '/' => sub {
    my $c = shift;
    return $c->render('index.tx');
};

__PACKAGE__->to_app(handle_static => 1);

__DATA__

@@ index.tx
<!doctype html>
<html>
<body>
    <header><h1>Example</h1></header>
        This is a Example
    <footer>Powered by <a href="http://amon.64p.org/">Amon2::Lite</a></footer>
</body>
</html>

  • 元の app.psgi から今回使わない部分を、がっさり削除。
  • load_config のデータベースの設定部分を削除して、 Kolon を指定するコードに差し替え。
  • 拡張子を .tx にしたので、その他の .tt を全て .tx に変更
  • cache は 0 にしとかないと、テンプレートを弄るときにキャッシュを読んでしまって混乱するので、 必ず 0 に2
    • 運用では、 2 にするらしい。

差し替え後に、ブラウザをリロードして動いてるのを確認。
削ったコードは、必要になったら、復活させて行けばいい。


  1. chrome だとダメ。素直に IP か localhost:5000 

  2. 改変した foo.tx をカスケードして、キャッシュされた bar.tx で読み込んだりして、混乱するのを避ける為。 

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3