GNU/Linux >> Belajar Linux >  >> Debian

Cara menginstal dan mengkonfigurasi JBoss AS dengan Java dan Apache2 sebagai proxy terbalik

Hari ini kami akan menunjukkan kepada Anda cara mengatur JAVA, JBoss AS dan server Apache yang bertindak sebagai proxy terbalik menggunakan salah satu Server Virtual Debian kami. Kami menganggap Anda memiliki server Apache yang berfungsi.

Jadi, apa itu JBoss?
JBoss adalah server aplikasi sumber terbuka yang dikembangkan oleh RedHat berdasarkan platform J2EE untuk mengembangkan dan menerapkan aplikasi Java perusahaan, aplikasi Web, Layanan, Portal, dan lainnya. J2EE memungkinkan aplikasi distandarisasi dan modular memungkinkan JAVA menangani banyak aspek pemrograman saat mengembangkan aplikasi.

Sebelum memulai penyiapan, pastikan Anda memiliki sistem Debian yang sepenuhnya terbaru, jadi jalankan:

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

Setelah sistem Debian Anda diperbarui sepenuhnya, kami akan menginstal JAVA. Dalam pengaturan ini kami menggunakan paket 'sun-java' yang berada di repositori 'non-free' Debian. Untuk menginstalnya, kita harus mengaktifkan sumbernya terlebih dahulu, jadi lakukan hal berikut:

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

Setelah Anda menempatkan sumber, langkah selanjutnya adalah menginstal JAVA di Sistem Debian Anda. Untuk melakukan itu, jalankan:

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

Anda seharusnya sudah menginstal JAVA di server Anda. Untuk memverifikasi ini, jalankan:

# java -version

dan Anda akan melihat sesuatu seperti ini:

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, langkah selanjutnya adalah menginstal dan mengkonfigurasi Server Aplikasi JBoss. Kami menggunakan versi terakhir (saat artikel ini ditulis) dari JBoss yaitu 'ver.7.1.1'. Jadi, buka http://www.jboss.org/jbossas/downloads/ dan unduh versi JBoss yang ingin Anda instal di Server Virtual Debian Anda.
Langkah-langkahnya adalah sebagai berikut:

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

Selanjutnya, kita perlu mengkonfigurasi JBoss AS sehingga akan berjalan tanpa hak 'root' karena menjalankannya sebagai 'root' adalah risiko keamanan yang besar. Cara terbaik untuk menjalankan JBoss adalah dengan menggunakan pengguna sistem khusus yang akan menjalankan server JBoss menggunakan kekuatan 'sudo', jadi:

Buat grup, tambahkan pengguna jboss ke grup, atur kata sandi pengguna jboss dan jadikan sebagai pemilik JBoss AS

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

CATATAN:jika Anda sudah memiliki pengaturan sudo tidak apa-apa, tetapi jika belum Anda perlu menginstalnya. Jika Anda tidak yakin tentang ini, jalankan yang berikut:

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


Selanjutnya, tambahkan pengguna jboss ke grup sudo:

# gpasswd -a jboss sudo

Ok, dengan semua itu, kita agak siap untuk memulai server JBoss. Hal terakhir yang perlu kita lakukan adalah sebagai berikut:

Buka file konfigurasi standalone.xml JBoss menggunakan editor favorit Anda dan buat perubahan berikut:

# 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

Ini akan membuat frontend manajemen dan publik JBoss tersedia dari mana saja (tentu saja menggunakan autentikasi) sehingga Anda dapat mengelolanya melalui browser.

Dengan semua itu, server JBoss sudah diatur dan siap, tetapi bagaimana kita harus memulainya? Sayangnya, JBoss tidak mengirimkan skrip init untuk Debian sehingga dapat dijalankan sebagai layanan. Untuk mencapai ini, kita perlu membuat skrip init jadi buatlah dengan menambahkan baris berikut di ( /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

Simpan file dan tetapkan bit yang dapat dieksekusi dengan:

chmod +x /etc/init.d/jboss

kemudian tambahkan ke semua runlevel dan jalankan. Lakukan ini dengan menjalankan:

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

JBoss seharusnya aktif dan mendengarkan pada port 8080 sekarang. Jadi, akses frontend dengan membuka http://:8080 di peramban web Anda. Setelah Anda berada di sana, ikuti petunjuk tentang cara membuat pengguna baru untuk JBoss Anda dan setelah pengguna dibuat, terapkan dan aktifkan aplikasi Anda.

Setelah Anda menerapkan dan mengaktifkan aplikasi Anda, Anda dapat mengaksesnya di http://:8080/appname/

Langkah selanjutnya adalah mengkonfigurasi Apache sebagai proxy terbalik sehingga dapat menangani dan meneruskan permintaan ke JBoss Anda dan menyembunyikan nomor port di URL. Jadi, edit file konfigurasi apache (/etc/apache2/apache2.conf) dan tambahkan cuplikan berikut (virtual host) di bagian bawah berkas:

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

simpan file dan sebelum memuat ulang apache agar perubahan diterapkan, pastikan modul mod_proxy diaktifkan atau jika tidak maka akan gagal untuk memulai.

# a2enmod proxy_http && service apache2 restart

sekarang aplikasi JBoss Anda sudah bisa diakses dengan membuka ‘http://domainanda.tld/’

Sebagai tambahan untuk pengaturan ini, bagaimana jika Anda ingin menyertakan beberapa skrip 'PHP' di bawah aplikasi JBoss Anda? Katakanlah misalnya, Anda ingin memiliki 'http://yourdomain.tld/service.php' jadi bagaimana kami bisa memberi tahu Apache untuk tidak meneruskan permintaan tersebut ke JBoss tetapi malah melayaninya sendiri? Cukup sepele untuk mencapai ini, jadi mari kita kembali dan mengedit 'Virtual Host' kita sehingga akan terlihat seperti di bawah ini:

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

setiap skrip php di dalam direktori ‘/var/www/demoWeb’ tidak akan diteruskan ke JBoss dan akan dapat diakses di http://domainanda.com/

Debian
  1. Bagaimana menginstal dan mengkonfigurasi Proxy Squid di Debian 11

  2. Cara menginstal dan mengkonfigurasi Tinyproxy di Ubuntu 14.04

  3. Instal dan konfigurasikan Platform eXo dengan Nginx sebagai proxy terbalik pada Debian 8 VPS

  1. Cara Menginstal dan Mengonfigurasi WildFly (JBoss) di Debian 10

  2. Cara Menginstal Odoo 11 di Debian 9 dengan Nginx sebagai Proxy Terbalik

  3. Cara Menginstal Odoo 12 di Debian 10 dengan Nginx sebagai Proxy Terbalik

  1. Cara Menginstal dan Mengkonfigurasi Squid Proxy di Ubuntu 18.04

  2. Cara Menginstal dan Mengonfigurasi Squid Proxy di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi Squid Proxy di Debian 10 Linux