So installierst du GlassFish Java Application Server mit Nginx Reverse Proxy auf AlmaLinux 9

GlassFish ist eine freie und quelloffene Implementierung der Java EE-Plattform, die von Eclipse entwickelt wurde. Es ist die weltweit erste Implementierung der Java EE-Plattform für die Bereitstellung von Java-Anwendungen. GlassFish bietet eine skalierbare Architektur mit der Unterstützung mehrerer Java-Technologien, wie Enterprise JavaBeans, JPA, JavaServer Faces und JMS.

Diese Anleitung zeigt dir, wie du GlassFish auf dem AlmaLinux 9 Server mit Nginx Reverse Proxy installierst. Außerdem wird beschrieben, wie du GlassFish sicher machst, indem du die Authentifizierung aktivierst und eine sichere SSL/TLS-Verbindung für die GlassFish-Administration einrichtest.

Voraussetzungen

Bevor du beginnst, musst du sicherstellen, dass du Folgendes hast

  • Einen AlmaLinux 9 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen lokalen Domainnamen, der auf die IP-Adresse des Servers zeigt.

Abhängigkeiten einrichten

Zuerst musst du dein AlmaLinux-System einrichten, indem du einen Systembenutzer hinzufügst, der GlassFish ausführt, und dann Java OpenJDK-Pakete installieren.

Bevor du ein Paket installierst, musst du mit dem folgenden Befehl einen neuen Systembenutzer glassfish anlegen. Dieser Benutzer erhält das Standard-Home-Verzeichnis /opt/glassfish7, das als Installationsverzeichnis für GlassFish verwendet wird.

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

Installiere nun das Java OpenJDK 21 und entpacke die Pakete mit dem unten stehenden Befehl. Gib y ein, um mit der Installation fortzufahren.

sudo dnf install java-21-openjdk unzip nano

java installieren

Sobald die Installation abgeschlossen ist, überprüfe die Java-Version mit dem unten stehenden Befehl. Stelle sicher, dass du Java 17 oder 21 auf deinem AlmaLinux Server installiert hast.

java --version

check java

Herunterladen des GlassFish-Pakets

Nachdem du einen Systembenutzer angelegt und Java installiert hast, kannst du nun das GlassFish-Paket herunterladen. Besuche die GlassFish Download-Seite und kopiere den Link für die neueste Version.

Lade das GlassFish-Paket mit dem unten stehenden wget-Befehl herunter.

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

Nach dem Download entpackst du die Datei glassfish-7.0.12.zip mit dem folgenden unzip-Befehl in das Verzeichnis /opt. Dadurch wird GlassFish in das Verzeichnis /opt/glassfish7 entpackt.

unzip glassfish-7.0.12.zip -d /opt

Als Letztes änderst du den Besitzer des Verzeichnisses /opt/glassfish7 auf den Benutzer glassfish. Das ist notwendig, weil du GlassFish als Systembenutzer glassfish ausführen wirst.

sudo chown -R glassfish:glassfish /opt/glassfish7

Einrichten des systemd-Dienstes für GlassFish

In dieser Anleitung wirst du GlassFish als systemd-Dienst ausführen. Dadurch wird GlassFish im Hintergrund ausgeführt und du kannst es einfach über das Dienstprogramm systemctl verwalten.

Erstelle eine neue systemd-Dienstdatei /etc/systemd/system/glassfish7.service mit dem folgenden nano-Editor.

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

Füge unten die systemd-Konfiguration für GlassFish ein.

