WildFly (anciennement connu sous le nom de JBoss) est un serveur d’applications écrit en Java et développé par Red Hat. Il s’agit d’un serveur d’application open source pour les application JEE, il est rapide et légère et particulièrement performant pour les applications web et d’entreprises.
Nous allons voir dans cet article comment installer Wildfly sur CentOS 8.
Installer JAVA :
Java est requis sur le serveur pour exécuter Wildfly. Suivez ce guide pour l’installer sur CentOS 8.
Une fois installé vous pouvez vérifier la version avec la commande ci-dessous :
[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 :
Vérifier cette page pour voir la dernière version de 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’
Une fois téléchargé, extrayez le fichier :
[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 :
Configurez systemd pour Wildfly
Nous allons maintenant créer un utilisateur et un group pour lancer le service wildfly
[root@server ~]# groupadd --system wildfly [root@server ~]# useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Créer le répertoire de configuration de wildfly :
[root@server ~]# mkdir /etc/wildfly
Copiez le fichier systemd, configuration et scripte de Wildfly :
[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/
Changez le propriétaire de /etc/wildfly :
[root@server ~]# chown -R wildfly:wildfly /opt/wildfly
Redémarrez le service systemd :
[root@server ~]# systemctl daemon-reload
Configuration de SElinux :
[root@server ~]# semanage fcontext -a -t bin_t "/opt/wildfly/bin(/.*)?" [root@server ~]# restorecon -Rv /opt/wildfly/bin/
Démarrez le service Wildfly et mettez le en enable :
[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.
Vérifiez si le port 8080 est bien ouvert avec la commande netstat :
[root@server ~]# netstat -tunelp | grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 996 32767 2921/java
Ou bien avec la commande ss :
[root@server ~]# ss -tunelp | grep 8080
tcp LISTEN 0 128 *:8080 *:* users:(("java",pid=2921,fd=500)) uid:996 ino:32767 sk:ffff946834351740 <->
Ajouter un utilisateur Wildfly
Nous allons maintenant crée un utilisateur Wildfly qui peut accéder à la console d’administration ou bien à distance depuis le CLI. Pour cela exécuter le script ci-dessous :
[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):
Le script vous demande quel type d’utilisateur souhaitez-vous ajouter, choisissez « a » vu que c’est notre premier utilisateur :
Taper ensuite le nom d’utilisateur et le mot de passe et répondez par « yes » pour les question qui suivent
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
Accédez à la console Wildfly d’aministration :
Pour que vous puissiez accéder au script Wildfly directement ajouter le chemin « /opt/wildfly/bin/ » à la valeur $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 :
[root@server ~]# jboss-cli.sh --connect [standalone@localhost:9990 /]
Accéder à la consol d’administration Wildfly par l’interface web :
Par défaut la console est accessible uniquement depuis le localhost sur le 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 <
Editez le fichier /opt/wildfly/bin/launch.sh :
[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
Ajouter « -bmanagement=0.0.0.0 » comme mentionné ci-dessous.
Redémarrez ensuite le service wldfly :
[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 <->
Comme vous pouvez le constater, la console écoute maintenant sur tous les ports :
Ouvrez le port 9990 et 8080 sur le firewall :
[root@server ~]# firewall-cmd --permanent --add-port={8080,9990}/tcp [root@server ~]# firewall-cmd --reload
Ouvrez votre navigateur et taper l’adresse IP su serveur et le port 9990, taper ensuite votre login et mot de passe créé précédemment:
Et voila votre Wildfly est bien installé et notre belle console est bien accessible.
Installation d’un certificat SSL sur un serveur Nginx
tar: Les 14 commandes les plus utilisé
Kubernetes : Le Scheduler ( Partie 2)
Comment vérifier les ports ouverts sur Linux
Fail2Ban : How to protect Linux services