Búsqueda de sitios web

Cómo instalar el servidor de aplicaciones WildFly JAVA en Ubuntu 22.04


WildFly, anteriormente JBoss, es un servidor de aplicaciones gratuito y de código abierto que le ayuda a crear e implementar aplicaciones web Java. Está escrito en Java y cumple con las especificaciones de Java EE (Enterprise Edition). WildFly fue creado por JBoss pero ahora desarrollado por RedHat. Es un servidor de aplicaciones potente, modular y liviano, listo para producción, que proporciona todas las herramientas y funciones necesarias para ejecutar e implementar aplicaciones web Java.

WildFly es un servidor de aplicaciones multiplataforma. Proporciona herramientas como EJB, JPA, Servlets, JAX-RS, Batch y seguridad para sus aplicaciones Java.

Esta guía le ayudará a instalar WildFly en el servidor Ubuntu 22.04. Instalará manualmente WildFly desde el paquete binario en el sistema Ubuntu.

Requisitos previos

Para completar este tutorial, necesitará un servidor Ubuntu 22.04. Este servidor debe tener un usuario no root con privilegios de root/administrador. Además, se recomienda que habilites el firewall "UFW" en tu sistema Ubuntu.

Instalación de Java OpenJDK

Antes de comenzar a instalar WildFly, primero instalará Java OpenJDK en su servidor Ubuntu. En el momento de escribir este artículo, la última versión de WildFly requería al menos Java v8. El repositorio APT predeterminado de Ubuntu proporciona Java v11, que es adecuado para la última versión de instalación de WildFly.

Ejecute el comando "apt" a continuación para actualizar y actualizar el índice de su paquete de Ubuntu.

sudo apt update

Para instalar Java OpenJDK, ejecute el comando "apt install" a continuación. Se le pedirá que confirme la instalación, ingrese Y y presione ENTER para continuar, y comenzará la instalación de Java OpenJDK.

sudo apt install default-jdk

Ahora que Java OpenJDK está instalado, verifique y verifique la versión de Java usando el siguiente comando. Deberías ver que Java OpenJDK 11 está instalado en tu servidor Ubuntu 22.04.

java -version

Instalación de WildFly desde archivos binarios

Después de instalar Java, instalará WildFly manualmente en su servidor Ubuntu. La instalación manual de WildFly requiere que configure un nuevo usuario del sistema, descargue el paquete binario WildFLy y configure el directorio de configuración y el servicio systemd para WildFly.

Para crear un nuevo usuario del sistema, ejecute el comando "useradd" a continuación.

En el siguiente ejemplo, el nuevo usuario del sistema se llamará "wildfly" con el directorio de inicio base "/opt/wildfly". Este directorio también se utilizará como directorio de instalación principal de WildFly.

sudo useradd -r -d /opt/wildfly -s /usr/sbin/nologin wildfly

Antes de descargar el paquete binario WildFly, ejecute el siguiente comando para crear una nueva variable de entorno temporal "WILDFLY_RELEASE". Esto asignará la variable de entorno "WILDFLY_RELEASE" con la última versión de WildFly. En el momento de escribir este artículo, la última versión de WildFly es v26.x.

WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
echo $WILDFLY_RELEASE

Para descargar el paquete binario WildFly, ejecute el comando "wget" a continuación. Deberías ver el nuevo archivo en tu directorio actual.

wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz

A continuación, extraiga el paquete WildFLy usando el comando "tar" a continuación. Luego, mueva el nuevo directorio WildFly extraído a "/opt/wildfly".

tar -xvf wildfly-${WILDFLY_RELEASE}.tar.gz
sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly

Establezca la propiedad correcta y apropiada del directorio de instalación de WldFly para el usuario "wildfly" usando el siguiente comando.

sudo chown -R wildfly:wildfly /opt/wildfly

Después de eso, cree un nuevo directorio de configuración predeterminado "/etc/wildfly" usando el siguiente comando. Luego, copie el ejemplo del archivo de configuración de WildFly.

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

Edite el archivo de configuración predeterminado de WildFly "/etc/wildfly/wildfly.conf" usando el siguiente comando.

sudo nano /etc/wildfly/wildfly.conf

