Cómo instalar WildFly (JBoss) en Ubuntu 22.04|20.04|18.04
Esta guía lo guiará a través de la instalación de WildFly (JBoss) Server en Ubuntu 22.04|20.04|18.04. WildFly, anteriormente conocido como JBoss, es un servidor de aplicaciones escrito en Java y desarrollado por Red Hat. WildFly Application Server es una implementación excepcionalmente rápida, liviana y potente de las especificaciones de la plataforma Java Enterprise Edition 8.
Al momento de escribir este artículo, WildFly 29 es la última versión de una serie de ofertas de servidores de aplicaciones de código abierto de JBoss. Este artículo proporciona una descripción general rápida sobre cómo descargar e instalar la última versión disponible de WildFly en Ubuntu 22.04|20.04|18.04 para el desarrollo de su aplicación.
Paso 1: instale Java JDK en Ubuntu
WildFly está escrito en Java y debe instalarse como requisito previo. Hay dos opciones para instalar Java en el sistema Ubuntu Linux.
- Instalar OpenJDK
- Instalar el kit de desarrollo Java SE
La forma más sencilla de obtener Java es instalar OpenJDK en su sistema Ubuntu ejecutando los siguientes comandos.
sudo apt update
sudo apt -y install default-jdk
La versión predeterminada de Java instalada desde el comando anterior es Java 10+. Esto es apoyado por WildFly.
$ java --version
openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-Ubuntu-0ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-Ubuntu-0ubuntu1, mixed mode, sharing)
Paso 2: descargue el archivo de instalación de WildFly
Instalar herramientas curl y wget
sudo apt install curl wget
Consulte la página de descargas de WildFly para conocer las últimas versiones antes de descargar el archivo. Aquí descargaremos WildFly 29.x.
WILDFLY_RELEASE=$(curl -s https://api.github.com/repos/wildfly/wildfly/releases/latest|grep tag_name|cut -d '"' -f 4)
wget https://github.com/wildfly/wildfly/releases/download/${WILDFLY_RELEASE}/wildfly-${WILDFLY_RELEASE}.tar.gz
Una vez descargado el archivo, extráigalo.
tar xvf wildfly-${WILDFLY_RELEASE}.tar.gz
Mueva la carpeta resultante a /opt/wildfly
.
sudo mv wildfly-${WILDFLY_RELEASE} /opt/wildfly
Paso 3: configurar Systemd para WildFly
Ahora creemos un usuario y grupo del sistema que ejecutará el servicio WildFly.
sudo groupadd --system wildfly
sudo useradd -s /sbin/nologin --system -d /opt/wildfly -g wildfly wildfly
Cree el directorio de configuraciones de WildFly.
sudo mkdir /etc/wildfly
Copie el servicio WildFly systemd, el archivo de configuración y las plantillas de scripts de inicio desde el directorio /opt/wildfly/docs/contrib/scripts/systemd/.
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
sudo chmod +x /opt/wildfly/bin/launch.sh
Establezca permisos /opt/wildfly
.
sudo chown -R wildfly:wildfly /opt/wildfly
Recargar el servicio systemd.
sudo systemctl daemon-reload
Inicie y habilite el servicio WildFly:
sudo systemctl start wildfly
sudo systemctl enable wildfly
Confirme el estado del servidor de aplicaciones WildFly.
sudo systemctl status wildfly
Salida de muestra:
El servicio debe vincularse al puerto 8080
.
$ ss -tunelp | grep 8080
tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:(("java",pid=6854,fd=389)) uid:999 ino:30339 sk:3 <->
Paso 4: agregar usuarios de WildFly
De forma predeterminada, WildFly 16 ahora se distribuye con la seguridad habilitada para las interfaces de administración. Necesitamos crear un usuario que pueda acceder a la consola de administración de WildFly o usar la CLI de forma remota. Se proporciona un script para administrar usuarios.
Ejecútelo ejecutando el comando:
sudo /opt/wildfly/bin/add-user.sh
Se le pedirá que elija el tipo de usuario que desea agregar. Dado que este es el primer usuario, queremos convertirlo en administrador. Así que elige a.
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Proporcione el nombre de usuario deseado para el usuario.
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : computingforgeeks
Establecer contraseña para el usuario:
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 : <Enter Password>
Re-enter Password : <Confirm Password>
Presione Intro y acepte las indicaciones posteriores para finalizar la creación del usuario.
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]: <Enter>
About to add user 'computingforgeeks' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'computingforgeeks' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'computingforgeeks' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'computingforgeeks' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'computingforgeeks' with groups 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
Darse cuenta de:
La información del usuario se mantiene en: /opt/wildfly/domain/configuration/mgmt-users.properties
La información del grupo se mantiene en: /opt/wildfly/standalone/configuration/mgmt- grupos.properties
Paso 5: acceder a la consola de administración de WildFly
Para poder ejecutar scripts WildFly desde su sesión de shell actual, agregue /opt/wildfly/bin/
a su ` PATH.
cat >> ~/.bashrc <<EOF
export WildFly_BIN="/opt/wildfly/bin/"
export PATH=\$PATH:\$WildFly_BIN
EOF
Obtenga el archivo bashrc.
source ~/.bashrc
Ahora pruebe conectándose a la consola de administración WildFly desde CLI con el comando jboss-cli.sh
.
$ jboss-cli.sh --connect
Authenticating against security realm: ManagementRealm
Username: computingforgeeks
Password:
[standalone@localhost:9990 /] version
JBoss Admin Command-line Interface
JBOSS_HOME: /opt/wildfly
Release: 29.0.1.Final
Product: WildFly Full 29.0.1.Final
JAVA_HOME: null
java.version: 11.0.13
java.vm.vendor: Ubuntu
java.vm.version: 11.0.13+8-Ubuntu-0ubuntu1
os.name: Linux
os.version: 5.13.0-19-generic
[standalone@localhost:9990 /] exit
Accediendo a la consola de administración de WildFly desde la interfaz web
De forma predeterminada, se puede acceder a la consola en la IP del host local en el puerto 9990.
$ ss -tunelp | grep 9990
tcp LISTEN 0 50 127.0.0.1:9990 0.0.0.0:* users:(("java",pid=6769,fd=404)) uid:999 ino:30407 sk:3 <->
Podemos iniciarlo en una dirección IP diferente accesible desde fuera del servidor local. Edite /opt/wildfly/bin/launch.sh
para que se vea así:
$ sudo vim /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
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement=0.0.0.0
fi
Agregamos -bmanagement=0.0.0.0
para iniciar la línea de script. Esto vincula la interfaz de “administración” a todas las direcciones IP disponibles.
Reiniciar el servicio Wildfly
sudo systemctl restart wildfly
Verifique el estado del servicio para confirmar que fue exitoso
$ systemctl status wildfly
● wildfly.service - The WildFly Application Server
Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-12-24 12:11:21 EAT; 6s ago
Main PID: 8205 (launch.sh)
Tasks: 70 (limit: 9482)
Memory: 159.8M
CPU: 12.265s
CGroup: /system.slice/wildfly.service
├─8205 /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
├─8206 /bin/sh /opt/wildfly/bin/standalone.sh -c standalone.xml -b 0.0.0.0 -bmanagement=0.0.0.0
└─8305 java -D[Standalone] -server -Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava>
Des 24 12:11:22 ubuntu22 systemd[1]: Started The WildFly Application Server.
Confirme que el puerto 9990 está escuchando:
$ ss -tunelp | grep 9990
tcp LISTEN 0 50 0.0.0.0:9990 0.0.0.0:* users:(("java",pid=9496,fd=320)) uid:999 ino:73367 sk:c <->
Abra su navegador y la URL http://serverip:9990
para acceder a la consola web WildFly.
Utilice el nombre de usuario creado anteriormente y la contraseña para autenticarse. La consola WildFly será la siguiente ventana que se mostrará.
Ha instalado correctamente el servidor de aplicaciones WildFly en Ubuntu 22.04|20.04|18.04. Visite la página de documentación de WildFly para obtener más información.