WildFly, sebelumnya dikenal sebagai JBoss adalah runtime aplikasi open-source lintas platform yang ditulis dalam Java yang membantu Anda membangun aplikasi yang luar biasa. WildFly fleksibel, ringan, dan didasarkan pada subsistem pluggable yang dapat ditambahkan atau dihapus sesuai kebutuhan.
Tutorial ini menjelaskan cara menginstal server aplikasi WildFly di CentOS 7.
Prasyarat #
Anda harus masuk sebagai pengguna dengan akses sudo untuk dapat menginstal paket pada sistem CentOS Anda.
Langkah 1:Instal Java OpenJDK #
WildFly 9 membutuhkan Java SE 8 atau yang lebih baru. Dalam tutorial ini kita akan menginstal OpenJDK, implementasi open-source Platform Java yang merupakan pengembangan dan runtime Java default di CentOS 7.
Instal paket OpenJDK dengan menjalankan:
sudo yum install java-1.8.0-openjdk-devel
Langkah 2:Buat Pengguna #
Menjalankan WildFly sebagai pengguna root adalah risiko keamanan dan tidak dianggap sebagai praktik terbaik.
Untuk membuat pengguna dan grup sistem baru dengan nama wildfly
dengan direktori home /opt/wildfly
jalankan:
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 berikutnya Anda harus memeriksa halaman unduh untuk versi baru. Jika ada versi baru ganti WILDFLY_VERSION
variabel dalam perintah di bawah ini.
Unduh arsip WildFly di /tmp
direktori menggunakan wget
berikut ini perintah:
WILDFLY_VERSION=16.0.0.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp
Ketika unduhan selesai, ekstrak file tar.gz dan pindahkan ke /opt
direktori:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Selanjutnya, buat tautan simbolikwildfly
yang akan menunjuk ke direktori instalasi WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly akan berjalan di bawah wildfly
pengguna yang perlu memiliki akses ke direktori instalasi WildFly.
Ubah kepemilikan direktori menjadi pengguna dan grup wildfly
dengan perintah chown berikut:
sudo chown -RH wildfly: /opt/wildfly
Langkah 4:Konfigurasi Systemd #
Paket WildFly menyertakan file yang diperlukan untuk menjalankan WildFly sebagai layanan.
Mulailah dengan membuat direktori yang akan menampung file konfigurasi WildFly:
sudo mkdir -p /etc/wildfly
Salin file konfigurasi ke /etc/wildfly
direktori:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
File ini memungkinkan Anda untuk menentukan mode WildFly dan alamat pengikatan. Secara default, WildFly akan berjalan dalam mode mandiri dan akan mendengarkan di semua antarmuka. Anda dapat mengedit file sesuai dengan kebutuhan Anda.
/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 launch.sh
WildFly skrip ke /opt/wildfly/bin/
direktori:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Script di dalam bin
direktori harus memiliki flag yang dapat dieksekusi:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
Salin file unit systemd yang diberi nama ke /etc/systemd/system/
direktori:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Beri tahu systemd bahwa kami membuat file unit baru:
sudo systemctl daemon-reload
Mulai layanan WildFly dan aktifkan untuk dimulai secara otomatis saat boot dengan menjalankan:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Verifikasi bahwa layanan sedang berjalan:
sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago
Main PID: 3680 (launch.sh)
CGroup: /system.slice/wildfly.service
Langkah 5:Sesuaikan Firewall #
Jika server Anda dilindungi oleh firewall dan Anda ingin mengakses instance WildFly dari luar jaringan lokal, Anda juga perlu membuka port 8080.
Gunakan perintah berikut untuk membuka port yang diperlukan:
Saat menjalankan aplikasi WildFly di lingkungan produksi, kemungkinan besar Anda akan memiliki penyeimbang beban atau proxy terbalik dan ini adalah praktik terbaik untuk membatasi akses ke port 8080 hanya ke jaringan internal Anda.sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
Langkah 6:Konfigurasikan WildFly Authentication #
Setelah WildFly diinstal dan dijalankan, langkah selanjutnya adalah membuat pengguna yang dapat terhubung menggunakan konsol administrasi atau dari jarak jauh menggunakan CLI.
Untuk menambahkan pengguna baru gunakan add-user.sh
skrip yang terletak di direktori bin WildFly:
sudo /opt/wildfly/bin/add-user.sh
Anda akan ditanya jenis pengguna 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 untuk memasukkan detail pengguna baru:
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : linuxize
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 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' 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 digunakan untuk otentikasi.
Langkah 6:Uji Instalasi WildFly #
Untuk mengakses halaman WildFly default, buka browser Anda dan ketik:http://<your_domain_or_IP_address>:8080
Dengan asumsi instalasi berhasil, layar yang mirip dengan berikut akan muncul:
Langkah 7:Akses Konsol Administrasi WildFly #
Antarmuka Baris Perintah #
Untuk mengakses Konsol Administrasi WildFly dari baris perintah, Anda dapat menggunakan jboss-cli.sh
naskah.
Arahkan ke direktori bin WildFly dan jalankan skrip dengan --connect
pilihan:
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: linuxize
Password:
Setelah Anda masuk, prompt konsol akan berubah menjadi [standalone@localhost:9990 /]
. Ketik help
untuk mendapatkan daftar perintah dan sintaks perintah.
Dari sini, Anda dapat menerapkan dan membatalkan penerapan aplikasi Anda, 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 pengguna yang telah Anda buat di langkah 6.
Jika Anda ingin mengakses konsol dari lokasi yang jauh, Anda perlu membuat 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.
# 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:
#!/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
Mulai ulang layanan agar perubahan diterapkan:
sudo systemctl restart wildfly
Buka wildfly.service
dan edit baris yang disorot:
[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 /var/run/wildfly
direktori dan atur 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
Mulai ulang layanan WildFly dengan menjalankan:
sudo systemctl restart wildfly
Dengan asumsi bahwa port 9990
tidak diblokir di firewall Anda, Anda seharusnya dapat mengakses konsol administrasi WildFly di http://<your_domain_or_IP_address>:9990/console
.