サーバー設定 · 1 min read · Oct 21, 2025

AlmaLinux 9にNginxリバースプロキシを使用してGlassFish Javaアプリケーションサーバーをインストールする方法

GlassFishは、Eclipseによって開発されたJava EEプラットフォームの無料でオープンソースの実装です。これは、JavaアプリケーションをデプロイするためのJava EEプラットフォームの世界初の実装です。GlassFishは、Enterprise JavaBeans、JPA、JavaServer Faces、JMSなど、複数のJavaテクノロジーをサポートするスケーラブルなアーキテクチャを提供します。

このガイドでは、Nginxリバースプロキシを使用してAlmaLinux 9サーバーにGlassFishをインストールする方法を示します。また、GlassFishの管理のために認証を有効にし、安全なSSL/TLS接続を設定することでGlassFishを保護する方法についても説明します。

前提条件

始める前に、以下のものを用意してください:

  • AlmaLinux 9サーバー。
  • 管理者権限を持つ非ルートユーザー。
  • サーバーのIPアドレスを指すローカルドメイン名。

依存関係の設定

まず、GlassFishを実行するために使用されるシステムユーザーを追加し、Java OpenJDKパッケージをインストールすることでAlmaLinuxシステムを設定する必要があります。

パッケージをインストールする前に、以下のコマンドで新しいシステムユーザーglassfishを作成します。このユーザーは、GlassFishのインストールディレクトリとして使用されるデフォルトのホームディレクトリ/opt/glassfish7を持ちます。

sudo useradd -m -d /opt/glassfish7 -U -s /bin/false glassfish

次に、以下のコマンドでJava OpenJDK 21とunzipパッケージをインストールします。インストールを続行するにはyと入力します。

sudo dnf install java-21-openjdk unzip nano

install java

インストールが完了したら、以下のコマンドでJavaのバージョンを確認します。AlmaLinuxサーバーにJava 17または21がインストールされていることを確認してください。

java --version

GlassFishパッケージのダウンロード

システムユーザーを作成し、Javaをインストールした後、GlassFishパッケージをダウンロードできます。GlassFishのダウンロードページにアクセスし、最新バージョンのリンクをコピーしてください。

以下のwgetコマンドを使用してGlassFishパッケージをダウンロードします。

wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.12.zip

ダウンロードが完了したら、以下のunzipコマンドでglassfish-7.0.12.zipファイルを/optディレクトリに抽出します。これにより、GlassFishが/opt/glassfish7ディレクトリに抽出されます。

unzip glassfish-7.0.12.zip -d /opt

最後に、/opt/glassfish7ディレクトリの所有権をユーザーglassfishに変更します。これは、GlassFishをシステムユーザーglassfishとして実行するためです。

sudo chown -R glassfish:glassfish /opt/glassfish7

GlassFishのsystemdサービスの設定

このガイドでは、GlassFishをsystemdサービスとして実行します。これにより、バックグラウンドでGlassFishが実行され、systemctlユーティリティを介して簡単に管理できます。

以下のnanoエディタを使用して、新しいsystemdサービスファイル/etc/systemd/system/glassfish7.serviceを作成します。

sudo nano /etc/systemd/system/glassfish7.service

以下のGlassFish用のsystemd構成を挿入します。

[Unit]  
Description = GlassFish Server v7  
After = syslog.target network.target  
  
[Service]  
User=glassfish  
ExecStart=/opt/glassfish7/bin/asadmin start-domain  
ExecReload=/opt/glassfish7/bin/asadmin restart-domain  
ExecStop=/opt/glassfish7/bin/asadmin stop-domain  
Type = forking  
  
[Install]  
WantedBy = multi-user.target

ファイルを保存し、終了します。

次に、新しいサービスファイルを適用するためにsystemdマネージャーをリロードします。

sudo systemctl daemon-reload

次に、以下のコマンドでGlassFishを開始し、有効にします。開始されると、GlassFishはポート8080と4848で実行されるはずです。

sudo systemctl start glassfish7  
sudo systemctl enable glassfish7

setup systemd

最後に、以下のコマンドでglassfish7サービスを確認します。glassfish7サービスが有効で、システムで実行されていることを確認してください。

sudo systemctl status glassfish7

verify glassfish

GlassFish管理者の設定

この時点で、GlassFishはシステムでsystemdサービスとして実行されています。次に、GlassFishの管理ユーザーを確認し、GlassFish管理を保護するためにenable-secure-adminを設定する必要があります。

まず、以下のコマンドを実行して、GlassFishインストール用の新しい管理者ユーザーを作成します。