[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

Speichere die Datei und schließe den Editor, wenn du fertig bist.

Lade nun den systemd Manager neu, um deine neue Servicedatei anzuwenden.

sudo systemctl daemon-reload

Starte und aktiviere dann GlassFish mit dem unten stehenden Befehl. Sobald GlassFish gestartet ist, sollte es auf den Ports 8080 und 4848 laufen.

sudo systemctl start glassfish7
sudo systemctl enable glassfish7

systemd einrichten

Überprüfe abschließend den glassfish7-Dienst mit dem folgenden Befehl. Vergewissere dich, dass der Glassfish7-Dienst aktiviert ist und auf deinem System läuft.

sudo systemctl status glassfish7

Glasfisch verifizieren

GlassFish-Administrator einrichten

Zu diesem Zeitpunkt läuft GlasFish als systemd-Dienst auf deinem System. Jetzt musst du den Admin-Benutzer für GlassFish bestätigen und enable-secure-admin einrichten, um die Administration von GlassFish zu sichern.

Führe zunächst den folgenden Befehl aus, um einen neuen Administrator-Benutzer für deine GlassFish-Installation zu erstellen.

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

Wenn du nach dem Benutzer gefragt wirst, gib den Standardbenutzer admin ein und drücke ENTER, wenn du nach dem Passwort gefragt wirst. GlassFish wird standardmäßig ohne Passwort geliefert.
Wenn du aufgefordert wirst, ein neues Passwort einzurichten, gibst du dein Passwort ein und wiederholst den Vorgang.

Sobald der Vorgang abgeschlossen ist, solltest du die Ausgabe„Befehl change-admin-password erfolgreich ausgeführt“ erhalten.

Admin-Setup

Nachdem du das Admin-Passwort für GlassFish konfiguriert hast, führe den folgenden Befehl aus, um die Funktion secure-admin zu aktivieren. Dadurch werden automatisch SSL/TLS-Zertifikate für GlassFish generiert.

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

Gib deinen Admin-Benutzer und dein Passwort für GlassFish ein, wenn du dazu aufgefordert wirst. Wenn der Vorgang erfolgreich war, solltest du die Ausgabe„Befehl enable-secure-admin erfolgreich ausgeführt“ sehen.

einrichten secure-admin

Starte abschließend den glassfish7-Dienst neu, um die Änderungen an deinem GlassFish zu übernehmen. Nachdem der Befehl ausgeführt wurde, sollte deine GlassFish-Installation gesichert, der Benutzer admin mit einem neuen Passwort versehen und TLS-Zertifikate für GlassFish admin generiert sein.

sudo systemctl restart glassfish7

GlassFish mit Nginx Reverse Proxy betreiben

In dieser Anleitung wirst du GlassFish hinter dem Nginx Reverse Proxy betreiben. Du musst also Nginx auf deinem AlmaLinux-Server installieren und dann eine neue Serverblock-Konfiguration für den Reverse-Proxy erstellen.

Installiere den Nginx Webserver auf deinem AlmaLinux mit dem unten stehenden Befehl. Gib y ein, um mit der Installation fortzufahren.

sudo dnf install nginx

nginx installieren

Nachdem die Installation abgeschlossen ist, erstelle eine neue Serverblockkonfiguration /etc/nginx/conf.d/glassfish.conf mit dem folgenden nano-Editor-Befehl.

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

Füge die folgende Konfiguration ein, um einen Reverse Proxy für GlassFish einzurichten, der standardmäßig auf Port 8080 läuft. Achte darauf, dass du den Domänennamen im Folgenden durch deine lokale Domäne ersetzt.

upstream glassfish7 {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name glassfish.hwdomain.io;

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/;
}
}

Wenn du fertig bist, speichere und beende die Datei.

Überprüfe nun die Nginx-Syntax mit dem unten stehenden Befehl. Wenn du eine korrekte Syntax hast, solltest du die Ausgabe „Syntax ist ok – Test erfolgreich“ erhalten.

sudo nginx -t

Starte und aktiviere Nginx auf deinem AlmaLinux Server mit dem unten stehenden Befehl.

sudo systemctl start nginx
sudo systemctl enable nginx

nginx-Einrichtung

Sobald er gestartet ist, überprüfe den Nginx-Dienst, um sicherzustellen, dass der Dienst läuft und aktiviert ist.

sudo systemctl status nginx

Unten siehst du, dass der Nginx-Dienst auf AlmaLinux läuft und aktiviert ist.

nginx verifizieren

Firewalld einrichten

Wenn Nginx läuft, musst du den HTTP-Port auf deinem Server über Firewalld öffnen. Zusätzlich kannst du auch den Port 4848 öffnen, der vom GlassFish-Administrator verwendet wird.

Öffne sowohl den HTTP- als auch den HTTPS-Dienst auf firewalld mit dem folgenden Befehl.

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

Öffne den TCP-Port 4848, der für die GlassFish-Administration genutzt wird.

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

Lade nun firewalld neu, um deine Änderungen in firewalld zu übernehmen. Überprüfe dann die aktivierten Regeln der Liste.

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

Unten siehst du die HTTP- und HTTPS-Dienste sowie den Port 4848, die zu firewalld hinzugefügt wurden.

firewalld einrichten

Zugriff auf GlassFish

Öffne deinen Webbrowser und rufe deinen Domainnamen für GlassFish auf, z. B. http://glassfish.hwdomain.io/. Wenn deine Installation erfolgreich war, solltest du die GlassFish-Indexseite wie die folgende sehen.

index

Öffne nun einen neuen Tab und besuche http://glassfish.hwdomain.io:4848/, um auf die GlassFish-Administration zuzugreifen. Gib den Standardwert admin mit deinem Passwort ein und klicke dann auf Login.

Login-Seite

Wenn du das richtige Passwort hast, solltest du das Dashboard von GlassFish sehen.

Verwaltungskonsole

Fazit

Herzlichen Glückwunsch! Du hast GlassFish nun erfolgreich auf dem AlmaLinux 9 Server installiert. Du hast GlassFish installiert, den Administrator-Benutzer konfiguriert und den Administrator für GlassFish gesichert. Schließlich hast du auch Nginx als Reverse-Proxy für deine GlassFish-Installation installiert und konfiguriert.

Das könnte dich auch interessieren …