WildFly (formerly known as JBoss) is an application server written in Java and developed by Red Hat. It is an open source application server for JEE applications, it is fast and lightweight and particularly efficient for web and business applications.
I will take you through the steps to install Wildfly sur CentOS 8.
Install JAVA :
Java is required on the server to run Wildfly, Follow our guide to install it on CentOS 8.
Once installed you can check the version with the command below :
[root@server ~]# java -version openjdk version "11.0.12" 2021-07-20 LTS OpenJDK Runtime Environment 18.9 (build 11.0.12+7-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7-LTS, mixed mode, sharing)
Installer Wildfly :
Check this page to see the latest version of Wildfly.
[root@server ~]# wget https://download.jboss.org/wildfly/24.0.0.Final/wildfly-preview-24.0.0.Final.tar.gz --2021-09-02 13:02:03-- https://download.jboss.org/wildfly/24.0.0.Final/wildfly-preview-24.0.0.Final.tar.gz Resolving download.jboss.org (download.jboss.org)… 95.101.123.51, 95.101.123.88, 2a02:26f0:1d00::5f65:7b58, … Connecting to download.jboss.org (download.jboss.org)|95.101.123.51|:443… connected. HTTP request sent, awaiting response… 200 OK Length: 207638148 (198M) [application/x-gzip] Saving to: ‘wildfly-preview-24.0.0.Final.tar.gz’
Once downloaded, extract the file :
[root@server ~]# tar xvf wildfly-preview-24.0.0.Final.tar.gz [root@server ~]# ll total 202776 drwxr-xr-x. 11 wildfly wildfly 239 Jun 16 18:09 wildfly-preview-24.0.0.Final -rw-r--r--. 1 root root 207638148 Jun 16 21:17 wildfly-preview-24.0.0.Final.tar.gz
Déplacez le contenu du répertoire wildfly-preview-24.0.0.Final au /opt/wildfly :
Configure systemd for Wildfly :
We will now create a user and a group to start the Wildfly service :
[root@server ~]# groupadd --system wildfly [root@server ~]# useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Create the Wildfly configuration directory :
[root@server ~]# mkdir /etc/wildfly
Copy the Wildfly systemd, configuration and script file :
[root@server ~]# cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/ [root@server ~]# cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/ [root@server ~]# cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Change the owner of /etc/wildfly :
[root@server ~]# chown -R wildfly:wildfly /opt/wildfly
Restart the systemd service :
[root@server ~]# systemctl daemon-reload
SElinux Configuration :
[root@server ~]# semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?" [root@server ~]# restorecon -Rv /opt/wildfly/bin/
Start and enable the Wildfly service :
[root@server ~]# systemctl start wildfly [root@server ~]# systemctl enable wildfly
[root@server ~]# systemctl status wildfly ● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2021-09-02 13:51:17 EDT; 10min ago Main PID: 2837 (launch.sh) CGroup: /system.slice/wildfly.service ├─2837 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0 ├─2838 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 └─2921 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modu… Sep 02 13:51:17 server.stng.com systemd[1]: Started The WildFly Application Server.
Check if 8080 port is open with the netstat command :
[root@server ~]# netstat -tunelp | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 996 32767 2921/java
Or with the ss command :
[root@server ~]# ss -tunelp | grep 8080 tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=2921,fd=500)) uid:996 ino:32767 sk:ffff946834351740 <->
Add a Wildfly user :
Now we will create a Wildfly user who can access the administration console or remotely from the CLI, to do that, run the script below :
[root@server ~]# /opt/wildfly/bin/add-user.sh What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a):
The script asks you what type of user do you want to add, choose « a » since this is our first user.
Then enter in the username and password and answer « yes » for the following questions :
Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username : sysreseau 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 'sysreseau' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'sysreseau' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties' Added user 'sysreseau' to file '/opt/wildfly/domain/configuration/mgmt-users.properties' Added user 'sysreseau' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties' Added user 'sysreseau' 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 Jakarta Enterprise Beans calls. yes/no? yes To represent the user add the following to the server-identities definition
Access to the Wildfly administration console :
To can access the Wildfly script directly add the path « /opt/wildfly/bin/ » to the value $PATH :
[root@server ~]# cat >> ~/.bashrc <<EOF export WildFly_BIN="/opt/wildfly/bin/" export PATH=\$PATH:\$WildFly_BIN EOF
Connectez-vous avec la commande ci-dessous :
Login with the command below :
[root@server ~]# jboss-cli.sh --connect [standalone@localhost:9990 /]
Access the Wildfly administration console with the web interface :
By default, the console is only accessible from the localhost on port 9990 :
[root@server ~]# ss -tunelp | grep 9990 tcp LISTEN 0 50 127.0.0.1:9990 users:(("java",pid=2921,fd=493)) uid:996 ino:32770 sk:ffff946834353640 <
Edit the /opt/wildfly/bin/launch.sh file :
[root@server ~]# vim /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 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0 fi
Add « -bmanagement = 0.0.0.0 » as mentioned above :
Then restart the Wildfly service :
[root@server ~]# systemctl restart wildfly
[root@server ~]# ss -tunelp | grep 9990 tcp LISTEN 0 50 *:9990 *:* users:(("java",pid=3382,fd=404)) uid:996 ino:46018 sk:ffff946834350f80 <->
As you can see, the console is now listening on all ports :
Open port 9990 and 8080 on the firewall:
[root@server ~]# firewall-cmd --permanent --add-port={8080,9990}/tcp [root@server ~]# firewall-cmd --reload
Open your browser and type the server’s IP address and port 9990, then type your login and password created previously :
And here is your Wildfly is well installed and our beautiful console is easily accessible.
nmap : les 12 commandes que vous devez connaître
Netstat : Les 14 commandes les plus utilisées
Protocole du routage
Le load balancing ( Répartition de charge )
Fail2Ban : How to protect Linux services