AmazonLinux + GlassFish4 OpenSource版インストールメモ

基本的にこちらの手順に沿ってインストールします。

JDK7ののインストール

Java SE Downloadsのページから。ここでは「jdk-7u25-linux-x64.rpm」を選択します。

$ wget http://download.oracle.com/otn-pub/java/jdk/7u25-b15/jdk-7u25-linux-x64.rpm?AuthParam=1371954590_3d03cab91de40b402e438ee42549fbf7
$ mv jdk-7u25-linux-x64.rpm\?AuthParam\=1371954590_3d03cab91de40b402e438ee42549fbf7 jdk-7u25-linux-x64.rpm
$ sudo rpm -ivh jdk-7u25-linux-x64.rpm

GlassFish4のインストール/起動

GlassFish Server - Download Pageこちらのリンクから「glassfish-4.0-ml.zip」を選択します。

$ wget http://download.java.net/glassfish/4.0/release/glassfish-4.0-ml.zip
$ unzip glassfish-4.0-ml.zip
$ ./glassfish4/bin/asadmin start-domain
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/glassfish/admin/cli/AsadminMain : Unsupported major.minor version 51.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: org.glassfish.admin.cli.AsadminMain. Program will exit.

AmazonLinuxにOpenJDKが入っているのでエラーになったようです。1.7.0に変更します。(参考)

sudo update-alternatives --install /usr/bin/java java /usr/java/jdk1.7.0_25/bin/java 17025
sudo update-alternatives --install /usr/bin/javac javac /usr/java/jdk1.7.0_25/bin/javac 17025

もう一回トライ

$ ./glassfish4/bin/asadmin start-domain
Waiting for domain1 to start ...................................
Successfully started the domain : domain1
domain  Location: /home/ec2-user/glassfish4/glassfish/domains/domain1
Log File: /home/ec2-user/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

起動しました。

ブラウザから確認

4848ポートを有効にしてブラウザからアクセスします。

f:id:yustam:20130623121120p:plain

設定変更

デフォルトだとユーザIDが「admin」パスワードが空なので変更します。

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

「Secure Admin must be enabled to access the DAS remotely.」が出ていたので設定を変更します。

$ ./glassfish4/bin/asadmin --host [EC2パブリックDNS] 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.

再起動します。

$ ./glassfish4/bin/asadmin stop-domain
Waiting for the domain to stop .
Command stop-domain executed successfully.n executed successfully.
$ ./glassfish4/bin/asadmin start-domain
Waiting for domain1 to start ...............................
Successfully started the domain : domain1
domain  Location: /home/ec2-user/glassfish4/glassfish/domains/domain1
Log File: /home/ec2-user/glassfish4/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

f:id:yustam:20130623125425p:plain

再起動したらエラーメッセージが消えているので変更したID/パスワードでログイン

f:id:yustam:20130623130025p:plain

実際に使うときはホスト名指定してSSL証明書を入れる必要があると思いますが、
とりあえず使えそうです。