WildFly, anteriorment conegut com JBoss AS, és un servidor d’aplicacions Java multiplataforma i de codi obert. Amb una arquitectura orientada a serveis, ofereix una plataforma d’alt rendiment escalable i lleugera. També es caracteritza per la seva configuració ràpida i senzilla.

A continuació, t’explicarem pas a pas com instal·lar Wildfly en la versió 15.0.1 en un Ubuntu 18.04.

Instal·lació

El primer que hem de fer és instal·lar el client JDK i actualitzar tot el servidor:

apt-get install default-jdk -y
apt-get install software-properties-common
apt update -y && sudo apt upgrade -y
add-apt-repository ppa:linuxuprising/java
apt-get update
java -version

Després situem el directori /opt i ens descarreguem Wildfly des de la pròpia web de JBOSS.

cd /opt/
wget https://download.jboss.org/wildfly/15.0.1.Final/wildfly-15.0.1.Final.tar.gz
tar -xvzf wildfly-15.0.1.Final.tar.gz

Editem el fitxer per a canviar les dades de connexió, ja que per defecte les dades de connexió apunten a la IP 127.0.0.1.

vim /opt/wildfly-15.0.1.Final/standalone/configuration/standalone.xml

Canviem la IP 127.0.0.1 per la IP que correspon per al nostre servidor.

Creació d’un usuari

Ara hem de crear un usuari llançant un script propi de WildFly

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

Ens farà una sèrie de qüestions que hem de respondre per a crear un usuari ADMINISTRADOR del lloc WEB. Et destaquem les respostes:

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

Enter the details of the new user to add.
Using realm ‘ManagementRealm’ as discovered from the existing property files.
Username : wildflyadmin
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)[ ]: wildfly
About to add user ‘wildflyadmin’ for realm ‘ManagementRealm’
Is this correct yes/no? yes
Added user ‘wildflyadmin’ to file ‘/opt/wildfly/standalone/configuration/mgmt-users.properties’
Added user ‘wildflyadmin’ to file ‘/opt/wildfly/domain/configuration/mgmt-users.properties’
Added user ‘wildflyadmin’ with groups wildfly to file ‘/opt/wildfly/standalone/configuration/mgmt-groups.properties’
Added user ‘wildflyadmin’ with groups wildfly 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 EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value=”xxxxx” />

Ara ja podem arrencar el servei del WildFly amb el següent script:

./wildfly-15.0.1.Final/bin/standalone.sh

Prova Wildfly en el navegador

Ja podem navegar fins a la pàgina del Wildfly.

Com a URL podem utilitzar el nom de host o l’adreça IP del servidor seguit pel port 9990.

Crear un servei

Per a crear un servei d’arrencada, parada o reinici en el propi Ubuntu del WildFly, ho podem fer copiant els propis fitxers que porta WildFly

Copiem, depenent si la distribució és DEBIAN o REDHAT, el fitxer wildfly-init en la ruta /etc/init.d

Copiamos el fichero que nos interese en /etc/init.d

root@ubuntu:/# ll /opt/wildfly-15.0.1.Final/docs/contrib/scripts/init.d/
total 28
drwxr-xr-x 2 wildfly wildfly 4096 Feb 12 11:44 ./
drwxr-xr-x 5 wildfly wildfly 4096 Feb 12 11:44 ../
-rw-r–r– 1 wildfly wildfly 975 Jan 5 19:10 wildfly.conf
-rwxr-xr-x 1 wildfly wildfly 7425 Jan 5 19:10 wildfly-init-debian.sh*
-rwxr-xr-x 1 wildfly wildfly 6172 Jan 5 19:10 wildfly-init-redhat.sh*
root@ubuntu:/#

cp /opt/wildfly-15.0.1.Final/docs/contrib/scripts/init.d/wildfly-init-debian.sh /etc/init.d/wildfly

Actualitzem l’inici update-rc.d

update-rc.d wildfly defaults

Copiem el fitxer de configuració del servei de WildFly

cp /opt/wildfly-

15.0.1.Final/docs/contrib/scripts/init.d/wildfly.conf  /etc/default/wildfly

Actualitzem el fitxer de configuració del servei per a descomentar les següents línies:

nano /etc/default/wildfly

JBOSS_HOME=”/opt/wildfly”
JBOSS_USER=wildfly
JBOSS_MODE=standalone
JBOSS_CONFIG=standalone.xml
STARTUP_WAIT=60
SHUTDOWN_WAIT=60
JBOSS_CONSOLE_LOG=”/var/log/wildfly/console.log”

Al final, el fitxer quedarà així:

#################################################
# General configuration for the init.d scripts,                                                 #
# not necessarily for WildFly itself.                                                             #
# default location: /etc/default/wildfly                                                         #
#################################################

## Location of JDK
# JAVA_HOME=”/usr/lib/jvm/default-java”

## Location of WildFly
JBOSS_HOME=”/opt/wildfly”

## The username who should own the process.
JBOSS_USER=wildfly

## The mode WildFly should start, standalone or domain
JBOSS_MODE=standalone

## Configuration for standalone mode
JBOSS_CONFIG=standalone.xml

## Configuration for domain mode
# JBOSS_DOMAIN_CONFIG=domain.xml
# JBOSS_HOST_CONFIG=host-master.xml

## The amount of time to wait for startup
STARTUP_WAIT=60

## The amount of time to wait for shutdown
SHUTDOWN_WAIT=60

## Location to keep the console log
JBOSS_CONSOLE_LOG=”/var/log/wildfly/console.log”

## Additionals args to include in startup
# JBOSS_OPTS=”–admin-only -b 127.0.0.1″

Com hem indicat una ruta que no és vàlida (/opt/wildfly), hem de crear un link simbòlic i crear un usuari per a afegir a aquesta nova ruta

cd /opt
ln -s wildfly-15.0.1.Final wildfly

Creem la carpeta per a els Logs

mkdir -p /var/log/wildfly

Creem l’usuari wildfly i ho afegim al grup

root@ubuntu:/opt# adduser –system –no-create-home –group wildfly
Adding system user `wildfly’ (UID 111) …
Adding new group `wildfly’ (GID 114) …
Adding new user `wildfly’ (UID 111) with group `wildfly’ …
Not creating home directory `/home/wildfly’.
root@ubuntu:/opt#

Canviem els permisos de les carpetes perquè pugui executar el servei l’usuari wildfly

chown -R wildfly:wildfly /opt/wildfly*
chown -R wildfly:wildfly /var/log/wildfly

root@ubuntu:~# ll /opt/
total 175260
drwxr-xr-x 3 root root 4096 Feb 12 14:05 ./
drwxr-xr-x 23 root root 4096 Feb 2 06:37 ../
lrwxrwxrwx 1 wildfly wildfly 20 Feb 12 14:05 wildfly -> wildfly-15.0.1.Final/
drwxr-xr-x 12 wildfly wildfly 4096 Jan 5 19:10 wildfly-15.0.1.Final/
-rw-r–r– 1 wildfly wildfly 179449615 Jan 7 00:51 wildfly-15.0.1.Final.tar.gz
root@ubuntu:~#

Ara podem arrencar i parar el servei des de la shell amb un service wildfly start/stop/status

I podem consultar els LOGs en la carpeta /var/log/wildfly/console.log

root@ubuntu:~# tail -f /var/log/wildfly/console.log

14:10:26,084 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) WFLYJCA0001: Bound data source [java:jboss/datasources/ExampleDS]
14:10:26,255 INFO [org.jboss.as.patching] (MSC service thread 1-1) WFLYPAT0050: WildFly Full cumulative patch ID is: base, one-off patches include: none
14:10:26,324 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-7) WFLYDS0013: Started FileSystemDeploymentService for directory /opt/wildfly-15.0.1.Final/standalone/deployments
14:10:26,564 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0006: Undertow HTTPS listener https listening on 172.16.131.29:8443
14:10:26,747 INFO [org.jboss.ws.common.management] (MSC service thread 1-6) JBWS022052: Starting JBossWS 5.2.4.Final (Apache CXF 3.2.5.jbossorg-1)
14:10:26,824 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
14:10:26,826 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://172.16.131.29:9990/management
14:10:26,827 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://172.16.131.29:9990
14:10:26,827 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 15.0.1.Final (WildFly Core 7.0.0.Final) started in 7909ms – Started 309 of 530 services (321 services are lazy, passive or on-demand)

Configuració Certificat WildCard

Per a configurar un certificat WILDCARD a aquest lloc web i utilitzar SSL amb el protocol HTTPS, podem configurar-lo en el propi JBOSS. Per a això necessitem un certificat en format JKS (clau privada i publica) i i indicar-li la ruta en el propi JBOSS.

Copiem el certificat certificado.jks en la  configuració arrel del propi wildFly que és  /opt/wildfly/standalone/configuration/ i editem el fitxer standalone.xml per a indicar-li la ruta i contrasenya:

cp /tmp/certificado.jks /opt/wildfly/standalone/configuration/certificado.jks

vim /opt/wildfly-15.0.1.Final/standalone/configuration/standalone.xml

En el mateix fitxer, en la part final, veiem les definicions per als ports HTTPS.

Una vegada configurat el certificat ja podem validar-lo per la web.