GlassFish Application Server mit Nginx Reverse Proxy unter Debian 12 installieren
GlassFish ist eine freie und Open-Source-Implementierung der Java EE-Plattform, die von Eclipse entwickelt wurde. Es ist die weltweit erste Implementierung der Java EE-Plattform, die einen leichtgewichtigen Anwendungsserver bietet und es dir ermöglicht, mehrere Java-basierte Anwendungen einzusetzen. GlassFish unterstützt mehrere Arten von Java-Anwendungstechnologien wie Enterprise JavaBeans, JPA, JavaServer Faces, JMS und viele mehr.
GlassFish ist eine der besten Möglichkeiten für Entwickler, um Java-basierte Anwendungen zu entwickeln und einzusetzen. Es ermöglicht Entwicklern, Unternehmensanwendungen auf bequeme Art und Weise zu entwickeln und bietet zudem eine skalierbare Architektur. Das GlasshFish-Projekt wurde ursprünglich von Sun Microsystem ins Leben gerufen. Es ist mit zwei verschiedenen freien Lizenzen ausgestattet – der Common Development and Distribution License und der GNU General Public License.
In dieser Anleitung wirst du den GlassFish Application Server Schritt für Schritt auf Debian 12 installieren. Außerdem wirst du Nginx als Reverse Proxy für deine GlassFish-Installation konfigurieren.
Voraussetzungen
Um mit dem Prozess zu beginnen, musst du sicherstellen, dass du über die folgenden Voraussetzungen verfügst:
- Einen Debian 12-Server mit mindestens 4 GB RAM oder Speicher.
- Einen Nicht-Root-Benutzer mit sudo-Rechten.
Installation von Java OpenJDK
GlassiFish ist ein Anwendungsserver für die Bereitstellung von Java-Anwendungen. Um GlassFish zu installieren, musst du zuerst Java auf deinem Debian-System installieren. Zurzeit bietet das Debian-Repository Java OpenJDK 17, das mit der neuesten Version von GlassFish kompatibel ist.
Aktualisiere zunächst dein Debian-Repository mit dem folgenden Befehl.
sudo apt update
Sobald das Repository aktualisiert ist, installierst du das Paket default-jdk, indem du den folgenden Befehl ausführst. Durch die Installation des Pakets default-jdk installierst du Java OpenJDK 17.
sudo apt install default-jdk
Gib y ein, um mit der Installation fortzufahren.
Nachdem die Installation abgeschlossen ist, überprüfe deine Java-Version mit dem unten stehenden Befehl. Du solltest sehen, dass Java OpenJDK 17 installiert ist.
java -version
System einrichten
Nach der Installation von Java OpenJDK musst du im nächsten Schritt dein Debian-System einrichten, indem du zusätzliche Pakete wie wget und unzip installierst, einen neuen Glassfish-Systembenutzer anlegst und die Umgebungsvariable JAVA_HOME konfigurierst.
Zu Beginn installierst du die Pakete unzip und wget, indem du den folgenden apt-Befehl ausführst.
sudo apt install unzip wget -y
Nun führst du den folgenden Befehl aus, um einen neuen Systembenutzer glassfish anzulegen. Dieser Benutzer wird verwendet, um deine GlasFish-Installation auszuführen, die sich im Verzeichnis /opt/glassfish befinden wird.
sudo useradd -M -d /opt/glassfish -U -s /bin/false glassfish
Als Nächstes erstellst du mit dem folgenden nano-Editor-Befehl ein neues Bash-Skript /etc/profile.d/java.sh.
sudo nano /etc/profile.d/java.sh
Füge die folgende Konfiguration hinzu, um die Umgebungsvariable JAVA_HOME einzurichten und den Java-Binärpfad zum Systempfad hinzuzufügen.
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$PATH:$JAVA_HOME/bin
Speichere und schließe die Datei, wenn du fertig bist.
Lade nun die neue Umgebungsvariable in /etc/profile.d/java.sh mit dem unten stehenden Befehl.
source /etc/profile.d/java.sh
Führe abschließend den folgenden Befehl aus, um die Umgebungsvariablen PATH und JAVA_HOME zu überprüfen.
echo $JAVA_HOME echo $PATH
Wenn alles klappt, solltest du sehen, dass der JAVA_HOME-Pfad auf das Verzeichnis /usr/lib/jvm/java-17-openjdk-amd64 konfiguriert ist und das Java-bin-Verzeichnis dem Systempfad hinzugefügt wurde.
Herunterladen des GlassFish-Binärpakets
Wenn das Java OpenJDK installiert und dein Debian-System bereit ist, kannst du jetzt GlassFish herunterladen und installieren. Bevor du fortfährst, solltest du auf der GlassFish-Downloadseite nachsehen, ob du die neueste Version von GlassFish hast. Zurzeit ist die neueste Version von GlassFish v7.0.10.
Gehe in das Verzeichnis /tmp und lade das GlassFish-Binärpaket mit dem unten stehenden wget-Befehl herunter. Sobald der Downloadvorgang abgeschlossen ist, solltest du die Datei glassfish-7.0.10.zip sehen.
cd /tmp wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.10.zip
Entpacke die Datei glassfish-7.0.10.zip mit dem unten stehenden unzip-Befehl in das Verzeichnis /opt. Das GlassFish-Paket wird in das Verzeichnis /opt/glassfish7 extrahiert.
unzip glassfish-7.0.10.zip -d /opt
Benenne schließlich das entpackte Verzeichnis von /opt/glassfish7 in /opt/glassfish um. Dann änderst du den Eigentümer des Verzeichnisses /opt/glassfish auf den Benutzer glassfish.
mv /opt/glassfish7 /opt/glassfish sudo chown -R glassfish:glassfish /opt/glassfish
GlassFish als Systemd-Dienst ausführen
Nachdem du das GlassFish-Binärpaket heruntergeladen hast, erstellst du eine neue systemd-Dienstdatei, mit der du GlassFish ausführen kannst. Damit kannst du GlassFish über das Dienstprogramm systemctl verwalten und GlassFish im Hintergrund als systemd-Dienst ausführen.
Um GlassFish als systemd-Dienst auszuführen, führe den folgenden nano-Editor-Befehl aus, um eine neue Datei /etc/systemd/system/glassfish.service zu erstellen.
sudo nano /etc/systemd/system/glassfish.service
Füge die folgende Konfiguration in die Datei ein.
[Unit] Description = GlassFish Server v7 After = syslog.target network.target [Service] User=glassfish ExecStart=/opt/glassfish/bin/asadmin start-domain ExecReload=/opt/glassfish/bin/asadmin restart-domain ExecStop=/opt/glassfish/bin/asadmin stop-domain Type = forking [Install] WantedBy = multi-user.target
Speichere und schließe die Datei, wenn du fertig bist.
Führe nun den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden und die Änderungen zu übernehmen.
sudo systemctl daemon-reload
Wenn der systemd-Manager neu geladen ist, starte und aktiviere den glassfish-Dienst mit dem folgenden Befehl.
sudo systemctl start glassfish sudo systemctl enable glassfish
Überprüfe abschließend den Status des Glassfish-Dienstes mit dem folgenden Befehl.
sudo systemctl status glassfish
Wenn alles klappt, sollte der Status von Glassfish als aktiv (läuft) angezeigt werden und er ist aktiviert.
Benutzer einrichten und GlassFish-Verwaltung absichern
Jetzt ist GlassFish aktiv und läuft. Jetzt musst du die GlassFish-Installation konfigurieren, indem du das Standardpasswort für die Admin-Konsole änderst und den Secure Admin aktivierst. Dies kannst du mit dem Befehl asadmin tun, der im Verzeichnis /opt/glassfish/bin verfügbar ist.
Führe die folgende asadmin Befehlszeile aus, um das Admin-Passwort für deine GlassFish-Installation zu ändern.
sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 change-admin-password
Während des Vorgangs wirst du nach dem Folgenden gefragt:
- Gib den Standard-Admin-Benutzer für GlassFish ein.
- Drücke ENTER, wenn du nach dem Passwort gefragt wirst. Der Standard-Admin-Benutzer für GlassFish wird ohne Passwort geliefert.
- Gib nun das neue Administrator-Passwort für GlassFish ein und wiederhole den Vorgang.
Wenn der Vorgang abgeschlossen ist, solltest du eine Meldung wie die folgende erhalten:
Als Nächstes führst du den folgenden asadmin-Befehl aus, um Secure Admin für deine GlassFish-Installation zu aktivieren.
Secure Admin ermöglicht die sichere Kommunikation über SSL zwischen dem Domain Administration Server (DAS), den Remote-Instanzen und den Administrationsclients, einschließlich des asadmin-Dienstprogramms, der Administrationskonsole und der REST-Clients.
sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 enable-secure-admin
Gib deinen GlassFish-Admin-Benutzer und dein Passwort ein und drücke dann die Eingabetaste. Wenn du fertig bist, wird die folgende Ausgabe angezeigt.
Nachdem der Secure Admin aktiviert wurde, führe den folgenden Befehl aus, um den Glassfish-Dienst neu zu starten und die Änderungen zu übernehmen.
sudo systemctl restart glassfish
Starte nun deinen Webbrowser und rufe die IP-Adresse des Servers gefolgt von Port 8080 auf, z. B. http://192.168.5.15:8080/. Wenn deine GlassFish-Installation erfolgreich war, solltest du die folgende Seite erhalten, die bestätigt, dass GlassFish läuft.
Öffne schließlich einen neuen Tab und besuche dieselbe Server-IP-Adresse mit Port 4848 (z. B. https://192.168.5.15:4848/), um auf die GlassFish-Verwaltungsseite zuzugreifen. Akzeptiere die SSL/TLS-Zertifikate in deinem Webbrowser, und wenn du erfolgreich bist, solltest du die GlassFish-Administrations-Login-Seite unten sehen.
Installation von Nginx als Reverse Proxy
In dieser Anleitung wirst du GlassFish mit Nginx als Reverse Proxy betreiben. Jetzt installierst du Nginx auf deinem Debian-Rechner und erstellst eine neue Serverblock-Konfiguration für GLassFish. In diesem Fall verwenden wir einen lokalen Domainnamen glassfish.hwdomain.io.
Als erstes installierst du Nginx mit dem folgenden apt-Befehl auf deinem Debian-System. Gib y ein, um mit der Installation fortzufahren.
sudo apt install nginx
Nach der Installation von Nginx erstellst du mit dem folgenden nano-Editor-Befehl eine neue Serverblock-Konfiguration /etc/nginx/sites-available/glassfish.
sudo nano /etc/nginx/sites-available/glassfish
Füge die folgende Konfiguration ein und achte darauf, dass du den Parameter server_name durch deinen lokalen Domainnamen ersetzt.
upstream glassfish { 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://glassfish/; } }
Speichere und beende die Datei, wenn du fertig bist.
Als Nächstes führst du den folgenden Befehl aus, um die Serverblockkonfiguration glassfish zu aktivieren und die Nginx-Syntax zu überprüfen, um sicherzustellen, dass du die richtige Syntax hast.
sudo ln -s /etc/nginx/sites-available/glassfish /etc/nginx/sites-enabled/ sudo nginx -t
Wenn du die richtige Nginx-Syntax hast, solltest du die Ausgabe„test is successful – syntax is ok“ erhalten.
Jetzt kannst du den Nginx-Dienst neu starten und die Änderungen übernehmen. Überprüfe dann den Nginx-Dienst, um sicherzustellen, dass der Dienst läuft.
sudo systemctl restart nginx sudo systemctl status nginx
In der folgenden Ausgabe solltest du sehen, dass der Nginx-Dienst läuft.
Zugriff auf die GlassFish-Installation
Im letzten Abschnitt greifst du vom Client-Rechner aus auf deine GlassFish-Installation zu. Du kannst ein beliebiges Betriebssystem als Client-Rechner verwenden.
Bearbeite die Datei /etc/hosts auf deinem lokalen Rechner und füge die folgende Konfiguration ein. Achte darauf, dass du die IP-Adresse des Servers und den lokalen Domänennamen änderst. Wenn du einen Windows-Client verwendest, musst du die Datei C:\Windows\System32\drivers\etc\hosts als Administrator ändern.
192.168.5.15 glassfish.hwdomain.io
Gehe nun zurück zu deinem Webbrowser und rufe den Domainnamen deiner GlassFish-Installation auf, z. B. http://glassfish.hwdomain.io/. Wenn deine Nginx-Reverse-Proxy-Konfiguration erfolgreich ist, solltest du die GlassFish-Standardseite index wie die folgende sehen.
Als Nächstes rufst du die GlassFish-Administrationsseite über Port 4848 auf (z. B. https://glassfish. hwdomain.io:4848/). Gib auf der Anmeldeseite deinen Admin-Benutzer und dein Passwort ein und klicke dann auf Anmelden.
Wenn deine Installation erfolgreich war, solltest du das GlassFish-Administrations-Dashboard wie folgt sehen:
Klicke nun auf das Menü Server, um den Status deiner GlassFish-Installation zu überprüfen. In diesem Beispiel solltest du sehen, dass GlassFish 7.0 mit dem Status Running installiert ist.
Von hier aus kannst du jetzt deinen GlassFish-Anwendungsserver verwalten.
Fazit
Abschließend hast du nun den GlassFish Application Server erfolgreich auf einem Debian 12 Server installiert, indem du die Schritt-für-Schritt-Anleitung befolgt hast. Du hast GlassFish mit Java OpenJDK 17 und Nginx als Reverse Proxy installiert und GlassFish gesichert, indem du das Standard-Admin-Passwort geändert und den Secure Admin aktiviert hast. Jetzt kannst du damit beginnen, deine Anwendung mit GlassFish bereitzustellen.