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
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
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
Ü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
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.
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.
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
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
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.
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.
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.
Ö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.
Wenn du das richtige Passwort hast, solltest du das Dashboard von GlassFish sehen.
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.