Puede cambiar la dirección "WILDFLY_BIND" a la dirección IP de su servidor local. Además, en esta demostración, ejecutará WildFly en el modo "independiente" con el archivo de configuración "standalone.xml".

The configuration you want to run
WILDFLY_CONFIG=standalone.xml
The mode you want to run
WILDFLY_MODE=standalone

The address to bind to
WILDFLY_BIND=192.168.5.10

Guarde y cierre el archivo cuando haya terminado.

A continuación, copie el ejemplo del script de inicio de WildFly "/opt/wildfly/docs/contrib/scripts/systemd/launch.sh" al directorio "/opt/wildfly/bin/". Luego, copie el archivo de servicio WildFly systemd "/opt/wildfly/docs/contrib/scripts/systemd/wildfly.service" al directorio "/usr/lib/systemd/system/" .

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /usr/lib/systemd/system/

Además, también deberá crear un nuevo directorio "/var/run/wildfly" que se utilizará para almacenar el archivo PID (ID de proceso) del servidor WildFly. Además, asegúrese de cambiar la propiedad correcta de ese directorio al usuario "wildfly".

sudo mkdir /var/run/wildfly/
sudo chown -R wildfly:wildfly /var/run/wildfly/

Ahora ejecute el comando "systemctl" a continuación para recargar el administrador systemd y aplicar el nuevo archivo de servicio WildFly.

sudo systemctl daemon-reload

Después de eso, inicie y habilite el servicio "wildfly" usando el siguiente comando "systemctl". Y el servicio "wildfly" estará en funcionamiento y se ejecutará automáticamente al iniciar el sistema.

sudo systemctl start wildfly
sudo systemctl enable wildfly

Para comprobar y verificar el estado del servicio "wildfly", ejecute el siguiente comando. Y debería ver que el servicio "wildfly" está "habilitado" y el estado actual es "en ejecución".

sudo systemctl status wildfly

De forma predeterminada, WildFly se ejecuta en el puerto TCP "8080". Debes abrir ese puerto si tienes el firewall "UFW" habilitado en tu servidor.

Ejecute el comando "ufw" a continuación para abrir el puerto TCP "8080" para WildFly. Luego, verifique y verifique el estado del firewall UFW. Deberías ver que se ha agregado el puerto "8080".

sudo ufw allow 8080/tcp
sudo ufw status

Abra su navegador web y visite la dirección IP del servidor con el puerto "8080" (por ejemplo, http:/192.168.5.10:8080/). Verá la página index.html predeterminada de WildFly.

Configuración del usuario de administración WildFly

La administración de WildFly está deshabilitada en la instalación predeterminada. En esta demostración, habilitará el panel de administración de WildFly que le permite configurar la implementación de aplicaciones, la configuración del tiempo de ejecución, el control de acceso y otras configuraciones de WildFly.

Configurará un nuevo usuario administrador para WildFly antes de comenzar a configurar y habilitar la administración de WildFly.

Ejecute el script para agregar usuario de WildFly "/opt/wildfly/bin/add-user.sh" como usuario "wildfly" a continuación.

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

Ahora se le solicitará la siguiente configuración de usuario administrador:

  • Ingrese "a" para configurar el "Usuario de administración" de WildFly.
  • Ingrese el nombre de usuario del administrador de WildFly. En esta demostración, utilizaremos el usuario administrador "alice".
  • Ingrese la contraseña para el nuevo usuario administrador y repita. Asegúrese de utilizar la contraseña segura recomendada por el script.
  • Deje la configuración del grupo por defecto y presione ENTER.
  • Ingrese "" para confirmar las nuevas configuraciones de administrador de WildFly.
  • Por último, ingrese "" nuevamente para permitir que el nuevo usuario se utilice para identificar un proceso WildFly o simplemente puede ingresar "no" para esta configuración.

Habilitación de la consola de administración WildFly

Si creó el usuario administrador de WildFly, ahora configurará la consola de administración de WildFly a través del archivo de configuración "/etc/wildfly/wildfly.conf".

Edite el archivo de configuración "/etc/wildfly/wildfly.conf" usando el siguiente comando.

sudo nano /etc/wildfly/wildfly.conf

