Comment installer WildFly Java Application Server avec Nginx Reverse Proxy sur Ubuntu 20.04

WildFly ou précédemment connu sous le nom de JBoss AS est une implémentation légère du conteneur JEE (Java Enterprise Edition). Son runtime d’application flexible est écrit en Java et t’aide à créer des applications fantastiques.

WildFly est un moteur d’exécution d’applications multiplateforme fonctionnant sur les systèmes d’exploitation Linux, macOS et Windows. Créé par JBoss Inc, il a été racheté en 2006 par RedHat et est devenu WildFly.

Dans ce tutoriel, nous allons te montrer comment installer WildFly sur la dernière version d’Ubuntu 20.04. Nous installerons la dernière version de WildFly 20, activerons la console d’administration pour WildFly, créerons l’utilisateur administrateur de WildFly et configurerons Nginx comme proxy inverse pour WildFly.

Conditions préalables

Pour ce guide, nous installerons WildFly sur la dernière version du serveur Ubuntu 20.04 FocalFossa avec 2 Go de RAM, 50 Go d’espace disque libre et 2 processeurs.

Que ferons-nous ?

  • Installer Java OpenJDK 11
  • Ajouter un nouvel utilisateur et télécharger WildFly
  • Configuration de base de WildFly
  • Active la console d’administration WildFly
  • Configurer l’utilisateur Admin pour WildFly
  • Configurer Nginx comme proxy inverse pour WildFly
  • Test de

Étape 1 – Installer Java OpenJDK

Tout d’abord, nous allons installer le Java OpenJDK sur le serveur Ubuntu 20.04. Et nous utiliserons le Java OpenJDK 11 pour notre installation WildFly, qui est la version par défaut des paquets Java sur le référentiel Ubuntu 20.04.

Mets à jour tous les dépôts de paquets et installe Java OpenJDK en utilisant la commande apt ci-dessous.

sudo apt update
sudo apt install default-jdk

Une fois l’installation terminée, vérifie la version de Java à l’aide de la commande suivante.

java -version

Voici le résultat que tu obtiendras.

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

En conséquence, l’installation de Java OpenJDK sur Ubuntu 20.04 est terminée.

Étape 2 – Ajouter un nouvel utilisateur et télécharger WildFly

Dans cette étape, nous allons créer un nouvel utilisateur système et un groupe ‘wildfly’ et télécharger le code source de wildfly dans le répertoire ‘/opt/wildfly’.

Crée maintenant un nouvel utilisateur et un nouveau groupe nommés ‘wildfly’ à l’aide des commandes ci-dessous.

groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Ensuite, va dans le répertoire ‘/opt’ et télécharge le code source de wildfly à l’aide de la commande wget comme ci-dessous.

cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz

Le code source de wildfly a été téléchargé.

Maintenant, extrais le code source de wildfly et renomme le répertoire extrait en ‘wildfly’.

tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly

Ensuite, change la propriété du répertoire ‘wildfly’ pour l’utilisateur et le groupe ‘wildfly’.

chown -RH wildfly:wildfly /opt/wildfly

Ainsi, le répertoire d’installation de wildfly se trouve dans le répertoire ‘/opt/wildfly’. Le service wildfly fonctionnera sous le nouvel utilisateur nommé ‘wildfly’ que nous venons de créer en haut.

Crée un nouvel utilisateur et télécharge le code source de WildFly

Étape 3 – Configuration de base de WildFly

Après avoir téléchargé le code source de wildfly, nous allons configurer wildfly sur le système Ubuntu.

Crée un nouveau répertoire de configuration ‘/etc/wildfly’ et copie l’exemple de configuration ‘wildfly.conf’ dans ce répertoire.

mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

Ensuite, copie le fichier de service ‘wildfly.service’ dans le répertoire ‘/etc/systemd/system’.

cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Ensuite, copie l’exemple de script de lancement de wildfly dans le répertoire ‘/opt/wildfly/bin’ et rends-le exécutable.

cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh

Recharge maintenant le gestionnaire systemd pour appliquer le nouveau fichier ‘wildfly.service’.

systemctl daemon-reload

Démarre le service wildfly et ajoute-le au démarrage du système.

systemctl start wildfly
systemctl enable wildfly

Le service wildfly est en place et fonctionne sur le système Ubuntu avec la configuration par défaut.

Configuration de base de WildFly

Vérifie le service wildfly à l’aide de la commande suivante.

ss -plnt
systemctl status wildfly

Tu obtiendras le résultat ci-dessous.

Démarre WildFly comme un service Systemd

Port de contrôle WildFly

Comme tu peux le voir, wildfly fonctionne comme un service systemd sur le port TCP par défaut ‘8080’ sur le système Ubuntu.

Étape 4 – Activer la console d’administration WildFly

Dans cette étape, nous allons configurer un Wildfly pour qu’il fonctionne sur l’adresse IP locale ‘127.0.0.1’ et activer sa console d’administration. Nous allons modifier la configuration de wildfly ‘wildfly.conf’, le script de démarrage de wildfly ‘launch.sh’ et le fichier de service de wildfly ‘wildfly.service’.

Modifie la configuration de wildfly ‘/etc/wildfly/wildfly.conf’ en utilisant l’éditeur vim.

vim /etc/wildfly/wildfly.conf

Change maintenant la valeur de ‘WILDFLY_BIND’ avec l’adresse IP locale ‘127.0.0.1’.

WILDFLY_BIND=127.0.0.1

