Java EE 7 を試すために CentOS に GlassFish をインストール

 

Java EE + Spring での環境構築を2年ほど前に行った。

その後、実際にお仕事でも利用することができた。というかそれでご飯食べれてきた感じもなきにしもあらず。

RoR、Spring などの隆盛を受けて Java EE 標準でも簡単に開発出来るようになったと喧伝されているが、Java EE 7 の解説動画を一通りみて、Java EE 6 の本(Java EE 7 の日本語の本はまだ売ってない)を買って読んでいたら、意外と Java EE 7 いけるんじゃないかという気がしてきた。

もしかしたら、開発環境を変えられるかもしれない雰囲気がただよっても来たので、このタイミングでJava EE 6、7 周りの検証をしとこう。

という企みがあって、

してみた。

続いて、GlassFish v4 (Java EE 7対応) をインストールしていこう。

参考

1.JDK7がインストールされていることを確認

まずは、Java EE 7 は JDK7の機能に依存している。JDK7がインストールされていることを確認。

CentOS への JDKインストールと確認

2.GlassFishのダウンロード

https://glassfish.java.net/download.html

Zipとネイティブインストーラの2つのタイプがある。

Zipインストーラーがシンプル。事前に設定されたものを含んでいて、すぐ実行可能。

ネイティブインストーラーは、GUIのウィザードでカスタムインストール可能。

どのディストリビューションを利用するか確信が持てない場合は、GlassFish 4 – Full Platform Zip から始める。

glassfish_download

ダウンロードサイトのオプションを以下に設定しZipインストーラーをダウンロード

Localisation –> Multilingual

3.GlassFish のインストール

レンタルサーバー上にCUIでインストールすることも想定し、Zipインストールを行う。

仮想環境のCentOSにホストのWindows 8 から SSH で接続する形ですすめる。

glassfish_install_via_ssh

Zipインストーラーの場合、インストールしたい場所で解凍するだけでよいようだ。

解凍後、/opt/glassfish4 に移動する。

# unzip glassfish-4.0-ml.zip
# mv glassfish4 /opt

デフォルトでは、GlassFishは、"domain1" と呼ばれるドメインが設定され、以下のポートを利用する

ポート 内容
8080 HTTP
8181 HTTPS
4848 Administration

 

4.CentOSのプロキシを設定

システム-管理-ファイアーウォール

その他のポートから追加 を行い、上記のポートへのリクエストを通すように設定。

glassfish_firewall

 

5.GlassFishの開始

  • 開始コマンド : glassfish4/bin/asadmin start-domain
  • 停止コマンド : glassfish4/bin/asadamin stop-domain domain1
opt]# glassfish4/bin/asadmin start-domain                                                                     
Bad Network Configuration.  DNS can not resolve the hostname: 
java.net.UnknownHostException: eisai: eisai: Name or service not known
Waiting for domain1 to start .......
Successfully started the domain : domain1
domain  Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

DSNでホスト名が解決できないとか言っているが、とりあえず起動した。

5.1 HTTP 起動OK

glassfish_running

8080へのアクセスは成功

5.2 管理コンソール起動

ローカルホストからはログイン出来るが、リモートホストからはログイン出来ない

glassfish_admin_from_localhost

リモートホストから接続するには、設定が必要なようだ。以下のページの手順に従う。

http://upstart.jp/blog/?p=309

(1) 管理者パスワード設定

 bin]# ./asadmin change-admin-password
Enter admin user name [default: admin]>
Enter the admin password> 
Enter the new admin password> 
Enter the new admin password again> 
Command change-admin-password executed successfully.

(2) ログインストアにパスワード登録

 bin]# ./asadmin login                                                                                         
Enter admin user name [Enter to accept default]> admin
Enter admin password> 
Login information relevant to admin user name [admin] for host [localhost] and admin port [4848] stored at [/root/.gfclient/pass] successfully.
Make sure that this file remains protected. Information stored in this file will be used by administration commands to manage associated domain.
Command login executed successfully.

(3) SSL有効

bin]# ./asadmin enable-secure-admin
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

(4) サーバーの再起動

bin]# ./asadmin stop-domain
Waiting for the domain to stop .
Command stop-domain executed successfully.
bin]# ./asadmin start-domain
Bad Network Configuration.  DNS can not resolve the hostname: 
java.net.UnknownHostException: eisai: eisai: Name or service not known
Waiting for domain1 to start ...
Successfully started the domain : domain1
domain  Location: /opt/glassfish4/glassfish/domains/domain1
Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

(5) セキュリティ警告を無視して続行

glassfish_admin_security_warning

(6) リモートホストから起動!

glassfish_admin_from_remotehost

接続できた!

今日はこの辺にしとこう。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です