WildFly adalah aplikasi runtime free, open-source, dan cross-platform yang ditulis dalam Java dan dikembangkan oleh Red Hat yang memungkinkan Anda mengembangkan aplikasi hebat hanya dari satu IDE.
WildFly terkenal ringan, cepat, fleksibel, dan didasarkan pada subsistem pluggable. Ini berjalan pada sistem operasi Windows dan Linux dan bertujuan untuk menyediakan pengguna dengan lingkungan runtime Java yang cepat dan stabil. Wildfly hadir dengan beragam fitur termasuk, Cepat, Runtime yang Dapat Disesuaikan, Skalabilitas, Konfigurasi & Manajemen Terpadu, Pemuatan Serentak, Tautan Cepat, Manajemen Domain, dan banyak lagi lainnya.
Dalam tutorial ini, kami akan menunjukkan kepada Anda langkah-langkah untuk install Wildfly dengan Nginx sebagai reverse proxy di Debian 10.
Persyaratan
- Server yang menjalankan Debian 10.
- Masuk sebagai root atau user dengan hak sudo
Langkah awal
Perbarui paket sistem operasi Anda (software). Ini adalah langkah pertama yang penting karena memastikan Anda memiliki pembaruan terbaru dan perbaikan keamanan untuk paket perangkat lunak default sistem operasi Anda:
sudo apt update && sudo apt upgrade -y
Setelah server Anda diperbarui, mulai ulang server Anda untuk menerapkan perubahan.
Instal Java di Debian 10
WildFly membutuhkan Java versi 8 untuk diinstal di server Anda. Secara default, Java 8 tidak tersedia di repositori default Debian 10. Jadi, Anda perlu download Java 8 dari situs web resmi.
Setelah download Java 8, buat direktori /usr/lib/jvm
ekstrak source Java ke direktori tersebut dengan perintah berikut:
mkdir /usr/lib/jvm/ tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/
Selanjutnya, jalankan perintah berikut untuk mengubah versi default Java:
update-alternatives --config java
Pilih Java versi 8 dan tekan Enter
. Anda akan melihat output berikut:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode 2 /usr/lib/jvm/jdk1.8.0_221/bin/java 1 manual mode Press to keep the current choice[*], or type selection number: 2 update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in manual mode
Selanjutnya, periksa versi Java menggunakan perintah berikut:
java -version
Anda akan mendapatkan output seperti berikut
java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
Instal Wildfly
Pertama, Anda harus membuat user dan group untuk Wildfly. Anda dapat membuatnya dengan perintah groupadd
seperti berikut:
groupadd -r wildfly useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Selanjutnya, download versi terbaru Wildfly dengan perintah wget
:
wget https://download.jboss.org/wildfly/17.0.1.Final/wildfly-17.0.1.Final.zip
Setelah download selesai, unzip file yang diunduh dengan perintah berikut:
unzip wildfly-17.0.1.Final.zip
Selanjutnya copy file dan direktori yang telah di unzip ke direktori /opt/
.
cp -r wildfly-17.0.1.Final /opt/wildfly
Selanjutnya, ubah kepemilikan direktori wildfly menjadi user wildfly
seperti yang ditunjukkan di bawah ini:
chown -RH wildfly:wildfly /opt/wildfly
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasi Wildfly di Debian 10
Untuk memulai konfigurasi Wildfly, salin file yang diperlukan untuk mengkonfigurasi WildFly.
Pertama, salin file konfigurasi WildFly ke direktori /etc/wildfly:
mkdir /etc/wildfly cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Langkah berikutnya salin file launch.sh
ke direktori /opt/wildfly/bin/
dengan perintah berikut:
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Selanjutnya, beri izin eksekusi untuk meluncurkan file .sh:
sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Selanjutnya, salin Wildfly systemd unit file ke direktori /etc/systemd/system/ :
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Selanjutnya, reload systemd daemon dengan perintah berikut:
systemctl daemon-reload
Selanjutnya, start layanan WildFly dan aktifkan untuk memulai saat boot dengan perintah berikut:
systemctl start wildfly systemctl enable wildfly
Anda sekarang dapat memeriksa status layanan Wildfly dengan perintah berikut:
systemctl status wildfly
Anda akan mendapatkan output berikut:
? wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2019-09-10 00:19:27 EDT; 1s ago Main PID: 1142 (launch.sh) Tasks: 7 (limit: 1138) Memory: 24.7M CGroup: /system.slice/wildfly.service ??1142 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ??1143 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 ??1200 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true - Sep 10 00:19:27 debian systemd[1]: Started The WildFly Application Server.
Konfigurasi Otentikasi WildFly
Selanjutnya, Anda perlu membuat user administrator untuk mengakses konsol admin WildFly. Anda dapat membuatnya dengan perintah berikut:
/opt/wildfly/bin/add-user.sh
Anda akan melihat output berikut:
What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a): a
Ketik a dan tekan Enter untuk membuat Management user. Selama proses pembuatan user, Anda harus memberikan nama pengguna, kata sandi, dan nama grup seperti yang ditunjukkan di bawah ini:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : wildflyadmin Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password : Re-enter Password : What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: About to add user 'wildflyadmin' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'wildflyadmin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'wildflyadmin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'wildflyadmin' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'wildflyadmin' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? yes To represent the user add the following to the server-identities definition
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Konfigurasikan WildFly untuk Remote Akses
Secara default, Wildfly hanya dapat diakses dari sistem lokal. Jadi, Anda perlu mengkonfigurasinya untuk mengakses dari sistem jarak jauh. Anda dapat melakukannya dengan mengedit file /etc/wildfly/wildfly.conf:
nano /etc/wildfly/wildfly.conf
Tambahkan baris berikut di akhir file:
WILDFLY_CONSOLE_BIND=0.0.0.0
Simpan dan tutup file ketika Anda selesai. Kemudian, buka file /opt/wildfly/bin/launch.sh seperti yang ditunjukkan di bawah ini:
nano /opt/wildfly/bin/launch.sh
Ubah file seperti yang ditunjukkan di bawah ini:
if [ "x$WILDFLY_HOME" = "x" ]; then WILDFLY_HOME="/opt/wildfly" fi if [[ "$1" == "domain" ]]; then $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4 fi
Simpan dan tutup file. Kemudian, buka file /etc/systemd/system/wildfly.service.
nano /etc/systemd/system/wildfly.service
Ubah file seperti yang ditunjukkan di bawah ini:
[Unit] Description=The WildFly Application Server After=syslog.target network.target Before=httpd.service [Service] Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=-/etc/wildfly/wildfly.conf User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND StandardOutput=null [Install] WantedBy=multi-user.target
Simpan file dan buat direktori /var/run/wildfly
serta berikan izin yang tepat.
mkdir /var/run/wildfly/ chown wildfly:wildfly /var/run/wildfly/
Terakhir, restart systemd daemon dan layanan Wildfly untuk menerapkan perubahan:
systemctl daemon-reload systemctl restart wildfly
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Akses Web Interface Wildfly
Wildfly sekarang diinstal dan dikonfigurasi untuk mengakses dari sistem jarak jauh. Secara default, Wildfly management console listening pada port 9990. Anda dapat mengaksesnya dengan mengunjungi URL http://192.168.0.4:9990
. Anda akan diarahkan ke halaman berikut:
Sekarang, berikan nama pengguna dan kata sandi admin Anda, dan klik tombol Sign in. Anda akan melihat konsol manajemen Wildfly di layar berikut:
Anda juga dapat mengakses aplikasi Wildfly dengan mengunjungi URL http://192.168.0.4:8080. Anda akan melihat halaman berikut:
Konfigurasi Nginx sebagai Reverse proxy untuk Wildfly
Selanjutnya, Anda perlu mengkonfigurasi Nginx sebagai proxy terbalik ke permintaan proxy yang dilakukan pada port 80 hingga 8080.
Pertama, instal Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah Nginx diinstal, buat file server block baru untuk Nginx dengan perintah berikut:
nano /etc/nginx/sites-available/wildfly.conf
Tambahkan baris berikut:
upstream wildfly { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5; } server { listen 80; server_name 192.168.0.4; 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://wildfly/; } }
Simpan dan tutup file setelah Anda selesai. Kemudian, periksa Nginx untuk setiap kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, aktifkan virtual host Nginx dengan melakukan symlink dari sites-available
ke sites-enabled
dan restart Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/wildfly.conf /etc/nginx/sites-enabled/ systemctl restart nginx
Anda sekarang dapat mengakses aplikasi Wildfly tanpa menentukan port 8080.
Selamat!!!. Anda telah berhasil install dan konfigurasi Wildfly dengan Nginx sebagai reverse proxy pada Debian 10.