Cómo instalar WildFly (JBoss) en Debian 10 Linux

27 feb 2021 7 min di lettura
Cómo instalar WildFly (JBoss) en Debian 10 Linux
Indice dei contenuti

Introducción

WildFly, anteriormente conocido como JBoss, es un tiempo de ejecución de aplicaciones de código abierto multiplataforma escrito en Java que le ayuda a crear aplicaciones asombrosas. WildFly es flexible, liviano y se basa en subsistemas conectables que se pueden agregar o eliminar según sea necesario.

En este tutorial, lo guiaremos a través de los pasos necesarios para instalar el servidor de aplicaciones WildFly en Debian 10.

Prerrequisitos

El usuario que ha iniciado sesión debe tener privilegios de sudo para poder instalar paquetes.

Si desea instalar WildFly en un servidor remoto, continúe leyendo, de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.

Conexión al servidor

Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:

ssh root@IP_DEL_SERVER

A continuación, deberá ingresar la contraseña del usuario root.

Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:

ssh nome_utente@IP_DEL_SERVER

Luego se le pedirá que ingrese su contraseña de usuario.

El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Instalar Java OpenJDK

WildFly requiere que Java esté instalado. Instalemos OpenJDK en Debian 19:

sudo apt update
sudo apt install default-jdk

Crear un usuario

Cree un nuevo usuario y grupo de sistema wildfly con el directorio de inicio /opt/wildfly que ejecutará el servicio WildFly:

sudo groupadd -r wildfly
sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

Instalar WildFly

18.0.1, la última versión de WildFly es la 18.0.1. Antes de continuar con el siguiente paso, debe consultar la página de descarga para obtener una nueva versión. Si hay una nueva versión disponible, reemplace la WILDFLY_VERSION en el siguiente comando.

Descargue el archivo WildFly en el /tmp usando el siguiente comando wget

WILDFLY_VERSION=18.0.1.Final
wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

Una vez que se complete la descarga, extraiga el archivo tar.gz y muévalo al directorio /opt

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

Cree un enlace simbólico de wildfly que apunte al directorio de instalación de WildFly:

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

WildFly se ejecuta como un wildfly que debe tener acceso al directorio de instalación de WildFly. Cambie la propiedad del directorio wildfly usuario y grupo wildfly:

sudo chown -RH wildfly: /opt/wildfly

Configurar Systemd

El paquete WildFly incluye los archivos necesarios para ejecutar WildFly como servicio.

Empiece creando un directorio que contendrá el archivo de configuración de WildFly:

sudo mkdir -p /etc/wildfly

Copie el archivo de configuración en el /etc/wildfly:

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

Este archivo le permite especificar el modo WildFly y enlazar la dirección. De forma predeterminada, WildFly se ejecutará en modo independiente y escuchará todas las interfaces. Para una configuración estándar no es necesario modificar el archivo de configuración, de lo contrario abra el siguiente archivo y modifíquelo según sus necesidades:

sudo nano /etc/wildfly/wildfly.conf
# 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=0.0.0.0

Luego, copie el script de launch.sh /opt/wildfly/bin/:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

Los scripts dentro del director bin y deben tener indicadores ejecutables:

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

El último paso es copiar el archivo de la unidad systemd nombrado en el /etc/systemd/system/:

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

Vuelva a cargar la configuración del administrador del sistema:

sudo systemctl daemon-reload

Inicie y habilite el servicio WildFly para que se inicie automáticamente al iniciarse:

sudo systemctl start wildfly
sudo systemctl enable wildfly

Verifique el estado del servicio con el siguiente comando:

sudo systemctl status wildfly
● wildfly.service - The WildFly Application Server
 Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
 Active: active (running) since Sat 2020-01-11 16:13:02 CET; 6s ago
 Main PID: 3652 (launch.sh)
 Tasks: 54 (limit: 2301)
 Memory: 144.7M
 CGroup: /system.slice/wildfly.service
 ├─3652 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
 ├─3653 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0
 └─3733 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.prefer

Configurar el firewall

Si su servidor está protegido por un firewall y desea acceder a la interfaz WildFly desde fuera de su red local, debe abrir el puerto 8080.

Para permitir el tráfico en el puerto 8080 escriba el siguiente comando:

sudo ufw allow 8080/tcp

Al ejecutar una aplicación WildFly en un entorno de producción, lo más probable es que tenga equilibrio de carga o proxy inverso y se recomienda que el acceso al puerto 8080 esté restringido solo a su red interna.

Configurar la autenticación WildFly

Ahora que WildFly está instalado y en ejecución, el siguiente paso es crear un usuario que podrá conectarse mediante la consola de administración o de forma remota a través de la interfaz de línea de comandos.

Para agregar un nuevo usuario, use el add-user.sh ubicado en el directorio bin de WildFly:

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

