Amazon EC2にPayara Serverをインストールする

mabushiisign

JavaEEでアプリケーションを作っていきたいため、先ほど立てたAmazon EC2にPayara Serverをインストールした。

Amazon EC2の設定

管理コンソールとWebアプリケーションにアクセスするため、セキュリティグループの設定で
インバウンドにTCPの4848と8080の設定を行います。
正式な運用の際は、ポート変更など見直した方がよいですが今はデフォルト設定で進めていきます。

Payara Serverのインストール

Payara Serverのモジュールをダウンロードする

クライアントPCでPayaraのサイトにアクセスしモジュールをダウンロードします。
http://www.payara.fish/downloads

2016/8/20時点で最新の「Payara Server 163 Full」をダウンロードします。

SFTPでサーバに転送する

Macを使用しているため、FileZillaを使って転送します。
Windowsであれば、WinSCPが便利です。

SFTPでサーバに転送する

Macを使用しているため、FileZillaを使って転送します。
Windowsであれば、WinSCPが便利です。

モジュールを展開する

unzip で展開します。

$ unzip payara-4.1.1.163.zip 
Archive:  payara-4.1.1.163.zip
  creating: payara41/
  creating: payara41/bin/
 inflating: payara41/bin/updatetool  
 inflating: payara41/bin/updatetool.bat  

$ ls
 payara-4.1.1.163.zip  payara41

/usr/lib/に移動し、/usr/lib/payara/にシンボリックリンクを作成します。

$ sudo mv payara41/ /usr/lib/

$ sudo ln -s /usr/lib/payara41/ /usr/lib/payara

payaraユーザを作成する

1$ sudo useradd -m -d /home/payara payara

payaraのオーナーを変更します。

$ sudo chown -R payara:payara /usr/lib/payara/

$ ls -la /usr/lib/
合計 84
dr-xr-xr-x 21 root   root   4096  8月 20 08:41 .
drwxr-xr-x 13 root   root   4096  6月 21 20:09 ..
drwxr-xr-x  4 root   root   4096  6月 21 20:09 dracut
dr-xr-xr-x  2 root   root   4096  1月  6  2012 games
drwxr-xr-x  2 root   root   4096  9月  9  2014 java
drwxr-xr-x  2 root   root   4096  9月  9  2014 java-1.5.0
drwxr-xr-x  2 root   root   4096  9月  9  2014 java-1.6.0
drwxr-xr-x  2 root   root   4096  9月  9  2014 java-1.7.0
drwxr-xr-x  2 root   root   4096  9月  9  2014 java-1.8.0
drwxr-xr-x  2 root   root   4096  9月  9  2014 java-ext
drwxr-xr-x  4 root   root   4096  8月 20 06:37 jvm
drwxr-xr-x  2 root   root   4096  9月  9  2014 jvm-commmon
drwxr-xr-x  4 root   root   4096  8月 20 06:37 jvm-exports
drwxr-xr-x  4 root   root   4096  8月 20 05:45 jvm-private
dr-xr-xr-x  2 root   root   4096  6月 21 20:09 locale
drwxr-xr-x  2 root   root   4096  9月  4  2015 modprobe.d
lrwxrwxrwx  1 root   root     18  8月 20 08:41 payara -> /usr/lib/payara41/
drwxr-xr-x  6 payara payara 4096  8月 15 10:54 payara41
drwxr-xr-x  4 root   root   4096  6月 21 20:10 python2.7
drwxr-xr-x  5 root   root   4096  6月 21 20:10 rpm
lrwxrwxrwx  1 root   root     30  6月 21 20:10 sendmail -> /etc/alternatives/mta-sendmail
lrwxrwxrwx  1 root   root     25  6月 21 20:10 sendmail.sendmail -> ../sbin/sendmail.sendmail
drwxr-xr-x  2 root   root   4096  6月 21 20:10 tmpfiles.d
drwxr-xr-x  2 root   root   4096  8月 20 05:09 yum-plugins

管理コンソールを起動する

asadminコマンドのstart-domainで起動します。

$ sudo -u payara /usr/lib/payara/bin/asadmin start-domain
Waiting for domain1 to start .......
Successfully started the domain : domain1
domain  Location: /usr/lib/payara41/glassfish/domains/domain1
Log File: /usr/lib/payara41/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.
起動が成功したので、クライアントのブラウザでアクセスしてみます。
http://EC2のアドレス:4848/

