GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat JBoss AS s Java a Apache2 jako reverzní proxy

Dnes vám ukážeme, jak nastavit JAVA, JBoss AS a server Apache fungující jako reverzní proxy pomocí jednoho z našich virtuálních serverů Debian. Předpokládáme, že máte funkční server Apache.

Co je tedy JBoss?
JBoss je open-source aplikační server vyvinutý společností RedHat založený na platformě J2EE pro vývoj a nasazení podnikových Java aplikací, webových aplikací, služeb, portálů a dalších. J2EE umožňuje, aby byly aplikace standardizované a modulární, což umožňuje JAVA zvládnout mnoho programovacích aspektů při vývoji aplikace.

Než začneme s nastavením, ujistěte se, že máte plně aktuální systém Debian, takže proveďte:

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

Jakmile bude váš systém Debian plně aktualizován, nainstalujeme JAVA. V tomto nastavení používáme balíček „sun-java“, který se nachází v „non-free“ úložišti Debianu. Abychom jej mohli nainstalovat, musíme nejprve povolit zdroje, takže proveďte následující:

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

Jakmile umístíte zdroje, dalším krokem je instalace JAVA na váš systém Debian. Chcete-li to provést, postupujte takto:

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

Nyní byste měli mít na svém serveru nainstalovanou JAVA. Chcete-li to ověřit, spusťte:

# java -version

a měli byste vidět něco takového:

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, dalším krokem je instalace a konfigurace aplikačního serveru JBoss. Používáme nejnovější konečnou (v době psaní tohoto článku) verzi JBoss, která je ‚ver.7.1.1‘. Přejděte tedy na http://www.jboss.org/jbossas/downloads/ a stáhněte si verzi JBoss, kterou chcete nainstalovat na svůj virtuální server Debian.
Postup je následující:

# 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/

Dále musíme nakonfigurovat JBoss AS tak, aby běžel bez oprávnění „root“, protože jeho spuštění jako „root“ je velké bezpečnostní riziko. Nejlepší způsob, jak spustit JBoss, je použít vyhrazeného systémového uživatele, který bude spouštět server JBoss pomocí schopností „sudo“, takže:

Vytvořte skupinu, přidejte uživatele jboss do skupiny, nastavte heslo uživatele jboss a udělejte z něj vlastníka JBoss AS

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

POZNÁMKA:pokud již máte nastavení sudo, je to v pořádku, ale pokud nemáte, musíte jej nainstalovat. Pokud si tím nejste jisti, proveďte následující:

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


Dále přidejte uživatele jboss do skupiny sudo:

# gpasswd -a jboss sudo

Dobře, s tím vším jsme připraveni spustit server JBoss. Poslední věc, kterou musíme udělat, je následující:

Otevřete konfigurační soubor JBoss standalone.xml pomocí vašeho oblíbeného editoru a proveďte následující změny:

# 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

To zpřístupní veřejné a manažerské rozhraní JBoss odkudkoli (samozřejmě pomocí ověřování), takže jej budete moci spravovat prostřednictvím prohlížeče.

S tím vším je server JBoss nastaven a připraven, ale jak ho máme spustit? JBoss bohužel nedodává s inicializačním skriptem pro Debian, takže jej lze spustit jako službu. Abychom toho dosáhli, musíme vytvořit tento init skript, takže jej vytvořte přidáním následujících řádků do ( /etc/init.d/jboss ) :

#!/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

Uložte soubor a přiřaďte mu spustitelný bit pomocí:

chmod +x /etc/init.d/jboss

pak ji přidejte do všech runlevelů a zapalte ji. Proveďte to spuštěním:

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

JBoss by nyní měl být spuštěn a poslouchat na portu 8080. Otevřete tedy frontend otevřením http://:8080 ve vašem webovém prohlížeči. Jakmile tam budete, postupujte podle pokynů, jak vytvořit nového uživatele pro váš JBoss, a jakmile bude uživatel vytvořen, přejděte na nasazení a aktivujte vaši aplikaci.

Po nasazení a povolení aplikace k ní můžete přistupovat na adrese http://:8080/appname/

Dalším krokem je nakonfigurovat Apache jako reverzní proxy, aby mohl zpracovávat a předávat požadavky vašemu JBoss a skrýt číslo portu v URL. Upravte tedy konfigurační soubor Apache (/etc/apache2/apache2.conf) a přidejte následující úryvek (virtuální hostitel) v dolní části souboru:

<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>

uložte soubor a než znovu načtete apache, aby se změny projevily, ujistěte se, že modul mod_proxy je povolen, jinak se nespustí.

# a2enmod proxy_http && service apache2 restart

Nyní lze přistupovat k vaší aplikaci JBoss otevřením adresy http://yourdomain.tld/

Jako doplněk k tomuto nastavení, co když chcete do aplikace JBoss zahrnout nějaké „PHP“ skripty? Řekněme například, že chcete mít „http://yourdomain.tld/service.php“, tak jak můžeme říct Apache, aby tyto požadavky nepředával JBoss, ale místo toho je obsluhoval sám? Dosáhnout toho je docela triviální, takže se vraťme a upravme našeho ‚virtuálního hostitele‘ tak, aby vypadal jako ten níže:

<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>

každý php skript v adresáři „/var/www/demoWeb“ nebude předán JBoss a bude přístupný na http://yourdomain.com/

Debian
  1. Jak nainstalovat a nakonfigurovat WildFly (JBoss) na Debian 10

  2. Jak nainstalovat Odoo 11 na Debian 9 s Nginx jako reverzní proxy

  3. Jak nainstalovat Odoo 12 na Debian 10 s Nginx jako reverzní proxy

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 11

  2. Jak nainstalovat a nakonfigurovat Tinyproxy na Ubuntu 14.04

  3. Nainstalujte a nakonfigurujte platformu eXo s Nginx jako reverzní proxy na Debian 8 VPS

  1. Jak nainstalovat a nakonfigurovat Squid Proxy na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Squid Proxy na CentOS 7

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 10 Linux