Payara クイック・スタート・ガイド (ja)

この記事は Payara Advent Calendar 2016 の 3 日目です。昨日は「Payara の asadmin を日本語化する」です。

※本記事は 2017 年 5 月 8 日に改訂および英訳を行っていますので、そちらをご覧ください。

最近、私の周りで Payara ユーザーが増えてきました。その多くは GlassFish から移行してきた方々ですが、今後 Payara が最初の Java EE サーバーとなる方々も出てくるかと思います。そういった方々に向けて、Payara の実用レベルで最低限のセットアップをまとめておきます。

※なお、この記事はとある方へのメッセージです。該当する方は、察してください。

1. 開発環境向けスタートアップ・ガイド

1.1. Payara Server をダウンロードする

Payara Server をダウンロードします。http://www.payara.fish/downloads (多国語化版が欲しい場合は http://www.payara.fish/all_downloads) から無償で入手できます。ユーザー登録なども必要ありません。運用環境として Payara Micro を使用する場合でも、開発環境での作業は Payara Server で行った方が便利です。

Payara 4.1.1.164 の場合、基本的には以下のいずれかを選択することになります。

  • Payara 4.1.1.164 (Full) : payara-4.1.1.164.zip
  • Payara-Web 4.1.1.164 (Web Profile) : payara-web-4.1.1.164.zip
  • Payara-Minimal 4.1.1.164 (OSGI+JAXRS) : payara-minimal-4.1.1.164.zip
  • Payara-ML 4.1.1.164 (Multi-Language Full) : payara-ml-4.1.1.164.zip
  • Payara-Web-ML 4.1.1.164 (Multi-Language Web Profile) : payara-web-ml-4.1.1.164.zip

開発環境の場合は Full Platform の payara-4.1.1.164.zip を選択すると良いでしょう。必要に応じて (例えば、Payara Micro での運用を想定している場合など)、Maven の依存関係で javax:javax-ee-web:7.0 を設定して使用可能な API を Java EE Web Profile に制限する方法を採るのが現実的です。

1.2. Payara Server をインストールする

ダウンロードした payara-4.1.1.164.zip を展開します。展開先は自由に選べます (ただし Windows 環境では C:\Program Files などスペース入りのフォルダは避けた方が無難です)。管理者権限がある場合は、Windows では C:\ 以下に、Linux/Solaris では /opt 以下にそれぞれ展開すると分かりやすいです。展開後、Windows では C:\payara41 以下、Linux/Solaris では /opt/payara41 以下に Payara Server が配置されます。この状態でインストールは完了です。

管理者権限を持たない場合は、Windows では %USERPROFILE% (C:\Users\{ユーザー名}) 以下、Linux/Solaris では $HOME (/export/home/{ユーザー名} または /home/{ユーザー名}) 以下にそれぞれ展開すると良いでしょう。

1.3. IDE で Payara Server の設定を行う

Payara Server を IDE で制御できるように設定します。

1.3.1. Eclipse

Eclipse の場合は、Oracle Enterprise Pack for Eclipse (OEPE) に含まれる GlassFish Tools をインストールする必要があります (OEPE の他のプラグインが含まれていても問題ありません)。サーバーの種類として GlassFish 4 を選択し、サーバーのインストール先として C:\payara41\glassfish (Windows) または /opt/payara41/glassfish (Linux/Solaris) を選択します。Payara のインストール・ディレクトリ以下の glassfish サブディレクトリ (この場所が Payara のコアである Nucleus になります) まで指定する必要があることに注意してください。その他の設定項目は、既定値のままで良いでしょう。

1.3.2. NetBeans

NetBeans には GlassFish との統合機能が含まれているため、これを利用します。サービス - サーバー画面で、サーバー・インスタンスを追加します。サーバーの種類として GlassFish Server を選択し、サーバーのインストール先として C:\payara41 (Windows) または /opt/payara41 (Linux/Solaris) を入力します。その他の設定項目は、既定値のままで良いでしょう。なお、NetBeans にはサーバー・インスタンスがない場合にダウンロードしてインストールする機能も備わっていますが、Payara の場合には使用できません (GlassFish がダウンロードされるため)。

