Configuración
WildFly
A continuación se exponen algunos puntos a considerar sobre la configuración de WildFly, dando por hecho
que ya se tiene una instalación del mismo en $HOME/www/wildfly01/wildfly-12.0.0.Final/bin
.
Archivos/directorios importantes
-
bin/
: directorio con script o ejecutables. Los archivos con extensión.sh
son usados en sistemas operativos basados en Unix (GNU/Linux y Mac OS) mientras que los archivos con extensión.bat
en Microsoft Windows. -
standalone/configuration/
: archivos de configuración. -
standalone/log/
: directorio con archivos de registros (logs) generados durante la ejecución de WildFly. -
standalone/deployments/
: directorio con el contenido a desplegar o aplicaciones web. -
bin/standalone.sh
: script de shell para iniciar a WildFly. -
standalone/configuration/standalone.xml
: archivo principal de configuración de WildFly. Uno de los aspectos que se pueden configurar son los puertos TCP y direcciones IP en el que WildFly operará.
Aceptando conexiones externas (de manera remota)
Por default WildFly está escuchando solo de manera local (127.0.0.1 o interfaz de red loopback) en el puerto TCP 8080 para el protocolo HTTP. Suponiendo que ya se encuentre en ejecución WildFly:
alumno@servidor:~/www/wildfly01/wildfly-12.0.0.Final/bin $ ss -plutn | grep java
tcp LISTEN 0 128 127.0.0.1:8080 0.0.0.0:* users:(("java",pid=24359,fd=307))
tcp LISTEN 0 128 127.0.0.1:8443 0.0.0.0:* users:(("java",pid=24359,fd=384))
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=24359,fd=387))
Para hacer que WildFly escuche (o atienda solicitudes de conexión) en todas las interfaces de red disponibles (:::8080)
se asigna el valor 0.0.0.0
al atributo value
del subelemento <inet-address>
del elemento <interface name="public">
en el archivo standalone/configuration/standalone.xml
(casí al final) ubicado dentro del directorio de instalación de WildFly:
<interfaces>
...
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>
Deten a WildFly si ya está en ejecución e inicialo:
alumno@servidor:~/www/wildfly01/wildfly-12.0.0.Final/bin $ ss -plutn | grep java
tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=7498,fd=383))
tcp LISTEN 0 128 0.0.0.0:8443 0.0.0.0:* users:(("java",pid=7498,fd=301))
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=7498,fd=385))
Configurando los puertos TCP
Suponiendo que se quiera hacer uso de los siguientes puertos TCP:
- para conexiones HTTP: 9191
- para conexiones HTTPS: 9292
- para WildFly Management Console: 9393
se realizan los siguientes pasos:
Edita el archivo
conf/server.xml
:- Localiza la línea
<socket-binding name="http" port="${jboss.http.port:8080}"/>
(línea 500 apro.), cambia el valor del atributo port de8080
a9191
. - Localiza la línea
<socket-binding name="https" port="${jboss.https.port:8443}"/>
(línea 500 aprox.), cambia el valor del atributo port de8443
a9292
. - Localiza la línea
<socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
(línea 500 aprox.), cambia el valor del atributo port de9990
a9393
.
Deten a WildFly si ya está en ejecución.
- Localiza la línea
Inicia a WildFly:
alumno@servidor:~/www/wildfly01/wildfly-12.0.0.Final/bin $ sh standalone.sh ... ...[org.jboss.as] (MSC service thread 1-2) WFLYSRV0049: WildFly Full 12.0.0.Final (WildFly Core 4.0.0.Final) starting ... ...[org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0006: Undertow HTTP listener default listening on 0.0.0.0:9191 ... ...[org.wildfly.extension.undertow] (MSC service thread 1-8) WFLYUT0006: Undertow HTTPS listener https listening on 0.0.0.0:9292 ... ...[org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9393/management ...[org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9393 ...[org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 12.0.0.Final (WildFly Core 4.0.0.Final) started in 4577ms...
Verifica la actual ejecución de WildFly:
alumno@servidor:~/www/wildfly01/wildfly-12.0.0.Final/bin $ ss -plutn | grep java tcp LISTEN 0 128 0.0.0.0:9292 0.0.0.0:* users:(("java",pid=21034,fd=385)) tcp LISTEN 0 50 127.0.0.1:9393 0.0.0.0:* users:(("java",pid=21034,fd=310)) tcp LISTEN 0 128 0.0.0.0:9191 0.0.0.0:* users:(("java",pid=21034,fd=383))
Accede a http://127.0.0.1:9191 para verificar la ejecución de WildFly.
Configurando WildFly Management Console
WildFly cuenta con una aplicación web de administración (WildFly Management Console) con la cual podrás administrar ciertos aspectos de la instancia de WildFly en ejecución.
Estando en el directorio
bin/
dentro del directorio de instalación de WildFly, agrega una cuenta de usuario (alumno
) para el acceso a WildFly Management Console (o consola de administración) de WildFly mediante el scriptadd-user.sh
:alumno@servidor:~/www/wildfly01/wildfly-12.0.0.Final/bin $ sh add-user.sh -e -u alumno -p 12345 -g '' Added user 'alumno' to file '$HOME/www/wildfly01/wildfly-12.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'alumno' to file '$HOME/www/wildfly01/wildfly-12.0.0.Final/domain/configuration/mgmt-users.properties' Added user 'alumno' with groups to file '$HOME/www/wildfly01/wildfly-12.0.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'alumno' with groups to file '$HOME/www/wildfly01/wildfly-12.0.0.Final/domain/configuration/mgmt-groups.properties'
En este caso el usuario es
alumno
y su contraseña es12345
.Deten a WildFly e inicialo una vez más.
Accede con el navegador web a http://127.0.0.1:9393 (suponiendo que el puerto TCP 9393 ha sido configurado previamente) y ante la ventana emergente ingresa los datos alumno y 12345 como User Name y Password respectivamente, configurados en el paso 1.
Eclipse IDE for Java EE Developers
Los siguientes pasos abordan la configuración del IDE Eclipse para que mediante él se administre la configuración, el inicio y detención de una instancia de WildFly.
OBSERVACIONES:
- Es posible tener varias instancias de WildFly instaladas y en ejecución al mismo tiempo. Para esto es cuestión de administrar los directorios en donde son instalados así como el puerto TCP a usar.
- Eclipse puede ayudarnos a trabajar de una forma más comoda con varias instancias de WildFly así como distintos proyectos o aplicaciones web.
- Al momento de iniciar a Eclipse se te cuestiona por el workspace. Un workspace es un directorio donde residirán
tus proyectos. Puedes acceder a Window > Preferences > General > Startup and Shutdown > Workspaces para configurar
los workspaces. Sugiero definir el directorio
$HOME/www/eclipse/jee
como Workspace, crealo de ser necesario.
WildFly
Crea el directorio $HOME/www/eclipse/wildfly
y en él instala a WildFly:
alumno@servidor:~ $ mkdir $HOME/www/eclipse/wildfly
alumno@servidor:~ $ cd $HOME/www/eclipse/wildfly
alumno@servidor:~/www/eclipse/wildfly $ wget -c http://download.jboss.org/wildfly/12.0.0.Final/wildfly-12.0.0.Final.zip
alumno@servidor:~/www/eclipse/wildfly $ unzip wildfly-12.0.0.Final.zip
En este caso el directorio de instalación de WildFly es $HOME/www/eclipse/wildfly/wildfly-12.0.0.Final
que le será indicado a Eclipse en los siguientes pasos.
OBSERVACIÓN: en el directorio $HOME/www/eclipse/wildfly/
podrás mantener tantas versiones o instancias de WildFly como
requieras.
Eclipse
Instala a JBoss Tools. Accede a Help > Install New Software > Add y rellena el formulario con la siguiente información:
- Name:
JBoss Tools
- Location:
http://download.jboss.org/jbosstools/oxygen/stable/updates/
Instala a JBoss Application Server Adapters > JBoss AS, WildFly & EAP Server tools.
- Name:
Accede a Window > Preferences > Server > Runtime Environments y da click al botón Add.
Ante la ventana New Server Runtime Environment, selecciona bajo el nodo JBoss Community la opción WildFly 12 Runtime, desactiva la opción Create a new local server y da click al botón Next.
Ante la ventana JBoss Runtime ingresa wildfly-12.0.0.Final en el campo Name y en el campo Home Directory el directorio de instalación de WildFly, en este caso
$HOME/www/eclipse/wildfly/wildfly-12.0.0.Final
, y da click al botón Finish. Regresarás a la ventana Preferences, da click al botón OK para cerrarla.Accede a Window > Show Views > Servers, lo que resaltará a la pestaña con título Servers. Da click derecho sobre él y selecciona New > Server.
Ante la ventana Define a New Server selecciona bajo el nodo JBoss Community la opción WildFly 12, rellena los campos con la siguiente información y da click al botón Next:
- Server's host name: localhost
- Server name: wildfly-12.0.0.Final
Ante la ventana Create a new Server Adapter observa que las opciones Local (The Server is) y Filesystem and shell operations (Controlled by) se encuentren seleccionadas y que wildfly-12.0.0.Final este seleccionado como runtime.
Observa que los datos dependen de lo hecho en el paso 3.
Finalmente da click sobre Next y Finish.
Accede a Window > Show Views > Servers, da click derecho sobre el servidor recien creado wildfly-12.0.0.Final y accede a Properties.
Ante la ventana Properties for wildfly-12.0.0.Final da click una sola vez sobre el botón Switch Location a un costado de Location, da click al botón Apply y finalmente al botón OK para cerrar la ventana.
Observación: accede a Window > Show Views > Project Explorer y abre, dando doble click izquierdo, el nodo Servers > wildfly-12.0.0.Final.server, donde podrás llevar la modificación del puerto TCP usado por WildFly 8080 (default).
Inicia a WildFly accediendo a Window > Show Views > Servers, da click derecho sobre el servidor wildfly-12.0.0.Final y da click sobre Start.
Recordatorio: WildFly por default está configurado para ocupar el puerto TCP 8080 por lo que no debe existir algún otro proceso ocupando dicho puerto TCP.
Accede con el navegador web a http://127.0.0.1:8080 y obtendrás el mensaje Welcome to WildFly. lo cual se interpretará como la correcta ejecución de WildFly por parte de Eclipse.
Deten a WildFly accediendo a Window > Show Views > Servers, da click derecho sobre el servidor wildfly-12.0.0.Final y selecciona Stop.
OBSERVACIONES:
- El paso 9 realizado sería similar a la ejecución del comando
sh standalone.sh
en la línea de comandos. - El paso 11 realizado sería similar a apretar el juego de teclas
Ctrl + C
en la línea de comandos.
Lecturas
- Configuración Ambiente de Desarrollo Java Web: por Cristian Henao.