ソフラボの技術ブログ

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

CentOS6.2にGlassFish3.1.2.2をインストールする

社内サーバーでJenkinsを動かしたいのでGlassFishをインストールすることにしました。
その時の手順を書いておきます。

環境

OS CentOS6.2
GlassFish 3.1.2.2


インストール手順

※ 事前にJavaのインストールが必要です。


1.GlassFishGlassFish Server 3.1.2.2よりダウンロードします。

ダウンロードするファイルは、Webプロファイルでzipの多言語版をダウンロードします。
CUIでインストールする場合、shファイルだとGUIが起動するみたいで実行できません。

Linuxから直接ダウンロードする場合は、次のコマンドとURLから任意の場所で実行します。

wget http://download.java.net/glassfish/3.1.2.2/release/glassfish-3.1.2.2-web-ml.zip


2.ダウンロードしたファイルを解凍します。これだけでインストールは完了です。

unzip glassfish-3.1.2.2-web-ml.zip


3.管理コンソールのパスワードを設定します。
zip版はすでに設定が行われているのですが、管理コンソールを開くとログインできませんのでパスワードを設定します。

# 解凍したディレクトリをglassfish3とする
./glassfish3/bin/asadmin change-admin-password
管理ユーザー名を入力してください[デフォルト: admin]> admin
管理パスワードを入力してください> 
新しい管理パスワードを入力してください> 
新しい管理パスワードをもう一度入力してください> 


4.GlassFishを起動して、管理コンソールでSSLを有効にします。
SSLを有効化しないとログインできないようです。

# GlassFishを起動
./glassfish3/bin/asadmin start-domain domain1

# SSL設定
./glassfish3/bin/asadmin enable-secure-admin
セキュリティ保護された管理に対する変更を有効にするには、稼働中のすべてのサーバーを
再起動する必要があります。
コマンドenable-secure-adminは正常に実行されました


5.GlassFishを再起動します。

./glassfish3/bin/asadmin restart-domain domain1

起動しようとすると、起動していないのにすでにポートが使用中ですと出る場合があります。

./asadmin start-domain domain1
すでに管理ポート4848を使用しているプロセスがあります -- GlassFishサーバーの別のインスタンスだと思われます。
コマンドstart-domainが失敗しました。

これはホスト名が解決できていないのが原因らしいので、hostsファイルにローカルのホスト名を追加します。

# root権限でログインしておくかsudoで編集する
vi /etc/hosts

# hostsファイル
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 [ここにローカルのホスト名を追加] #IPv4用
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 [ここにローカルのホスト名を追加] #IPv6用


6.ブラウザから次のURLにアクセスし、管理コンソールを開きます

http://IPアドレス:4848/

インストール作業はこれで終了です。
自動起動の設定をする場合は、自動起動スクリプトの作成を行ってください。


自動起動スクリプト

# ファイルの作成
touch /etc/init.d/glassfish
# 実行権限の割当て
chmod +x /etc/init.d/glassfish

/etc/init.d/glassfish

#!/bin/bash
#
# glassfish    Startup script for the Apache HTTP Server
#
# chkconfig: - 85 15  
# description: Startup script of Glassfish Application Server.
# processname: glassfish
#
export LANG=ja_JP.utf8
# 環境に応じて修正して下さい
GLASSFISH_HOME=/usr/local/glassfish3/glassfish

case $1 in
start)
sh ${GLASSFISH_HOME}/bin/asadmin start-domain $2
;;
stop)
sh ${GLASSFISH_HOME}/bin/asadmin stop-domain $2
;;
restart)
sh ${GLASSFISH_HOME}/bin/asadmin restart-domain $2
;;
esac
exit 0
# chkconfigに登録
chkconfig --add glassfish
# 自動起動設定
chkconfig glassfish on

GlassFishコマンド

# 起動
asadmin start-domain
# 停止
adasmin stop-domain
# 再起動
asadmin restart-domain
# パスワード変更
asadmin change-admin-password
# SSL有効化
asadmin enable-secure-admin

参考

UPSTART Blog | UPSTART Blog
Install GlassFish 3.1 on CentOS or RHEL : David Ghedini

Apacheと連携する

mod_proxyを使った方が簡単です。
ApacheとGlassFishを連携する mod_proxy編
ApacheとGlassFishを連携する mod_jk編


はじめてのCentOS6 Linuxサーバ構築編 (TECHNICAL MASTER)はじめてのCentOS6 Linuxサーバ構築編 (TECHNICAL MASTER)
デージーネット

秀和システム 2011-10
売り上げランキング : 4385

Amazonで詳しく見る

Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)Beginning Java EE 6 GlassFish 3で始めるエンタープライズJava (Programmer’s SELECTION)
Antonio Goncalves 日本オラクル株式会社

翔泳社 2012-03-09
売り上げランキング : 191211

Amazonで詳しく見る