So installierst du GlassFish Java Application Server auf Rocky Linux
GlassFish ist eine freie und quelloffene Implementierung der Java EE-Plattform, die von Eclipse entwickelt wurde. Sie ist die weltweit führende Implementierung der Java EE-Plattform. Sie bietet einen leichtgewichtigen Anwendungsserver und ermöglicht es dir, 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 wird mit zwei verschiedenen freien Lizenzen ausgeliefert – der Common Development and Distribution License und der GNU General Public License.
In diesem Lernprogramm werden wir den GlassFish Java Application Server mit Nginx Reverse Proxy auf Rocky Linux installieren. Wir installieren Java OpenJDK, installieren GlassFish über das Binärpaket und installieren und konfigurieren Nginx als Reverse Proxy.
Voraussetzungen
Zu Beginn musst du sicherstellen, dass du die folgenden Voraussetzungen erfüllst:
- Ein Rocky Linux Server – Du kannst Rocky Linux 8 oder 9 verwenden.
- Ein Nicht-Root-Benutzer mit sudo root/administrator-Rechten.
- Ein lokaler Domainname für den lokalen Entwicklungsserver.
Kommen wir nun zur Installation.
Installation von Java OpenJDK
GlassFish ist ein Java Application Server. Um ihn zu installieren, musst du Java OpenJDK auf deinem Server installieren.
Zum Zeitpunkt der Erstellung dieses Artikels benötigt die neueste Version von GlassFish 6.2.5 mindestens Java OpenJDK 11. Und nun beginnst du die Installation, indem du Java OpenJDK 11 auf dem Rocky Linux System installierst.
Das Standard Java OpenJDK ist im Rocky Linux Appstream Repository verfügbar. Installiere es mit dem folgenden dnf-Befehl.
sudo dnf install java-11-openjdk
Wenn du dazu aufgefordert wirst, gibst du zur Bestätigung y ein und drückst ENTER, um fortzufahren. Die Installation von Java OpenJDK beginnt.
Führe als Nächstes den folgenden java-Befehl aus, um deine Installation zu überprüfen. Du solltest die Ausgabe erhalten, dass Java OpenJDK 11 auf dem Rocky Linux installiert ist.
java -version
Sobald Java OpenJDK installiert ist, musst du im nächsten Schritt GlassFish herunterladen und manuell aus dem Binärpaket installieren.
Herunterladen der GlassFish-Anwendung
GlassFish ist eine Java EE-kompatible Implementierung, die von Eclipse entwickelt wurde. Du kannst sie manuell installieren, indem du sie aus dem Quellcode erstellst, oder sie über das von Eclipse bereitgestellte Binärpaket installieren.
In diesem Schritt wirst du GlassFish über das Binärpaket installieren, das du von der Eclipse-Website herunterladen kannst.
Bevor du mit der Installation von GlassFish beginnst, führe den folgenden dnf-Befehl aus, um das unzip-Paket zu installieren. Mit diesem wird das GlassFish-Distributionspaket entpackt.
sudo dnf install unzip
Als Nächstes führst du den folgenden Befehl aus, um einen neuen Benutzer für GlassFish anzulegen. In diesem Beispiel wirst du den GLassFish-Anwendungsserver über den Nicht-Root-Benutzer„glassfish“ ausführen.
sudo useradd -m -d /opt/glassfish6 -U -s /bin/false glassfish
Nachdem der Benutzer„glassfish“ erstellt wurde, navigierst du zum Verzeichnis „/tmp“ und lädst das GlassFish-Binärpaket mit dem unten stehenden wget-Befehl herunter.
cd /tmp wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.2.5.zip
Du solltest dann die neue Datei „glassfish-6.2.5.zip“ erhalten.
Führe den folgenden unzip-Befehl aus, um das GlassFish-Paket„glassfish-6.2.5.zip“ in das Verzeichnis „/opt“ zu entpacken.
unzip /tmp/glassfish-6.2.5.zip -d /opt
Nun ist das GlassFish-Paket in das Verzeichnis „/opt/glassfish6“ extrahiert.
Führe abschließend den folgenden Befehl aus, um die Eigentumsrechte am GlassFish-Installationsverzeichnis„/opt/glassfish6“ auf den Benutzer und die Gruppe„glassfish“ zu ändern.
sudo chown -R glassfish:glassfish /opt/glassfish6
Nachdem du das GlassFish-Paket heruntergeladen hast, kannst du nun die GlassFish-Anwendung manuell über die Binärdatei „/opt/glassfish6/bin/asadmin“ starten. Aber um es einfacher zu machen, wirst du GlassFish als Systemd-Dienst einrichten und ausführen.
GlassFish als Systemd-Dienst ausführen
In dieser Anleitung wirst du den GlassFish Java Application Server über den systemd-Dienst ausführen. So kannst du den GlassFish-Anwendungsserver einfach über den systemctl-Befehl verwalten.
Erstelle zunächst eine neue systemd-Dienstdatei „/lib/systemd/system/glassfish.service“ mit dem folgenden nano-Editor.
sudo nano /lib/systemd/system/glassfish.service
Füge die folgende Konfiguration in die Datei ein.
[Unit] Description = GlassFish Server v6 After = syslog.target network.target [Service] User=glassfish ExecStart=/opt/glassfish6/bin/asadmin start-domain ExecReload=/opt/glassfish6/bin/asadmin restart-domain ExecStop=/opt/glassfish6/bin/asadmin stop-domain Type = forking [Install] WantedBy = multi-user.target
Speichere die Datei und beende den Editor, wenn du fertig bist.
Als nächstes führst du den folgenden systemctl-Befehl aus, um den systemd-Manager neu zu laden und die neue Servicedatei„glassfish.service“ anzuwenden.
sudo systemctl daemon-reload
Nachdem du den systemd Manager neu geladen hast, kannst du nun den Dienst„glassfish“ mit dem folgenden systemctl-Befehl starten und aktivieren.
sudo systemctl start glassfish sudo systemctl enable glassfish
Sobald der„glassfish„-Dienst gestartet ist, führe den folgenden systemctl-Befehl aus, um den„glassfish„-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.
sudo systemctl status glassfish
Du solltest die Ausgabe erhalten, dass der„glassfish„-Dienst läuft, wie im folgenden Screenshot zu sehen.
Jetzt, wo die Java-Anwendung„glassfish“ läuft, kannst du im nächsten Schritt mit der Konfiguration der GlassFish-Verwaltung beginnen.
GlassFish-Verwaltung konfigurieren
Bei der Standardinstallation von GlassFish gibt es kein Admin-Passwort. Daher konfigurierst du jetzt den Administrationsbenutzer und das Passwort für GlassFish und sicherst die GlassFish-Installation über die Befehlszeile„/opt/glassfish6/bin/asadmin„.
Führe den folgenden Befehl aus, um den Admin-Benutzer und das Passwort für deine GlassFish-Installation zu konfigurieren.
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 change-admin-password
Du wirst nun aufgefordert, einige der GlassFish-Verwaltungsfunktionen auszuführen.
- Gib den Benutzer für GlassFish ein – der Standardbenutzer ist „admin“.
- Die Standardinstallation von GlassFish enthält kein Passwort, also drücke ENTER.
- Gib nun das neue Passwort für deine GlassFish-Installation ein und wiederhole den Vorgang.
Du solltest jetzt eine Meldung wie„Befehl change-admin-password erfolgreich ausgeführt“ erhalten.
Nachdem du den GlassFish-Administrationsbenutzer konfiguriert hast, kannst du als Nächstes mit der Sicherung deiner GlassFish-Installation beginnen.
Führe den folgenden Befehl aus, um mit der Sicherung von GlassFish zu beginnen.
sudo -u glassfish /opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin
Wenn du nach dem GlassFish-Administrator-Benutzer und -Passwort gefragt wirst, gibst du die Daten ein, die du zuvor konfiguriert hast. Wenn alles fertig ist, siehst du die Ausgabe„Befehl enable-secure-admin erfolgreich ausgeführt„.
Als Nächstes führst du den folgenden Befehl aus, um denGlassFish-Dienst neu zu starten und die neuen Änderungen anzuwenden.
sudo systemctl restart glassfish
Jetzt läuft GlassFish mit einem neuen Administrationsbenutzer und Passwort und ist auch gesichert. Der GlassFish Java Application Server läuft standardmäßig auf Port8080 und die GlassFish-Administration läuft auf Port 4848.
Bevor du auf deine GlassFish-Installation zugreifst, führe den folgenden Befehl firewall-cmd aus, um die Ports 8080 und 4848 zu öffnen.
sudo firewall-cmd --add-port=8080/tcp --zone=public sudo firewall-cmd --add-port=4848/tcp --zone=public
Öffne schließlich deinen Webbrowser und rufe die IP-Adresse gefolgt von Port 8080 auf (d.h.: http://192.168.5.100:8080). Du solltest nun die Standardseite index.html deines GlassFish Java Application Servers sehen.
Für die GlashFish-Verwaltung rufst du die IP-Adresse des Servers mit Port 4848 auf (z.B.: http: //192.168.5.100:4848/). Dann solltest du die Anmeldeseite der GlassFish-Administration sehen.
Nginx als Reverse Proxy einrichten
Zu diesem Zeitpunkt läuft die GlassFish-Java-Anwendung mit aktivierter und gesicherter Administration. Jetzt installierst du Nginx und richtest es als Reverse Proxy für GlassFish ein.
Wenn du Nginx als Reverse Proxy verwendest, kannst du GlassFish über den Standardport HTTP oder HTTPS (falls aktiviert) ausführen.
Führe den folgenden dnf-Befehl aus, um den Nginx-Webserver zu installieren. Wenn du nach der Konfiguration gefragt wirst, gibst du Y ein und drückst ENTER, um fortzufahren.
sudo dnf install nginx
Als Nächstes erstellst du mit dem folgenden nano-Editor eine neue Nginx-Serverblock-Konfiguration„/etc/nginx/conf.d/glassfish.conf„. Diese Konfiguration sorgt dafür, dass Nginx als Reverse Proxy für GlassFish läuft.
sudo nano /etc/nginx/conf.d/glassfish.conf
Füge die folgende Konfiguration in die Datei ein und stelle sicher, dass du den lokalen Domainnamen„glassfish.hwdomain.io“ durch deine Domain ersetzt.
upstream glassfish6 { 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://glassfish6/; } }
Speichere die Datei und schließe den Editor, wenn du fertig bist.
Als nächstes führst du den folgenden Befehl aus, um die Nginx-Konfiguration zu überprüfen. Wenn du die richtige Konfiguration hast, solltest du eine Meldung wie„Syntax ist OK – Test ist erfolgreich“ sehen.
sudo nginx -t
Nachdem du den Nginx-Serverblock für GlassFish erstellt hast, führst du als Nächstes den folgenden Befehl aus, um den Nginx-Dienst zu starten und zu aktivieren.
sudo systemctl start nginx sudo systemctl enable nginx
Der Nginx-Dienst sollte jetzt laufen und aktiviert sein und wird beim Systemstart automatisch ausgeführt.
Zum Schluss überprüfst du den Nginx-Dienst mit folgendem Befehl, um sicherzustellen, dass der Dienst läuft.
sudo systemctl status nginx
Die Ausgabe sieht wie folgt aus – du siehst, dass der Nginx-Dienst läuft.
Firewalld einrichten
Die Standard-Firewalld auf dem Rocky Linux läuft bereits. Um GlassFish zugänglich zu machen, musst du den HTTP-Port und den GlassFish-Administrationsport 4848 öffnen.
Führe den folgenden firewall-cmd-Befehl aus, um die HTTP- und HTTPS-Dienste und den Standard-Port 4848 für die GlassFish-Administration hinzuzufügen.
sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --add-port=4848/tcp --permanent
Lade nun die Firewallregeln neu und überprüfe die Liste der aktivierten Regeln mit dem folgenden Befehl.
sudo firewall-cmd --reload sudo firewall-cmd --list-all
Du solltest die folgende Ausgabe erhalten – Die HTTP- und HTTPS-Dienste sind der Firewalld hinzugefügt und der GlassFish-Administrationsport 4848/tcp ist ebenfalls hinzugefügt.
Zugriff auf GlassFish
Bearbeite auf deinem lokalen Computer die Datei „/etc/hosts“ mit dem folgenden nano-Editor.
sudo nano /etc/hosts
Füge die folgende Konfiguration in die Datei ein und achte darauf, dass du die Server-IP-Adresse und den lokalen Domänennamen für deine GlassFIsh-Installation änderst.
192.168.5.100 glassfish.hwdomain.io
Speichere die Datei und beende den Editor, wenn du fertig bist.
Als Nächstes öffnest du deinen Webbrowser und rufst den Domainnamen deiner GlassFish-Installation auf (z.B.: http://glassfish.hwdomain.io/). Du solltest nun die Standardseite index.html von GlassFish erhalten.
Öffne nun einen neuen Tab und besuche deinen Domainnamen, gefolgt von dem Administrationsport 4848 (z.B.: https://glassfish.hwdomain.io:4848/). Du solltest nun die Anmeldeseite für die Administration deines GlassFish erhalten.
Gib den Admin-Benutzer und das Passwort ein, die du konfiguriert hast, und klicke auf Login.
Wenn der Admin-Benutzer und das Passwort korrekt sind, solltest du das GlassFish-Administrations-Dashboard wie folgt sehen.
Fazit
In dieser Anleitung hast du GlassFish Java Application Server auf einem Rocky Linux Server installiert. Außerdem hast du Java OpenJDK 11 installiert und dem Linux-System eine neue Servicedatei hinzugefügt. Schließlich hast du auch die Installation und Konfiguration des Nginx Webservers als Reverse Proxy für den GlassFish Java Application Server gelernt.
Im nächsten Schritt kannst du nun damit beginnen, andere Anwendungen zu implementieren oder die Hochverfügbarkeit von GLassFish zu konfigurieren.