GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie JBoss AS mit Java und Apache2 als Reverse-Proxy

Heute zeigen wir Ihnen, wie Sie JAVA, JBoss AS und einen Apache-Server einrichten, der als Reverse-Proxy fungiert, indem Sie einen unserer virtuellen Debian-Server verwenden. Wir gehen davon aus, dass Sie über einen funktionierenden Apache-Server verfügen.

Also, was ist JBoss?
JBoss ist ein Open-Source-Anwendungsserver, der von RedHat basierend auf der J2EE-Plattform für die Entwicklung und Bereitstellung von Java-Unternehmensanwendungen, Webanwendungen, Diensten, Portalen und mehr entwickelt wurde. Die J2EE ermöglicht die Standardisierung und Modularisierung von Anwendungen, sodass JAVA viele Programmieraspekte bei der Entwicklung einer Anwendung handhaben kann.

Bevor wir mit der Einrichtung beginnen, vergewissern Sie sich, dass Sie ein vollständig aktuelles Debian-System haben, also führen Sie Folgendes aus:

# apt-get update && apt-get upgrade --show-upgraded -y

Sobald Ihr Debian-System vollständig aktualisiert ist, werden wir JAVA installieren. In diesem Setup verwenden wir das Paket „sun-java“, das sich im „non-free“-Repository von Debian befindet. Um es zu installieren, müssen wir zuerst die Quellen aktivieren, also gehen Sie wie folgt vor:

# echo "deb http://ftp.us.debian.org/debian squeeze main contrib non-free" >> /etc/apt/sources.list

Sobald Sie die Quellen platziert haben, besteht der nächste Schritt darin, JAVA auf Ihrem Debian-System zu installieren. Führen Sie dazu Folgendes aus:

# apt-get update && apt-get install sun-java6-jdk -y

Java sollte jetzt auf Ihrem Server installiert sein. Um dies zu überprüfen, führen Sie bitte Folgendes aus:

# java -version

und Sie sollten so etwas sehen:

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Client VM (build 20.1-b02, mixed mode, sharing)

Ok, der nächste Schritt ist die Installation und Konfiguration des JBoss Application Servers. Wir verwenden die neueste endgültige (zum Zeitpunkt des Schreibens dieses Artikels) Version von JBoss, die „ver.7.1.1“ ist. Gehen Sie also zu http://www.jboss.org/jbossas/downloads/ und laden Sie die JBoss-Version herunter, die Sie auf Ihrem virtuellen Debian-Server installieren möchten.
Die Schritte sind wie folgt:

# cd /opt
# wget -P /var/tmp http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.tar.gz
# tar -zxf /var/tmp/jboss-as-7.1.1.Final.tar.gz -C /opt/

Als Nächstes müssen wir den JBoss AS so konfigurieren, dass er ohne „Root“-Rechte läuft, da die Ausführung als „Root“ ein großes Sicherheitsrisiko darstellt. Der beste Weg, JBoss auszuführen, ist die Verwendung eines dedizierten Systembenutzers, der den JBoss-Server mit den „sudo“-Berechtigungen ausführt, also:

Erstellen Sie eine Gruppe, fügen Sie den jboss-Benutzer zur Gruppe hinzu, legen Sie das Passwort des jboss-Benutzers fest und machen Sie ihn zum Besitzer des JBoss AS

# addgroup jbossgroup
# useradd -g jbossgroup jboss
# passwd jboss
# chown jboss:jbossgroup /opt/jboss-as-7.1.1.Final/ -R

HINWEIS:Wenn Sie bereits sudo setup haben, ist es in Ordnung, aber wenn Sie es nicht haben, müssen Sie es installieren. Wenn Sie sich nicht sicher sind, führen Sie Folgendes aus:

# [[ ! $(which sudo) ]] && apt-get install sudo -y


Fügen Sie als Nächstes den jboss-Benutzer zur sudo-Gruppe hinzu:

# gpasswd -a jboss sudo

Ok, mit all dem sind wir einigermaßen bereit, den JBoss-Server zu starten. Das Letzte, was wir tun müssen, ist Folgendes:

Öffnen Sie die JBoss-Konfigurationsdatei standalone.xml mit Ihrem bevorzugten Editor und nehmen Sie die folgenden Änderungen vor:

# vim /opt/jboss-as-7.1.1.Final/standalone/configuration/standalone.xml

<interface name="management">
    <!--<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>-->
    <any-ipv4-address/>
</interface>
<interface name="public">
    <!--<inet-address value="${jboss.bind.address:127.0.0.1}"/>-->
    <any-ipv4-address/>
</interface

Dadurch wird das öffentliche und Verwaltungs-Frontend von JBoss von überall aus verfügbar (natürlich mit Authentifizierung), sodass Sie es über einen Browser verwalten können.

Mit all dem ist der JBoss-Server eingerichtet und bereit, aber wie sollen wir ihn starten? Leider wird JBoss nicht mit einem Init-Skript für Debian ausgeliefert, sodass es als Dienst ausgeführt werden kann. Um dies zu erreichen, müssen wir dieses Init-Skript erstellen, also erstellen Sie es, indem Sie die folgenden Zeilen in ( /etc/init.d/jboss ) hinzufügen :