Configration Error 「Secure Admin must be enabled to access the DAS remotely」のエラーが出てしまいました。

リモート接続するために、パスワードの設定とSSL設定をする

デフォルトは設定されていない管理者ユーザ(admin)のパスワードを設定します。

$ sudo -u payara /usr/lib/payara/bin/asadmin change-admin-password
Enter admin user name [default: admin]>admin
Enter the admin password> (何もいれずにEnter)
Enter the new admin password>  (新しいパスワード)
Enter the new admin password again> (新しいパスワードをもう1回)
Command change-admin-password executed successfully.

SSL設定するためにenable-secure-adminを設定します。

$ sudo -u payara /usr/lib/payara/bin/asadmin enable-secure-admin
Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

設定を反映するため、管理コンソールを再起動します。

$ sudo -u payara /usr/lib/payara/bin/asadmin restart-domain
Successfully restarted the domain
Command restart-domain executed successfully.

再度、管理コンソールにブラウザでアクセスすると、httpsにリダイレクトされます。
証明書のエラーが出ますが、無視すると先ほどのエラーメッセージがないログイン画面されます。

では、admin/ 先ほど設定したパスワードを入力すると、ログインできコンソールが表示されます。

サンプルアプリケーションのデプロイ

最後にサンプルアプリケーションをデプロイしてみます。
以下のBlogを参考にしました。

http://blog.payara.fish/how-to-deploy-an-application-on-payara-server-or-glassfish

サンプルアプリケーションをダウンロードする

$ wget https://glassfish.dev.java.net/downloads/quickstart/hello.war
--2016-08-20 09:33:59--  https://glassfish.dev.java.net/downloads/quickstart/hello.war
glassfish.dev.java.net (glassfish.dev.java.net) をDNSに問いあわせています... 137.254.56.65
glassfish.dev.java.net (glassfish.dev.java.net)|137.254.56.65|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 302 Found
場所: https://glassfish.java.net/downloads/quickstart/hello.war [続く]
--2016-08-20 09:34:00--  https://glassfish.java.net/downloads/quickstart/hello.war
glassfish.java.net (glassfish.java.net) をDNSに問いあわせています... 137.254.56.48
glassfish.java.net (glassfish.java.net)|137.254.56.48|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 4102 (4.0K) [text/plain]
`hello.war' に保存中

hello.war           100%[===================>]   4.01K  --.-KB/s    in 0s      

2016-08-20 09:34:00 (48.8 MB/s) - `hello.war' へ保存完了 [4102/4102]

payaraユーザのホームディレクトリに移動します。

$ sudo mv hello.war /home/payara/

$ sudo ls -la /home/payara/
合計 36
drwx------ 4 payara   payara   4096  8月 20 09:39 .
drwxr-xr-x 4 root     root     4096  8月 20 08:43 ..
-rw-r--r-- 1 payara   payara     18  2月 19 20:05 .bash_logout
-rw-r--r-- 1 payara   payara    193  2月 19 20:05 .bash_profile
-rw-r--r-- 1 payara   payara    124  2月 19 20:05 .bashrc
drwxr-xr-x 3 payara   payara   4096  8月 20 09:18 .gfclient
drwxr-xr-x 3 payara   payara   4096  8月 20 09:14 .java
-rw-rw-r-- 1 ec2-user ec2-user 4102 11月  5  2005 hello.war

デプロイします

$ sudo -u payara /usr/lib/payara/bin/asadmin deploy /home/payara/hello.war
Enter admin user name>  admin
Enter admin password for user "admin"> 
Application deployed with name hello.
Command deploy executed successfully.

成功したので、アプリケーションの一覧を表示します。

$ sudo -u payara /usr/lib/payara/bin/asadmin list-applications
Enter admin user name>  admin
Enter admin password for user "admin"> 
hello  <web>  
Command list-applications executed successfully.

ブラウザで確認します。

http://EC2のアドレス:8080/hello/

無事、サンプルアプリケーションが動作しました。

簡単ですが、動かすところまでできました。

ABOUT ME
mabushiisign
mabushiisign
B'zとdoaとミスチルと登山が好きな40代のプログラマです。 普段は、SIer企業で働いています。
記事URLをコピーしました