WildFly o anteriormente conocido como JBoss AS es una implementación ligera del contenedor JEE (Java Enterprise Edition). Su tiempo de ejecución de aplicaciones flexible está escrito en Java que lo ayuda a crear aplicaciones fantásticas.
WildFly es un tiempo de ejecución de aplicaciones multiplataforma que se ejecuta en los sistemas operativos Linux, macOS y Windows. Creado por JBoss Inc, y en 2006 fue adquirido por RedHat y se convirtió en WildFly.
En este tutorial, le mostraremos cómo instalar WildFly en la última versión de Ubuntu 20.04. Instalaremos la última versión de WildFly 20, habilitaremos la consola de administración para WildFly, crearemos el usuario administrador de WildFly y configuraremos Nginx como un proxy inverso para WildFly.
Requisitos previos
Para esta guía, instalaremos WildFly en el último Ubuntu Server 20.04 FocalFossa con 2 GB de RAM, 50 GB de espacio libre en disco y 2 CPU.
¿Qué haremos?
- Instalar Java OpenJDK 11
- Agregar nuevo usuario y descargar WildFly
- Configuración básica de WildFly
- Habilitar la consola de administración de WildFly
- Configurar usuario administrador para WildFly
- Configurar Nginx como proxy inverso para WildFly
- Pruebas
Paso 1:instalar Java OpenJDK
Primero, instalaremos Java OpenJDK en el servidor Ubuntu 20.04. Y usaremos Java OpenJDK 11 para nuestra instalación de WildFly, que es la versión predeterminada de los paquetes de Java en el repositorio de Ubuntu 20.04.
Actualice el repositorio de todos los paquetes e instale Java OpenJDK usando el comando apt a continuación.
sudo apt update
sudo apt install default-jdk
Una vez completada toda la instalación, verifique la versión de Java usando el siguiente comando.
java -version
A continuación se muestra el resultado que obtendrá.
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Como resultado, se completó la instalación de Java OpenJDK en Ubuntu 20.04.
Paso 2:Agregar nuevo usuario y descargar WildFly
En este paso, crearemos un nuevo usuario del sistema y un grupo 'wildfly' y descargaremos el código fuente de wildfly al directorio '/opt/wildfly'.
Ahora cree un nuevo usuario y grupo llamado 'wildfly' usando los comandos a continuación.
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
A continuación, vaya al directorio '/opt' y descargue el código fuente de wildfly usando el comando wget como se muestra a continuación.
cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz
El código fuente de wildfly ha sido descargado.
Ahora extraiga el código fuente de wildfly y cambie el nombre del directorio extraído a 'wildfly'.
tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly
Después de eso, cambie la propiedad del directorio 'wildfly' al usuario y grupo 'wildfly'.
chown -RH wildfly:wildfly /opt/wildfly
Como resultado, el directorio de instalación de wildfly se encuentra en el directorio '/opt/wildfly'. El servicio wildfly se ejecutará bajo el nuevo usuario llamado 'wildfly' que acabamos de crear en la parte superior.
Paso 3 - Configuración básica de WildFly
Después de descargar el código fuente de wildfly, configuraremos wildfly en el sistema Ubuntu.
Cree un nuevo directorio de configuración '/etc/wildfly' y copie la configuración de muestra 'wildfly.conf' en él.
mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
A continuación, copie el archivo de servicio 'wildfly.service' en el directorio '/etc/systemd/system'.
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
Después de eso, copie la muestra del script de lanzamiento de wildfly en el directorio '/opt/wildfly/bin' y hágalo ejecutable.
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh
Ahora vuelva a cargar el administrador systemd para aplicar el nuevo archivo 'wildfly.service'.
systemctl daemon-reload
Inicie el servicio wildfly y agréguelo al arranque del sistema.
systemctl start wildfly
systemctl enable wildfly
El servicio wildfly está funcionando en el sistema Ubuntu con la configuración predeterminada.
Verifique el servicio wildfly usando el siguiente comando.
ss -plnt
systemctl status wildfly
Y obtendrá el resultado como se muestra a continuación.
Como puede verse, wildfly se ejecuta como un servicio systemd en el puerto TCP predeterminado '8080' en el sistema Ubuntu.
Paso 4:habilitar la consola de administración de WildFly
En este paso, configuraremos un wildfly para que se ejecute en la dirección IP local '127.0.0.1' y habilitemos su consola de administración. Editaremos la configuración de wildfly 'wildfly.conf', el script de inicio de wildfly 'launch.sh' y el archivo de servicio de wildfly 'wildfly.service'.
Edite la configuración de wildfly '/etc/wildfly/wildfly.conf' usando el editor vim.
vim /etc/wildfly/wildfly.conf
Ahora cambie el valor de 'WILDFLY_BIND' con la dirección IP local '127.0.0.1'.
WILDFLY_BIND=127.0.0.1
Para habilitar la consola de administración de wildfly, agregue la configuración 'WILDFLY_CONSOLE_BIND' a continuación.
WILDFLY_CONSOLE_BIND=127.0.0.1
Guardar y cerrar.
Luego, edite el script de inicio de lanzamiento para wildfly '/opt/wildfly/bin/launch.sh' usando el editor vim.
vim /opt/wildfly/bin/launch.sh
En el 'dominio.sh ' y 'independiente.sh ' líneas, agregue una opción adicional para habilitar la consola de administración wildfly como se muestra a continuación.
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
Guardar y cerrar.
A continuación, edite el archivo de servicio predeterminado para wildfly '/etc/systemd/system/wildfly.service' usando el editor vim.
vim /etc/systemd/system/wildfly.service
En el 'ExecStart=/opt/wildfly/bin/launch.sh.... ' línea, agregue la opción '$WILDFLY_CONSOLE_BIND ' como se muestra a continuación.
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
Guardar y cerrar.
Ahora vuelva a cargar el administrador systemd y reinicie el servicio wildfly.
systemctl daemon-reload
systemctl restart wildfly
El servicio wildfly se está ejecutando con la consola de administración habilitada, compruébalo con el siguiente comando.
ss -plnt
systemctl status wildfly
A continuación se muestra el resultado que obtendrá.
Como resultado, wildfly se ejecuta en la dirección IP local '127.0.0.1 ' con el puerto TCP predeterminado '8080 ', y la consola de administración de wildfly habilitada en el puerto TCP '9990 '.
Paso 5:configurar el usuario administrador WildFly
En este paso, crearemos un nuevo usuario para administrar wildfly usando el script 'add-user.sh' proporcionado por wildfly.
Ejecute el script wildfly 'add-user.sh' como se muestra a continuación.
sh /opt/wildfly/bin/add-user.sh
Para el tipo de usuario, escriba 'a ' para crear el usuario de administración (administrador para administrar wildfly).
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
Ahora escriba su nombre de usuario y contraseña, y asegúrese de usar la contraseña segura.
Enter the details of the new user to add.
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :
Para el grupo del nuevo usuario, simplemente presione 'Enter ' para continuar.
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
A continuación, escriba 'sí ' para agregar su usuario a 'ManagementRealm ' en mosca salvaje.
About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
Escriba 'sí ' para habilitar a su usuario como un proceso para administrar el controlador de host maestro-esclavo de wildfly.
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="YXNoN2RhNjVzZyMkJQ==" />
Como resultado, se ha creado el usuario administrador y administrador de wildfly.
Paso 6:configurar Nginx como proxy inverso para WildFly
En este paso, instalaremos y configuraremos Nginx como proxy inverso para wildfly en el sistema Ubuntu.
Instale los paquetes Nginx usando el comando apt a continuación.
sudo apt install nginx -y
Una vez finalizada toda la instalación, vaya al directorio de configuración '/etc/nginx/'.
cd /etc/nginx/
Cree un nuevo archivo 'proxy_headers.conf' en el directorio '/etc/nginx/conf.d' usando el editor vim.
vim conf.d/proxy_headers.conf
Pegue la siguiente configuración.
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;
Guardar y cerrar.
A continuación, cree una nueva configuración de host virtual para wildfly en el directorio '/etc/nginx/sites-available'.
vim sites-available/wildfly
Cambia la dirección IP por la tuya y pega la configuración en ella.
server {
listen 80;
server_name SERVER-IP;
location / {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:8080;
}
location /management {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/management;
}
location /console {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/console;
}
location /logout {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/logout;
}
location /error {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990;
}
}
Guardar y cerrar.
A continuación, active el host virtual wildfly y verifique la configuración de Nginx.
ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t
Ahora asegúrese de que no haya ningún error, luego reinicie el servicio Nginx.
systemctl restart nginx
Como resultado, se ha completado la instalación y configuración de Nginx como un proxy inverso para wildfly.
Paso 7 - Prueba
Abra su navegador web y escriba la dirección IP de su servidor en la barra de direcciones.
http://192.168.1.50/
Ahora obtendrá la página de índice predeterminada de wildfly como se muestra a continuación.
A continuación, acceda a la consola de administración de wildfly en la ruta URL '/console' como se muestra a continuación.
http://192.168.1.50/consola/
Inicie sesión con su usuario y contraseña de administrador de wildfly.
Ahora obtendrá el panel de administración de wildfly como se muestra a continuación.
Como resultado, la instalación de wildfly con el proxy inverso Nginx en el servidor Ubuntu 20.04 se completó con éxito.