1.3.3. IntelliJ IDEA

IntelliJ IDEA には GlassFish との統合機能が含まれているため、これを利用します。Default Settings - Build, Execution, Deployment - Application Servers で Glassfish Server を選択します。Glassfish Home ディレクトリをたずねられますので、C:\payara41 (Windows) または /opt/payara41 (Linux/Solaris) を入力します。その他の設定項目は、既定値のままで良いでしょう。

1.4. Payara Server を開発環境として使用する

開発環境の Payara Server は、通常 IDE から起動、停止およびアプリケーションのデプロイを行います。Payara Server の直接操作については、以下の 3 点を押さえておけば大丈夫でしょう。

  • payara41/bin/asadmin start-domain で Payar Server を起動
  • payara41/bin/asadmin stop-domain で Payara Server を停止
  • Payara Server の起動中は管理コンソール http://localhost:4848/ で大抵の設定操作は可能

2. 運用環境向けスタートアップ・ガイド

2.1. Payara Server をダウンロードする

Payara Server をダウンロードします。http://www.payara.fish/downloads (多国語化版が欲しい場合は http://www.payara.fish/all_downloads) から無償で入手できます。ユーザー登録なども必要ありません。運用環境として Payara Micro を使用する場合でも、開発環境での作業は Payara Server で行った方が便利です。

Payara 4.1.1.164 の場合、基本的には以下のいずれかを選択することになります。

  • Payara 4.1.1.164 (Full) : payara-4.1.1.164.zip
  • Payara-Web 4.1.1.164 (Web Profile) : payara-web-4.1.1.164.zip
  • Payara-Minimal 4.1.1.164 (OSGI+JAXRS) : payara-minimal-4.1.1.164.zip
  • Payara-ML 4.1.1.164 (Multi-Language Full) : payara-ml-4.1.1.164.zip
  • Payara-Web-ML 4.1.1.164 (Multi-Language Web Profile) : payara-web-ml-4.1.1.164.zip

運用環境の場合は、まず Full Platform と Web Profile のどちらをインストールするかの判断が必要です (Payara-Minimal は Java EE の API をほぼ含まないため対象外とします)。多くの用途では Web Profile が第一選択肢となるでしょう。Web Profile にない API が必要となる場合は Full Platform をインストールします。

Web Profile については以下の資料をしてください。

Payara Server の設定操作は管理コンソールを中心に行うのが便利です。その際、日本語化された UI は何かと便利であるため、個人的には多国語版をお勧めしたいところです。以上のことから、運用環境ではその環境の特性を考慮した上で、特に要求がなければ多国語版 Web Profile : payara-ml-4.1.1.164.zip を選択すると良いでしょう。

2.2. Payara Server をインストールする

ダウンロードした Payara Server の ZIP アーカイブ (payara-ml-4.1.1.164.zip など) を展開します。展開先は自由に選べます (ただし Windows 環境では C:\Program Files などスペース入りのフォルダは避けた方が無難です)。管理者権限がある場合は、Windows では C:\ 以下に、Linux/Solaris では /opt 以下にそれぞれ展開すると分かりやすいです。展開後、Windows では C:\payara41 以下、Linux/Solaris では /opt/payara41 以下に Payara Server が配置されます。この状態でインストールは完了です。

2.3. Payara Server のリモートアクセスを有効にする

2.3.1. 管理パスワードの設定

Payara の既定では、管理パスワードが設定されていません。リモートアクセスを有効にするのに先立って、まず管理パスワードを設定する必要があります。管理パスワードの設定には asadmin change-admin-password コマンドを使用します。

ここでは、管理ユーザー名の決定と、管理パスワードの変更という 2 種類の操作を行います。入力項目は、以下の通りです。

  1. 管理ユーザー名: 既定の admin を使用する場合は空欄とします
  2. 現在の管理パスワード: 既定では管理パスワードは設定されていないため空欄とします
  3. 新しい管理パスワード: 管理パスワードを入力します
  4. 新しい管理パスワード: 入力した管理パスワードと同じものを確認のため入力します

最初に管理ユーザー名の設定があります。ここは見落としがちのため注意してください。

2.3.2. セキュア管理の有効化