Agregue la siguiente configuración al archivo. Esto creará una nueva variable de entorno para el servicio WildFly llamada "WILDFLY_CONSOLE_BIND", que ejecutará la consola de administración de WildFly en la dirección IP interna "192.168.5.10".

IP Address for WildFly Console
WILDFLY_CONSOLE_BIND=192.168.5.10

Guarde y cierre el archivo cuando haya terminado.

A continuación, edite el script de inicio de WildFly "/opt/wildfly/bin/launch.sh" usando el siguiente comando.

sudo nano /opt/wildfly/bin/launch.sh

Cambie el comando de inicio como se muestra a continuación. Agregue la opción "-bmanagement $4" para habilitar la consola de administración de WildFly.

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

Guarde y cierre el archivo cuando haya terminado.

Ahora edite el archivo de servicio WildFly systemd "/usr/lib/systemd/system/wildfly.service" usando el siguiente comando.

sudo nano /usr/lib/systemd/system/wildfly.service

Agregue la variable de entorno "$WILDFLY_CONSOLE_BIND" como una opción de comando adicional en "ExecStart" como se muestra a continuación.

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

Guarde y cierre el archivo cuando haya terminado.

Después de editar el archivo de servicio WildFly systemd, ejecute el comando "systemctl" a continuación para recargar el administrador systemd. Luego, reinicie el servicio "wildfly" para aplicar nuevos cambios y habilitar la consola de administración.

sudo systemctl daemon-reload
sudo systemctl restart wildfly

Ahora verifique y verifique el servicio "wildfly" usando el comando "systemctl" a continuación. Y debería obtener que el servicio "wildfly" esté "ejecutándose". En el script de inicio "launch.sh" y "standalone.sh", verá opciones adicionales para habilitar la consola de administración.

sudo systemctl status wildfly

La administración predeterminada de WildFly se ejecuta en el puerto TCP "9990". Para habilitar el acceso a él, deberá agregar la regla de firewall UFW.

Ejecute el comando "ufw" a continuación para agregar la regla de firewall UFW para abrir el puerto de la consola de administración WildFly "9990". Luego, verifique y verifique el estado del firewall UFW.

sudo ufw allow 9990/tcp
sudo ufw status

Verá un resultado similar a la siguiente captura de pantalla.

Por último, regrese a su navegador web y visite la dirección IP del servidor seguida del puerto "9990" (es decir: http://192.168.5.10:9990/). Y se le solicitará el usuario y la contraseña del administrador de WildFly.

Ingrese su usuario y contraseña de administrador de WildFly, luego haga clic en el botón "Iniciar sesión".

Si su usuario y contraseña son correctos, verá la página de la Consola de administración de WildFly a continuación.

Implementación de la aplicación en WildFly

Ahora implementará la aplicación de ejemplo "Hello World" en WildFly. Puede implementar una aplicación desde la consola de administración de WildFly o utilizando el modo de interfaz de línea de comandos.

Cree un nuevo directorio "/opt/testapp" y descargue la aplicación de ejemplo "helloworld.war" usando el comando "curl" a continuación.

mkdir -p /opt/testapp/
curl --output /opt/testapp/helloworld.war https://raw.githubusercontent.com/aeimer/java-example-helloworld-war/master/dist/helloworld.war

A continuación, ejecute el script "jboss-cli.sh" para conectarse a su administración WildFly desde la línea de comando.

sudo -u wildfly /opt/wildfly/bin/jboss-cli.sh --connect

Después de conectarse al shell de WildFly, ejecute el siguiente comando para implementar la aplicación de ejemplo "/opt/testapp/helloworld.war" en WildFly.

deploy /opt/testapp/helloworld.war

Por último, regrese a su navegador web y visite la dirección IP de su servidor con la siguiente ruta "/helloworld" (es decir: http://192.168.5.10:8080/helloworld/). Y debería obtener la aplicación de ejemplo "helloworld.war".

Conclusión

¡Felicitaciones! Ahora ha instalado con éxito WildFly en el servidor Ubuntu 22.04 mediante la instalación manual desde el paquete binario. También creó el usuario administrador para WildFly y habilitó la Consola de administración basada en web para WildFly. Al final, también aprendió cómo implementar una aplicación en WildFly desde la interfaz de línea de comandos.