WildFly, anteriormente conocido como JBoss, es un tiempo de ejecución de aplicaciones de código abierto multiplataforma escrito en Java que lo ayuda a crear aplicaciones increíbles. WildFly es flexible, liviano y se basa en subsistemas conectables que se pueden agregar o quitar según sea necesario.
Este tutorial le mostrará cómo instalar el servidor de aplicaciones WildFly en Ubuntu 18.04. Las mismas instrucciones se aplican a Ubuntu 16.04 y cualquier distribución basada en Ubuntu, incluidos Kubuntu, Linux Mint y Elementary OS.
Requisitos previos #
Para poder instalar paquetes en su sistema Ubuntu, debe iniciar sesión como usuario con privilegios de sudo.
Paso 1:Instalar Java OpenJDK #
WildFly requiere la instalación de Java. Instalaremos OpenJDK, que es el tiempo de ejecución y desarrollo de Java predeterminado en Ubuntu 18.04.
La instalación de Java es bastante simple. Comience por actualizar el índice del paquete:
sudo apt update
Instale el paquete OpenJDK ejecutando:
sudo apt install default-jdk
Paso 2:Cree un número de usuario
Crearemos un nuevo usuario y grupo del sistema llamado 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
Paso 3:Instalar WildFly #
En el momento de escribir este artículo, la última versión de WildFly es 16.0.0
. 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, reemplace la WILDFLY_VERSION
variable en el siguiente comando.
Descargue el archivo WildFly en /tmp
directorio usando el siguiente wget
comando:
WILDFLY_VERSION=16.0.0.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 a /opt
directorio:
sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/
Crea un enlace simbólico wildfly
que apuntará al directorio de instalación de WildFly:
sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly
WildFly se ejecutará bajo wildfly
usuario que necesita tener acceso al directorio de instalación de WildFly.
El siguiente comando cambiará la propiedad del directorio al usuario y grupo wildfly
:
sudo chown -RH wildfly: /opt/wildfly
Paso 4:Configurar Systemd #
El paquete WildFly incluye los archivos necesarios para ejecutar WildFly como servicio.
Comience creando un directorio que contendrá el archivo de configuración de WildFly:
sudo mkdir -p /etc/wildfly
Copie el archivo de configuración en /etc/wildfly
directorio:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
Este archivo le permite especificar el modo WildFly y la dirección de enlace. De forma predeterminada, WildFly se ejecutará en modo independiente y escuchará en todas las interfaces. Puede editar el archivo según sus necesidades.
/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
A continuación, copie WildFly launch.sh
script al /opt/wildfly/bin/
directorio:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
Los scripts dentro de bin
el directorio debe tener un indicador ejecutable:
sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'
El último paso es copiar el archivo de la unidad systemd llamado a /etc/systemd/system/
directorio:
sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Notifique a systemd que creamos un nuevo archivo de unidad:
sudo systemctl daemon-reload
Inicie el servicio WildFly ejecutando:
sudo systemctl start 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; disabled; vendor preset: enabled)
Active: active (running) since Sun 2019-02-17 04:59:39 PST; 2s ago
Main PID: 10005 (launch.sh)
Tasks: 62 (limit: 2319)
CGroup: /system.slice/wildfly.service
Habilite el servicio para que se inicie automáticamente en el momento del arranque:
sudo systemctl enable wildfly
Paso 5:ajuste el número de cortafuegos
Si su servidor está protegido por un firewall y desea acceder a la interfaz de WildFly desde el exterior de su red local, debe abrir el puerto 8080
.
Para permitir el tráfico en el puerto 8080
escribe 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 un equilibrador de carga o un proxy inverso, y es una buena práctica restringir el acceso al puerto 8080 solo a su red interna. Paso 6:Configure el número de autenticación de WildFly
Ahora que WildFly está instalado y ejecutándose, el siguiente paso es crear un usuario que podrá conectarse mediante la consola de administración o de forma remota mediante la CLI.
Para agregar un nuevo usuario, use add-user.sh
script que se encuentra 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 pulsa 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 : linuxize
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 'linuxize' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/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 <secret value="UGFuMjNkZWo3NyNA" />
El nuevo usuario se agregará a los archivos de propiedades utilizados para la autenticación.
Paso 6:Probar la instalación de WildFly #
Para acceder a la página predeterminada de WildFly, abra su navegador y escriba:http://<your_domain_or_IP_address>:8080
Suponiendo que la instalación sea exitosa, aparecerá una pantalla similar a la siguiente:
Paso 7:Acceda a 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 jboss-cli.sh
guión.
Navegue hasta el directorio bin de WildFly y ejecute el script con --connect
opción:
cd /opt/wildfly/bin/
./jboss-cli.sh --connect
Se le pedirá que ingrese su nombre de usuario y contraseña administrativos (creados en el paso 6):
Authenticating against security realm: ManagementRealm
Username: linuxize
Password:
Una vez que inicie sesión, el aviso de la consola cambiará a [standalone@localhost:9990 /]
. Escribe help
para obtener una lista de comandos y sintaxis de comandos.
Desde aquí, puede implementar y anular la implementación de sus 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 ha creado en el paso 6.
Si desea acceder a la consola desde ubicaciones remotas, deberá realizar pequeñas modificaciones en wildfly.service
, wildfly.conf
y launch.sh
archivos.
Abra el wildfly.conf
y agregue WILDFLY_CONSOLE_BIND=0.0.0.0
al final del archivo.
# 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 el launch.sh
y edite las líneas resaltadas:
#!/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
fi
Reinicie el servicio para que los cambios surtan efecto:
sudo systemctl restart wildfly
Abra el wildfly.service
y edite las líneas resaltadas:
[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
Crea el /var/run/wildfly
directorio y establezca los permisos correctos:
sudo mkdir /var/run/wildfly/
sudo chown wildfly: /var/run/wildfly/
Notifique a systemd que el archivo de la unidad fue cambiado:
sudo systemctl daemon-reload
Reinicie el servicio WildFly ejecutando:
sudo systemctl restart wildfly
Suponiendo que el puerto 9990
no está bloqueado en su firewall, debería poder acceder a la consola de administración de WildFly en http://<your_domain_or_IP_address>:9990/console
.