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:

  1. 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 de 8080 a 9191.
    • Localiza la línea <socket-binding name="https" port="${jboss.https.port:8443}"/> (línea 500 aprox.), cambia el valor del atributo port de 8443 a 9292.
    • 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 de 9990 a 9393.

    Deten a WildFly si ya está en ejecución.

  2. 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...
    
  3. 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))
    
  4. 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.

  1. 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 script add-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 es 12345.

  2. Deten a WildFly e inicialo una vez más.

  3. 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.

    images/02.png

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

  1. 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.

  2. Accede a Window > Preferences > Server > Runtime Environments y da click al botón Add.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. Accede a Window > Show Views > Servers, da click derecho sobre el servidor recien creado wildfly-12.0.0.Final y accede a Properties.

  8. 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).

  9. 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.

  10. 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.

  11. 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