WildFly, sebelumnya dikenal sebagai JBoss adalah aplikasi runtime open source lintas platform yang ditulis dalam bahasa pemrograman Java yang membantu Anda membangun aplikasi. WildFly merupakan aplikasi yang fleksibel, ringan, dan didasarkan pada subsistem pluggable yang dapat ditambahkan atau dihapus sesuai kebutuhan.
Tutorial ini akan menunjukkan kepada Anda bagaimana menginstal server aplikasi WildFly di CentOS 7.
Prasyarat
Agar dapat menginstal paket pada sistem CentOS, Anda harus masuk sebagai pengguna dengan hak istimewa sudo.
Langkah 1: Install Java OpenJDK
WildFly membutuhkan Java SE 8 atau yang lebih baru. Kita akan menginstal OpenJDK, yang merupakan pengembangan dan runtime Java default di CentOS 7.
sudo yum install java-1.8.0-openjdk-devel
Langkah 2: Buat User WildFly
Kita akan membuat user sistem baru dan grup bernama wildfly dengan direktori home /opt/wildfly
yang akan menjalankan layanan WildFly:
sudo groupadd -r wildfly sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
Langkah 3: Instal WildFly
Pada saat penulisan, versi terbaru WildFly adalah 16.0.0
. Sebelum melanjutkan dengan langkah selanjutnya Anda harus memeriksa halaman download untuk versi baru. Jika ada versi baru ganti variabel WILDFLY_VERSION
dalam perintah di bawah ini.
Unduh arsip WildFly di direktori /tmp
menggunakan perintah wget
berikut:
WILDFLY_VERSION=16.0.0.Final wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
Setelah unduhan selesai, ekstrak file tar.gz dan pindahkan ke direktori /opt
:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Buat symbolic link wildfly
yang akan menunjuk ke direktori instalasi WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly akan berjalan di bawah userwildfly
yang perlu memiliki akses ke direktori instalasi WildFly.
Perintah berikut akan mengubah kepemilikan direktori menjadi pengguna dan grup wildfly
:
sudo chown -RH wildfly: /opt/wildfly
Langkah 4: Konfigurasikan Systemd
Paket WildFly termasuk file yang diperlukan untuk menjalankan WildFly sebagai layanan.
Mulailah dengan membuat direktori yang akan menyimpan file konfigurasi WildFly:
sudo mkdir -p /etc/wildfly
Salin file konfigurasi ke direktori /etc/wildfly
:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
File ini memungkinkan Anda untuk menentukan mode WildFly dan bind address. Secara default, WildFly akan berjalan dalam mode standalone dan akan listen pada semua interface. Anda dapat mengedit file sesuai dengan kebutuhan Anda.
sudo nano /etc/wildfly/wildfly.conf
# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0
Selanjutnya salin skrip WildFly launch.sh
ke direktori /opt/wildfly/bin/
:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Script di dalam direktori bin
harus memiliki flag yang dapat dieksekusi:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Langkah terakhir adalah menyalin file unit systemd yang dinamai ke direktori /etc/systemd/system/
:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Reload systemd agar dapat mengetahui konfigurasi yang baru:
sudo systemctl daemon-reload
Mulai layanan WildFly dengan menjalankan:
sudo systemctl start wildfly
Periksa status layanan dengan perintah berikut:
sudo systemctl status wildfly
* wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: enabled) Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago Main PID: 10005 (launch.sh) Tasks: 62 (limit: 2319) CGroup: /system.slice/wildfly.service
Aktifkan layanan untuk dimulai secara otomatis saat boot:
sudo systemctl enable wildfly
Langkah 5: Konfigurasi Firewall untuk Wildfly
Jika server Anda dilindungi oleh firewall dan Anda ingin mengakses antarmuka WildFly dari luar jaringan lokal, Anda perlu membuka port 8080
.
Untuk mengizinkan lalu lintas di port 8080
ketik perintah berikut:
sudo ufw allow 8080/tcp
Saat menjalankan aplikasi WildFly di lingkungan produksi, Anda dapat menggunakan load balancer atau reverse proxy untuk membatasi akses ke port 8080
hanya ke jaringan internal Anda.
Langkah 6: Konfigurasikan Otentikasi WildFly
Sekarang WildFly telah terinstal dan langkah selanjutnya adalah membuat user yang akan dapat terhubung menggunakan konsol administrasi atau menggunakan CLI dari jarak jauh.
Untuk menambah pengguna baru gunakan skrip add-user.sh
yang terletak di direktori bin WildFly:
sudo /opt/wildfly/bin/add-user.sh
Anda juga akan ditanya jenis user apa yang ingin Anda tambahkan:
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
Pilih a
dan tekan Enter
:
Selanjutnya, skrip akan meminta Anda memasukkan detail untuk user baru:
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : linuxid 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 'linuxid' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'linuxid' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'linuxid' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties' Added user 'linuxid' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'linuxid' with groups to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />
Pengguna baru akan ditambahkan ke file properti yang akan digunakan untuk otentikasi.
Langkah 6: Uji Instalasi WildFly
Untuk mengakses halaman WildFly default, buka browser Anda dan ketik: http://<domain_atau_alamat_IP>:8080
Dengan asumsi instalasi berhasil, tampilan yang mirip dengan berikut ini akan muncul:
Langkah 7: Akses Konsol Administrasi WildFly
Command-Line Interface
Untuk mengakses Konsol Administrasi WildFly dari baris perintah, Anda dapat menggunakan skrip jboss-cli.sh
.
Pindah ke direktori bin
WildFly dan jalankan skrip dengan opsi --connect
:
cd /opt/wildfly/bin/./jboss-cli.sh --connect
Anda akan diminta untuk memasukkan nama pengguna dan kata sandi administratif Anda (dibuat pada langkah 6):
Authenticating against security realm: ManagementRealm
Username: linuxid
Password:
Setelah Anda masuk, prompt konsol akan berubah menjadi [standalone@localhost:9990 /]
. Ketik help
untuk mendapatkan daftar perintah dan sintaksis perintah.
Dari sini Anda dapat deploy dan undeploy aplikasi, mengelola pengguna dan grup, serta mengonfigurasi dan memantau server WildFly.
Antarmuka Web
Jika Anda lebih suka mengelola server Anda dari GUI, WildFly juga menyediakan konsol berbasis web.
Secara default, konsol administrasi WildFly hanya tersedia dari localhost di http://localhost:9990/console
. Masuk menggunakan user yang Anda buat di langkah 6.
Jika Anda ingin mengakses konsol dari lokasi mana saja, Anda harus melakukan sedikit modifikasi pada wildfly.service
, wildfly.conf
dan launch.sh
file.
Buka wildfly.conf
dan tambahkan WILDFLY_CONSOLE_BIND = 0.0.0.0
di akhir file.
sudo nano /etc/wildfly/wildfly.conf
# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0 # The address console to bind to WILDFLY_CONSOLE_BIND=0.0.0.0
Buka launch.sh
dan edit baris yang disorot:
sudo nano /opt/wildfly/bin/launch.sh
#!/bin/bash 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
Restart wildfly agar perubahan diterapkan:
sudo systemctl restart wildfly
Buka wildfly.service
dan edit garis yang disorot:
sudo nano /etc/systemd/system/wildfly.service
[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
Buat direktori /var/run/wildfly
dan tetapkan izin yang benar:
sudo mkdir /var/run/wildfly/sudo chown wildfly: /var/run/wildfly/
Beri tahu systemd bahwa file unit telah diubah:
sudo systemctl daemon-reload
Restart layanan WildFly dengan menjalankan:
sudo systemctl restart wildfly
Dengan anggapan bahwa port 9990
tidak diblokir di firewall, Anda dapat mengakses konsol administrasi WildFly di http://<domain_atau_alamat_IP>:9990/console.
Kesimpulan
Anda telah berhasil menginstal WildFly pada sistem CentOS 7. Anda sekarang dapat mengunjungi Dokumentasi resmi WildFly dan mempelajari lebih lanjut tentang fitur WildFly.