Se le preguntará qué tipo de usuario desea agregar:

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

Seleccione a y presione Enter:

A continuación, el script le pedirá que ingrese los detalles del nuevo usuario:

Enter the details of the new user to add.
 Using realm 'ManagementRealm' as discovered from the existing property files.
 Username: Noviello
 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)[ ]:
 About to add user 'Noviello' for realm 'ManagementRealm'
 Is this correct yes/no? yes
 Added user 'Noviello' to file '/opt/wildfly-18.0.1.Final/standalone/configuration/mgmt-users.properties'
 Added user 'Noviello' to file '/opt/wildfly-18.0.1.Final/domain/configuration/mgmt-users.properties'
 Added user 'Noviello' with groups to file '/opt/wildfly-18.0.1.Final/standalone/configuration/mgmt-groups.properties'
 Added user 'Noviello' with groups to file '/opt/wildfly-18.0.1.Final/domain/configuration/mgmt-groups.properties'
 Is this new user going to be used for one AS process to connect to another AS process?
 eg 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="UGllcm8xMmVfIQ==" />

El nuevo usuario se agregará a los archivos de propiedades utilizados para la autenticación.

Pruebe la instalación de WildFly

Para acceder a la página predeterminada de WildFly, abra su navegador y escriba su dirección IP o nombre de dominio especificando el puerto 8080: http://TUO_DOMINIO_O_IP>:8080

Suponiendo que la instalación sea exitosa, verá la página de bienvenida de WildFly.

Inicie sesión en la consola de administración de WildFly

Interfaz de línea de comandos

Para acceder a la consola de administración de WildFly desde la línea de comandos, puede usar el script jboss-cli.sh

Cambie al directorio bin de WildFly y ejecute el script con la opción --connect

cd /opt/wildfly/bin/
./jboss-cli.sh --connect

Se le pedirá que ingrese el nombre de usuario administrativo y la contraseña creados previamente, o el primer inicio de sesión se realizará automáticamente:

Authenticating against security realm: ManagementRealm
 Username: Noviello
 Password:

Una vez que haya iniciado sesión, el indicador de la consola cambiará a [standalone@localhost:9990 /]. Escriba help para obtener una lista de comandos y su sintaxis.

Desde aquí puede implementar y anular la implementación de aplicaciones, administrar usuarios y grupos, y configurar y monitorear el servidor WildFly.

interfaz web

Si prefiere administrar su servidor desde la GUI, WildFly también proporciona una consola basada en web.

De forma predeterminada, la consola de administración de WildFly solo está disponible desde localhost en http://localhost:9990/console. Inicie sesión con el usuario que creó anteriormente.

Si desea acceder a la consola desde ubicaciones remotas, debe realizar pequeños cambios en los wildfly.service, wildfly.conf y launch.sh.

Abra wildfly.conf y agregue WILDFLY_CONSOLE_BIND=0.0.0.0 al final del archivo:

sudo nano /etc/wildfly/wildfly.conf
# 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=0.0.0.0

 # The address console to bind to
 WILDFLY_CONSOLE_BIND=0.0.0.0

Abra launch.sh y edite las siguientes líneas $WILDFLY_HOME/bin/domain.sh y $WILDFLY_HOME/bin/standalone.sh, el resultado debería ser como el siguiente:

sudo nano /opt/wildfly/bin/launch.sh
#!/bin/bash

 if [ "x$WILDFLY_HOME" = "x" ]; then
 WILDFLY_HOME="/opt/wildfly"
 fi

 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
 f

Reinicie el servicio para que los cambios surtan efecto:

sudo systemctl restart wildfly

Abra wildfly.service y edite la ExecStart así:

sudo nano /etc/systemd/system/wildfly.service
[Unit]
 Description=The WildFly Application Server
 After=syslog.target network.target
 Before=httpd.service

 [Service]
 Environment=LAUNCH_JBOSS_IN_BACKGROUND=1
 EnvironmentFile=-/etc/wildfly/wildfly.conf
 User=wildfly
 LimitNOFILE=102642
 PIDFile=/var/run/wildfly/wildfly.pid
 ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
 StandardOutput=null

 [Install]
 WantedBy=multi-user.target

Cree el directorio /var/run/wildfly y establezca los permisos correctos:

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

Vuelva a cargar la configuración del administrador del sistema:

sudo systemctl daemon-reload

Reinicie el servicio WildFly ejecutando:

sudo systemctl restart wildfly

Suponiendo que su firewall no esté bloqueando el puerto 9990, debería poder acceder a la consola de administración de WildFly en http://TUO_DOMINIO_O_IP:9990/console.

Conclusión

Ha instalado WildFly con éxito en su servidor Debian 10. Debería visitar la documentación oficial de WildFly y obtener más información sobre las características de WildFly.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.