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がインストールされていることを確認。
2.GlassFishのダウンロード
https://glassfish.java.net/download.html
Zipとネイティブインストーラの2つのタイプがある。
Zipインストーラーがシンプル。事前に設定されたものを含んでいて、すぐ実行可能。
ネイティブインストーラーは、GUIのウィザードでカスタムインストール可能。
どのディストリビューションを利用するか確信が持てない場合は、GlassFish 4 – Full Platform Zip から始める。
ダウンロードサイトのオプションを以下に設定しZipインストーラーをダウンロード
Localisation –> Multilingual
3.GlassFish のインストール
レンタルサーバー上にCUIでインストールすることも想定し、Zipインストールを行う。
仮想環境のCentOSにホストのWindows 8 から SSH で接続する形ですすめる。
Zipインストーラーの場合、インストールしたい場所で解凍するだけでよいようだ。
解凍後、/opt/glassfish4 に移動する。
# unzip glassfish-4.0-ml.zip # mv glassfish4 /opt
デフォルトでは、GlassFishは、"domain1" と呼ばれるドメインが設定され、以下のポートを利用する
ポート | 内容 |
8080 | HTTP |
8181 | HTTPS |
4848 | Administration |
4.CentOSのプロキシを設定
システム-管理-ファイアーウォール
その他のポートから追加 を行い、上記のポートへのリクエストを通すように設定。
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
8080へのアクセスは成功
5.2 管理コンソール起動
ローカルホストからはログイン出来るが、リモートホストからはログイン出来ない
リモートホストから接続するには、設定が必要なようだ。以下のページの手順に従う。
(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) セキュリティ警告を無視して続行
(6) リモートホストから起動!
接続できた!
今日はこの辺にしとこう。