リモートアクセスのためにセキュア管理 (HTTPS 通信) を有効化します。セキュア管理の有効化/無効化は Payara Server が起動している必要があるため、まず asadmin start-domain コマンドで Payara Server を起動します。

続いて、asadmin enable-secure-admin コマンドでセキュア管理を有効化します。その際には、先に設定した管理ユーザー名 (admin) と管理パスワードを入力する必要があります。

セキュア管理を有効化した後は、Payara Server を再起動する必要があります。Payara Server の停止と起動を組み合わせても良いのですが、再起動を行う asadmin restart-domain コマンドを使用した方が高速です。

2.4. Payara Server を運用環境として使用する

手っ取り早い方法は、起動コマンドの asadmin start-domain と停止コマンドの asadmin stop-domain だけ覚えて、後の操作は管理コンソール上で行うことです。リモートアクセス時の管理コンソールの URL は https://<hostname>:4848/ となり、起動時にユーザー名 & パスワードの認証があります (ユーザー名は既定では admin となります)。

リモートアクセスを有効にする際に、enable-secure-admin を設定していますが、これにより管理コンソールへのアクセスが HTTP から HTTPS (HTTP over SSL/TLS) に変更され、暗号化通信となります (GlassFish 3.1.2 あたりから管理コンソールへのリモートアクセスは HTTPS に限定されるようになっています)。Payara Server のインストール直後は電子証明書のチェーンが整備されていないため、ブラウザ側で一旦アクセスをブロックされますが、イントラネット上であるため無視してアクセスを強行してください。

3. Payara Micro スタートアップ・ガイド

3.1. Payara Micro をダウンロードする

3.1.1. Web サイトからのダウンロード

http://www.payara.fish/downloads から Payara Micro 164 (payara-micro-4.1.1.164.jar) をダウンロードします。ダウンロード後、ファイル名は必要に応じて変更しても構いません。

3.1.2. Maven 統合

Maven プロジェクトの pom.xml に以下の依存関係記述を追加します。これにより、Maven Central Repository から Payara Micro が自動的にダウンロードされ、プロジェクトに組み込まれます。

<dependencies>
  <groupId>fish.payara.extras</groupId>
  <artifactId>payara-micro</artifactId>
  <version>4.1.1.164</version>
</dependencies>

3.2. Payara Micro を運用環境として使用する

3.2.1. Payara Micro を通常実行する

まず、Web アプリケーションの WAR ファイルを用意します。ここでは WAR ファイルを webapp.war と仮定します。Web アプリケーションは基本的に Payara Server を使って開発することになるでしょう。

WAR ファイルが準備できたら、ターミナルから Payara Micro を起動します。

$ java -jar payara-micro-4.1.1.164.jar --deploy webapp.war

終了する場合は Ctrl + C を使います。

Payara Micro は既定で Hazelcast による自動クラスタリングが有効になっています (Payara Server では無効)。通常はそのままでも問題ありませんが、--noCluster オプションを付けて無効化することで、少しだけ起動を早めることができます。ただし、--noCluster オプションを使用すると、Hazelcast そのものが無効化されるため、自動クラスタリングだけでなく JCache も使えなくなってしまうことに注意してください。

$ java -jar payara-micro-4.1.1.164.jar --deploy webapp.war --noCluster

3.2.2. Uber Jar を作成して実行する

Payara Micro と WAR ファイルから Uber Jar を作成することもできます。ここでは、出力する Uber Jar の名前を webapp.jar と仮定します。

$ java -jar payara-micro-4.1.1.164.jar --deploy webapp.war --packageUberJar webapp.jar

作成後は、直接 Uber Jar を実行することになります。

java -jar webapp.jar

Payara Micro の Uber Jar は、実際には WAR ファイルを内包した Payara Micro です。Payara Micro の起動時オプションが使用できるほか、Ctrl + C で終了できる点も共通しています。

4. まとめ

Payara は日々進化を続けており、当初の「より良い GlassFish」から、本格的な商用 Java EE サーバーとなるべく様々な機能が追加されています。しかし、最小限の設定は決して多くなく、今回ご紹介した内容をもとに簡単な環境構築は可能です。