#!/bin/sh
### BEGIN INIT INFO
# Provides:          jboss
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/Stop/Restart JBoss AS v7.0.0
### END INIT INFO

set -e

### declare the directory where is jboss/java installed
JAVA_HOME=/usr/lib/jvm/java-6-sun
JBOSS_HOME=/opt/jboss-as-7.1.1.Final
export PATH=${JAVA_HOME}/bin:${JBOSS_HOME}/bin:${PATH}

case $1 in
        start )
                echo -e "\aStarting JBoss ..."
                start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh
        ;;
        stop )
                echo -e "\aStopping JBoss ..."
                start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/jboss-cli.sh -- --connect command=:shutdown
        ;;
        restart )
                echo -e "\aRestarting the JBoss server ..."
                start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/jboss-cli.sh -- --connect command=:shutdown && \
                start-stop-daemon --start --quiet --background --chuid jboss --exec ${JBOSS_HOME}/bin/standalone.sh
        ;;
        * )
                echo -e "\aUsage: /etc/init.d/jboss {start|stop|restart}"
                exit 1
        ;;
esac
exit 0

Speichern Sie die Datei und weisen Sie ihr ein ausführbares Bit zu, indem Sie:

chmod +x /etc/init.d/jboss

fügen Sie es dann allen Runlevels hinzu und starten Sie es. Tun Sie dies, indem Sie Folgendes ausführen:

# update-rc.d -f jboss defaults
# service jboss start

JBoss sollte jetzt aktiv sein und Port 8080 überwachen. Greifen Sie also auf das Frontend zu, indem Sie http://:8080 öffnen in Ihrem Webbrowser. Wenn Sie dort sind, folgen Sie den Anweisungen zum Erstellen eines neuen Benutzers für Ihren JBoss, und sobald der Benutzer erstellt ist, können Sie Ihre Anwendung bereitstellen und aktivieren.

Nachdem Sie Ihre Anwendung bereitgestellt und aktiviert haben, können Sie unter http://:8080/appname/ darauf zugreifen

Der nächste Schritt besteht darin, Apache als Reverse-Proxy zu konfigurieren, damit er die Anforderungen verarbeiten und an Ihren JBoss weiterleiten und die Portnummer in der URL verbergen kann. Bearbeiten Sie also die Konfigurationsdatei von Apache (/etc/apache2/apache2.conf) und fügen Sie das folgende Snippet hinzu (virtueller Host) am Ende der Datei:

<VirtualHost *:80>
ServerName www.yourdomain.tld
ServerAlias yourdomain.tld

    ProxyRequests Off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://yourdomain.tld:8080/helloworld/
    ProxyPassReverse / http://yourdomain.tld:8080/helloworld/

    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

Speichern Sie die Datei und bevor Sie Apache neu laden, damit die Änderungen wirksam werden, vergewissern Sie sich, dass das mod_proxy-Modul aktiviert ist, da es sonst nicht gestartet werden kann.

# a2enmod proxy_http && service apache2 restart

Sie können jetzt auf Ihre JBoss-Anwendung zugreifen, indem Sie „http://yourdomain.tld/“ öffnen

Als Ergänzung zu diesem Setup, was ist, wenn Sie einige „PHP“-Skripte in Ihre JBoss-Anwendung einbinden möchten? Nehmen wir zum Beispiel an, Sie möchten „http://yourdomain.tld/service.php“ haben. Wie können wir also Apache anweisen, diese Anfragen nicht an JBoss weiterzuleiten, sondern sie stattdessen selbst zu bedienen? Es ist ziemlich trivial, dies zu erreichen, also gehen wir zurück und bearbeiten unseren „virtuellen Host“, sodass er wie folgt aussieht:

<VirtualHost *:80>
ServerName www.yourdomain.tld
ServerAlias yourdomain.tld

DocumentRoot /var/www/demoWeb
ProxyPassMatch ^/(.*)+\.php !

    ProxyRequests Off

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://yourdomain.tld:8080/helloworld/
    ProxyPassReverse / http://yourdomain.tld:8080/helloworld/

    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

Jedes PHP-Skript im Verzeichnis „/var/www/demoWeb“ wird nicht an JBoss weitergegeben und ist unter http://yourdomain.com/

Debian
  1. So installieren und konfigurieren Sie WildFly (JBoss) unter Debian 10

  2. So installieren und konfigurieren Sie Squid Proxy unter Debian 11

  3. So installieren und konfigurieren Sie Tinyproxy unter Ubuntu 14.04

  4. So installieren Sie Odoo 11 auf Debian 9 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 12 auf Debian 10 mit Nginx als Reverse Proxy

So installieren Sie WildFly mit Nginx als Reverse Proxy unter Debian 10

So installieren Sie WildFly Java Application Server mit Nginx Reverse Proxy unter Ubuntu 20.04

So installieren und verwenden Sie Traefik als Reverse Proxy mit Docker unter CentOS 8

So installieren Sie GlassFish Java Server mit Nginx als Reverse Proxy unter Debian 11

So installieren und konfigurieren Sie WildFly (JBoss) unter Debian 11

So installieren und konfigurieren Sie vsftpd mit TLS unter Debian 8 (Jessie)