sudo -u glassfish /opt/glassfish7/bin/asadmin --port 4848 change-admin-password

ユーザーの入力を求められたら、デフォルトユーザーadminと入力し、パスワードを求められたらENTERを押します。デフォルトのGlassFishにはパスワードがありません。
新しいパスワードを設定するように求められたら、パスワードを入力し、繰り返します。

プロセスが完了すると、「 Command change-admin-password executed successfully 」という出力が得られます。

GlassFishの管理者パスワードを設定した後、以下のコマンドを実行してsecure-admin機能を有効にします。これにより、GlassFish用のSSL/TLS証明書が自動的に生成されます。

sudo -u glassfish /opt/glassfish7/bin/asadmin --port 4848 enable-secure-admin

求められたら、GlassFishの管理ユーザーとパスワードを入力します。プロセスが成功すると、「 Command enable-secure-admin executed successfully 」という出力が表示されます。

最後に、以下のコマンドを実行してglassfish7サービスを再起動し、GlassFishへの変更を適用します。コマンドが実行されると、GlassFishインストールが保護され、新しいパスワードを持つ管理ユーザーとGlassFish管理用のTLS証明書が生成されます。

sudo systemctl restart glassfish7

NginxリバースプロキシでGlassFishを実行する

このガイドでは、Nginxリバースプロキシの背後でGlassFishを実行します。したがって、AlmaLinuxサーバーにNginxをインストールし、リバースプロキシ用の新しいサーバーブロック構成を作成する必要があります。

以下のコマンドを使用して、AlmaLinuxにNginxウェブサーバーをインストールします。インストールを続行するにはyと入力します。

sudo dnf install nginx

install nginx

インストールが完了したら、以下のnanoエディタコマンドを使用して新しいサーバーブロック構成/etc/nginx/conf.d/glassfish.confを作成します。

sudo nano /etc/nginx/conf.d/glassfish.conf

以下の構成を挿入して、デフォルトでポート8080で実行されているGlassFishのリバースプロキシを設定します。以下のドメイン名をローカルドメインに変更してください。

upstream glassfish7 {  
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;  
}  
  
server {  
listen 80;  
server_name glassfish.howtoforge.local;  
  
location / {  
proxy_set_header X-Forwarded-Host $host;  
proxy_set_header X-Forwarded-Server $host;  
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
proxy_pass http://glassfish7/;  
}  
}

完了したら、ファイルを保存して終了します。

次に、以下のコマンドを使用してNginxの構文を確認します。正しい構文がある場合、「syntax is ok - test is successful」という出力が得られます。

sudo nginx -t

次に、以下のコマンドを使用してAlmaLinuxサーバーでNginxを開始し、有効にします。

sudo systemctl start nginx  
sudo systemctl enable nginx

setup nginx

開始されたら、以下のコマンドを使用してNginxサービスを確認し、サービスが実行されていて有効であることを確認します。

sudo systemctl status nginx

以下に、NginxサービスがAlmaLinuxで実行され、有効であることが表示されます。

verify nginx

Firewalldの設定

Nginxが実行されている状態で、firewalldを介してサーバーのHTTPポートを開く必要があります。さらに、GlassFish管理者によって使用されるポート4848も開くことができます。

以下のコマンドを使用して、firewalldでHTTPおよびHTTPSサービスの両方を開きます。

sudo firewall-cmd --add-service={http,https} --permanent

GlassFish管理に使用されるTCPポート4848を開きます。

sudo firewall-cmd --add-port=4848/tcp --permanent

次に、firewalldをリロードして変更を適用します。その後、リストされたルールを確認します。

sudo firewall-cmd --reload  
sudo firewall-cmd --list-all

以下に、firewalldに追加されたHTTP、HTTPSサービス、およびポート4848が表示されます。

setup firewalld

GlassFishへのアクセス

ウェブブラウザを開き、http://glassfish.howtoforge.local/のようなGlassFishのドメイン名にアクセスします。インストールが成功していれば、次のようなGlassFishのインデックスページが表示されるはずです。

index

新しいタブを開き、http://glassfish.howtoforge.local:4848/にアクセスしてGlassFish管理にアクセスします。デフォルトのadminとパスワードを入力し、ログインをクリックします。

login page

正しいパスワードを入力すると、GlassFishのダッシュボードが表示されるはずです。

admin console

結論

おめでとうございます!AlmaLinux 9サーバーにGlassFishを正常にインストールしました。GlassFishをインストールし、管理者ユーザーを設定し、GlassFishの管理を保護しました。最後に、GlassFishインストール用のリバースプロキシとしてNginxをインストールおよび設定しました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。