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.