Pour activer la console d’administration de Wildfly, ajoute la configuration ‘WILDFLY_CONSOLE_BIND’ ci-dessous.

WILDFLY_CONSOLE_BIND=127.0.0.1

Sauvegarde et ferme.

Ensuite, modifie le script de lancement de wildfly ‘/opt/wildfly/bin/launch.sh’ en utilisant l’éditeur vim.

vim /opt/wildfly/bin/launch.sh

Sur les lignes‘domain.sh‘ et‘standalone.sh‘, ajoute une option supplémentaire pour activer la console d’administration de wildfly comme ci-dessous.

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

Sauvegarde et ferme.

Ensuite, modifie le fichier de service par défaut pour wildfly ‘/etc/systemd/system/wildfly.service’ en utilisant l’éditeur vim.

vim /etc/systemd/system/wildfly.service

Sur la ligne‘ExecStart=/opt/wildfly/bin/launch.sh…. ajoute l’option‘$WILDFLY_CONSOLE_BIND‘ comme ci-dessous.

ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND

Sauvegarde et ferme.

Recharge maintenant le gestionnaire systemd et redémarre le service wildfly.

systemctl daemon-reload
systemctl restart wildfly

Console d'administration WildFly Enable

Le service wildfly fonctionne avec la console d’administration activée, vérifie en utilisant la commande ci-dessous.

ss -plnt
systemctl status wildfly

Voici le résultat que tu obtiendras.

Port de contrôle et service WildFly

En conséquence, wildfly fonctionne sur l’adresse IP locale‘127.0.0.1‘ avec le port TCP par défaut‘8080‘, et la console d’administration wildfly est activée sur le port TCP‘9990‘.

Étape 5 – Configurer l’utilisateur Admin WildFly

Dans cette étape, nous allons créer un nouvel utilisateur pour gérer wildfly à l’aide du script ‘add-user.sh’ fourni par wildfly.

Exécute le script wildfly ‘add-user.sh’ comme ci-dessous.

sh /opt/wildfly/bin/add-user.sh

Pour le type d’utilisateur, tape‘a‘ pour créer l’utilisateur de gestion (admin pour gérer wildfly).

What type of user do you wish to add? 
 a) Management User (mgmt-users.properties)
 b) Application User (application-users.properties)
(a): a

Tape maintenant ton nom d’utilisateur et ton mot de passe, et assure-toi d’utiliser le mot de passe sécurisé.

Enter the details of the new user to add.
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :

Pour le groupe du nouvel utilisateur, appuie simplement sur‘Enter‘ pour continuer.

What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[  ]:

Ensuite, tape‘yes‘ pour ajouter ton utilisateur au‘ManagementRealm‘ de wildfly.

About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups  to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'

Tape‘oui‘ pour activer ton utilisateur en tant que processus de gestion du contrôleur hôte maître-esclave de wildfly.

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="YXNoN2RhNjVzZyMkJQ==" />

Par conséquent, l’utilisateur d’administration et de gestion pour wildfly a été créé.

Étape 6 – Configurer Nginx comme proxy inverse pour WildFly

Dans cette étape, nous allons installer et configurer Nginx comme proxy inverse pour wildfly sur le système Ubuntu.

Installe les paquets Nginx à l’aide de la commande apt ci-dessous.

sudo apt install nginx -y

Une fois l’installation terminée, va dans le répertoire de configuration ‘/etc/nginx/’.

cd /etc/nginx/

Crée un nouveau fichier ‘proxy_headers.conf’ dans le répertoire ‘/etc/nginx/conf.d’ en utilisant l’éditeur vim.

vim conf.d/proxy_headers.conf

Colle la configuration suivante.

proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;

Sauvegarde et ferme.

Ensuite, crée une nouvelle configuration d’hôte virtuel pour wildfly dans le répertoire ‘/etc/nginx/sites-available’.

vim sites-available/wildfly

Change l’adresse IP avec la tienne et colle la configuration dans ce répertoire.

server {
  listen          80;
  server_name     SERVER-IP;

  location / {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:8080;
  }

  location /management {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/management;
  }

  location /console {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/console;
  }

  location /logout {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990/logout;
  }

  location /error {
    include conf.d/proxy_headers.conf;
    proxy_pass http://127.0.0.1:9990;
  }

}

Sauvegarde et ferme.

Ensuite, active l’hôte virtuel wildfly et vérifie la configuration de Nginx.

ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t

Assure-toi qu’il n’y a pas d’erreur, puis redémarre le service Nginx.

systemctl restart nginx

L’installation et la configuration de Nginx en tant que proxy inverse pour wildfly sont terminées.

Configurer Nginx comme un Reverse proxy pour WildFly

Étape 7 – Test

Ouvre ton navigateur Web et tape l’adresse IP de ton serveur dans la barre d’adresse.

http://192.168.1.50/

Tu obtiendras maintenant la page d’index par défaut de wildfly comme ci-dessous.

Index par défaut de WildFly

Ensuite, accède à la console d’administration de wildfly sur le chemin URL ‘/console’ comme ci-dessous.

http://192.168.1.50/console/

Connecte-toi en utilisant ton utilisateur et ton mot de passe wildfly admin.

WildFly Login Admin

Tu obtiendras alors le tableau de bord d’administration de wildfly comme ci-dessous.

Tableau de bord de la console d'administration WildFly

Par conséquent, l’installation de wildfly avec le proxy inverse Nginx sur le serveur Ubuntu 20.04 a été effectuée avec succès.

Vous aimerez aussi...