share facebook facebook2 twitter menu hatena pocket slack

2014.11.14 FRI

Amazon Linux で Play framework をセットアップしてみたばい

川原 洋平

WRITTEN BY川原 洋平

どうも、Java は Hello world 止まりのかっぱ@inokara)です。

はじめに

せっかく Heroku で Play してみたので Amazon Linux でも Play してみたいと思います。


参考


インスコ

準備

sudo yum -y install java-devel

ダウンロードからのインストール

cd /usr/local/src
wget http://downloads.typesafe.com/play/2.2.5/play-2.2.5.zip
unzip play-2.2.5.zip
cd /usr/local/
ln -s /usr/local/src/play-2.2.5 play
export PATH=/usr/local/play:$PATH
cat << EOT > /etc/profile.d/play.sh
export PLAYHOME=/usr/local/play
export PATH=$PATH:${PLAYHOME}
EOT

パス打ち(PATH の設定)までやってしまいます。

注意点

上記の設定では root ユーザー以外で play コマンドを叩いた場合には以下のようなエラーが出ます。

-bash: /usr/local/play/play: Permission denied

これを回避するには /usr/local/play/play に root ユーザー以外でも実行出来る権限を付与する必要がありますが、ドキュメントを読むと以下のように書かれているので根本的な解決ではなさそうです…

Play バイナリパッケージ(公式の最新バージョン) をダウンロードし、書き込み・読み込み権限がある場所に展開してください。(Play の実行中ファイルがアーカイブ内のディレクトリに書き込まれるので、/opt にインストールするのではなく、/usr/local か書き込み権限のある場所にインストールしてください)

実際に運用を想定するとアプリケーションを実行するユーザーを作成して、そのユーザーのホームディレクトリ以下にインストールする方が良さそうです。

確認

play -h

以下のように出力されました。

       _
 _ __ | | __ _ _  _
| '_ | |/ _' | || |
|  __/|_|____|__ /
|_|            |__/

play 2.2.5 built with Scala 2.10.3 (running Java 1.7.0_71), http://www.playframework.com

This is not a play application!

Use `play new` to create a new Play application in the current directory,
or go to an existing application and launch the development console using `play`.

You can also browse the complete documentation at http://www.playframework.com.

とりあえず動くようです。


は・じ・め・て・の・アプリ(某 CM 風に)

テストアプリケーション

前回の記事でも作ったようにアプリケーションのひな形を作ってみたいと思います。

cd /opt/
mkdir app

適当なディレクトリをこさえて…

play new hoge

以下のように出力されました。

       _
 _ __ | | __ _ _  _
| '_ | |/ _' | || |
|  __/|_|____|__ /
|_|            |__/

play 2.2.5 built with Scala 2.10.3 (running Java 1.7.0_71), http://www.playframework.com

The new application will be created in /opt/app/hoge

What is the application name? [hoge]
>

Which template do you want to use for this new application?

  1             - Create a simple Scala application
  2             - Create a simple Java application

> 2
OK, application hoge is created.

Have fun!

確認

アプリケーションの構築に必要なひと通りのファイルが作成されています。

# ls -l hoge/
total 28
drwxr-xr-x 4 root root 4096 Oct 30 16:06 app
-rw-r--r-- 1 root root  143 Oct 30 16:06 build.sbt
drwxr-xr-x 2 root root 4096 Oct 30 16:06 conf
drwxr-xr-x 2 root root 4096 Oct 30 16:06 project
drwxr-xr-x 5 root root 4096 Oct 30 16:06 public
-rw-r--r-- 1 root root  147 Oct  7 03:57 README
drwxr-xr-x 2 root root 4096 Oct 30 16:06 test

ついでに play run

ついでに play run もしてしまいましょう。

cd hoge
play run

申し遅れましたが、play run は開発者モードでアプリケーションを起動するおまじないです。

ちなみに…

play

だけ入力して実行すると Play コンソールと呼ばれる sbt をベースにした開発コンソールで Play アプリケーションの開発をサポートしてくれるツールが起動します。

Play Framework: PlayConsole からアプリケーションを起動する

上記のようにアプリケーション名のプロンプトで任意のコマンドを入力することが可能です。

ブラウザでアクセスすると…

Play Framework: ブラウザから動作確認

おお。とりあえず動きました。


なんか…

Play というだけあって簡単に Hello World 的なことは出来ました。次はちょっと欲を出してみたいと思います…(多分、なんか作る)

元記事はこちらです。
Amazon Linux で Play framework をセットアップしてみたばい