Cómo instalar el servidor de aplicaciones GlassFish con el proxy inverso Nginx en Debian 12

GlassFish es una implementación gratuita y de código abierto de la Plataforma Java EE desarrollada por Eclipse. Es la primera implementación mundial de la plataforma Java EE que proporciona un servidor de aplicaciones ligero y te permite desplegar múltiples aplicaciones basadas en Java. GlassFish es compatible con varios tipos de tecnologías de aplicaciones Java, como Enterprise JavaBeans, JPA, JavaServer Faces, JMS y muchas más.

GlassFish es una de las mejores opciones para que los desarrolladores desarrollen e implanten aplicaciones basadas en Java. Permite a los desarrolladores desarrollar aplicaciones empresariales de forma cómoda y también con una arquitectura escalable. El proyecto GlasshFish fue iniciado originalmente por Sun Microsystem. Viene con dos licencias libres diferentes: la Licencia Común de Desarrollo y Distribución y la Licencia Pública General GNU.

En esta guía, instalarás GlassFish Application Server en Debian 12 siguiendo un proceso paso a paso. También configurarás Nginx como proxy inverso para tu instalación de GlassFish.

Requisitos previos

Para comenzar el proceso, asegúrate de que tienes lo siguiente:

  • Un servidor Debian 12 con al menos 4 GB de RAM o memoria.
  • Un usuario no root con privilegios sudo.

Instalación de Java OpenJDK

GlassiFish es un servidor de aplicaciones para desplegar aplicaciones Java. Para instalar GlassFish, primero debes instalar Java en tu sistema Debian. En este momento, el repositorio de Debian proporciona Java OpenJDK 17, que es compatible con la última versión de GlassFish.

En primer lugar, actualiza y refresca tu repositorio Debian mediante el siguiente comando.

sudo apt update

actualizar repo

Una vez actualizado el repositorio, instala el paquete default-jdk ejecutando el siguiente comando. Al instalar el paquete default-jdk, instalarás Java OpenJDK 17.

sudo apt install default-jdk

Escribe y para proceder a la instalación.

instalar java

Una vez finalizada la instalación, comprueba tu versión de Java ejecutando el comando que aparece a continuación. Deberías ver que Java OpenJDK 17 está instalado.

java -version

comprobar java

Configuración del sistema

Tras instalar Java OpenJDK, el siguiente paso es configurar tu sistema Debian instalando paquetes adicionales como wget y unzip, creando un nuevo usuario del sistema glassfish y configurando la variable de entorno JAVA_HOME.

Para empezar, instalarás el paquete unzip y wget ejecutando el siguiente comando apt.

sudo apt install unzip wget -y

instalar wget unzip

Ahora, ejecuta el siguiente comando para crear un nuevo usuario de sistema glassfish. Este usuario se utilizará para ejecutar tu instalación de GlasFish, que se ubicará en el directorio /opt/glassfish.

sudo useradd -M -d /opt/glassfish -U -s /bin/false glassfish

A continuación, crea un nuevo script bash /etc/profile.d/java.sh utilizando el siguiente comando del editor nano.

sudo nano /etc/profile.d/java.sh

Añade la siguiente configuración para establecer la variable de entorno JAVA_HOME y añadir la ruta binaria de Java al PATH del sistema.

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

Guarda y cierra el archivo cuando hayas terminado.

Ahora carga la nueva variable de entorno dentro de /etc/profile.d/java.sh utilizando el comando fuente que aparece a continuación.

source /etc/profile.d/java.sh

Por último, ejecuta el siguiente comando para verificar las variables de entorno PATH del sistema y JAVA_HOME.

echo $JAVA_HOME
echo $PATH

Si todo va bien, deberías ver que la ruta JAVA_HOME está configurada en el directorio /usr/lib/jvm/java-17-openjdk-amd64, y que el directorio bin de Java se ha añadido al PATH del sistema.

Configuración de JAVA_HOME

Descarga del paquete binario GlassFish

Con el OpenJDK de Java instalado y tu sistema Debian preparado, ya puedes descargar e instalar GlassFish. Antes de continuar, consulta la página de descargas de GlassFish para obtener la última versión de GlassFish. En este momento, la última versión de GlassFish es la v7.0.10.

Ve al directorio /tmp y descarga el paquete binario de GlassFish mediante el comando wget que aparece a continuación. Una vez finalizado el proceso de descarga, deberías ver el archivo glassfish-7.0.10.zip.

cd /tmp
wget https://download.eclipse.org/ee4j/glassfish/glassfish-7.0.10.zip

Extrae el archivo glassfish-7.0.10.zip al directorio /opt mediante el comando unzip que aparece a continuación. El paquete GlassFish se extraerá al directorio /opt/glassfish7.

unzip glassfish-7.0.10.zip -d /opt

Por último, cambia el nombre del directorio extraído de /opt/glassfish7 a /opt/glassfish. A continuación, cambia la propiedad del directorio /opt/glassfish al usuario glassfish.

mv /opt/glassfish7 /opt/glassfish
sudo chown -R glassfish:glassfish /opt/glassfish

Ejecutar GlassFish como servicio Systemd

Tras descargar el paquete binario de GlassFish, crearás un nuevo archivo de servicio systemd que se utilizará para ejecutar GlassFish. Esto te permitirá gestionar GlassFish mediante la utilidad systemctl y ejecutar GlassFish en segundo plano como un servicio systemd.

Para ejecutar GlassFish como un servicio systemd, ejecuta el siguiente comando del editor nano para crear un nuevo archivo /etc/systemd/system/glassfish.service.

sudo nano /etc/systemd/system/glassfish.service

Introduce la siguiente configuración en el archivo.

[Unit]
Description = GlassFish Server v7
After = syslog.target network.target

[Service]
User=glassfish
ExecStart=/opt/glassfish/bin/asadmin start-domain
ExecReload=/opt/glassfish/bin/asadmin restart-domain
ExecStop=/opt/glassfish/bin/asadmin stop-domain
Type = forking

[Install]
WantedBy = multi-user.target

Guárdalo y ciérralo cuando hayas terminado.

Ahora, ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar los cambios.

sudo systemctl daemon-reload

Con el gestor systemd recargado, inicia y habilita el servicio glassfish mediante el siguiente comando.

sudo systemctl start glassfish
sudo systemctl enable glassfish

ejecutar glassfish systemd

Por último, verifica el estado del servicio glassfish utilizando el siguiente comando.

sudo systemctl status glassfish

Si todo va bien, deberías ver el estado de glassfish como activo (en ejecución), y está habilitado.

comprobar servicio glassfish

Configurar el usuario y asegurar la administración de GlassFish

Llegados a este punto, GlassFish está en funcionamiento. Ahora vas a configurar la instalación de GlassFish cambiando la contraseña por defecto de la Consola de Administración y habilitando la Administración Segura. Esto se puede hacer mediante el comando asadmin que está disponible en el directorio /opt/glassfish/bin.

Ejecuta la siguiente línea de comando asadmin para cambiar la contraseña de administrador de tu instalación de GlassFish.

sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 change-admin-password

Durante el proceso, se te preguntará lo siguiente:

  • Introduce el usuario admin por defecto para GlassFish.
  • Pulsa ENTER cuando se te pida la contraseña. El usuario administrador por defecto de GlassFish viene sin contraseña.
  • Introduce ahora la nueva contraseña de administrador de GlassFish y repite el proceso.

Cuando finalice el proceso, deberías recibir un mensaje como el siguiente:

cambiar contraseña admin glassfish

A continuación, ejecuta el siguiente comando asadmin para habilitar el admin seguro en tu instalación de GlassFish.

Esencialmente, el admin seguro habilita las comunicaciones seguras mediante SSL entre el servidor de administración del dominio (DAS), las instancias remotas y los clientes de administración, incluyendo la utilidad asadmin, la consola de administración y los clientes REST.

sudo -u glassfish /opt/glassfish/bin/asadmin --port 4848 enable-secure-admin

Introduce tu usuario y contraseña de administrador de GlassFish, y pulsa Intro. Cuando hayas terminado, se mostrará la siguiente salida.

activar administración segura

Una vez habilitado el Secure admin, ejecuta el siguiente comando para reiniciar el servicio glassfish y aplicar los cambios.

sudo systemctl restart glassfish

Ahora, inicia tu navegador web y visita la dirección IP del servidor seguida del puerto 8080, como http://192.168.5.15:8080/. Si la instalación de GlassFish se ha realizado correctamente, deberías obtener la siguiente página, que confirma que GlassFish se está ejecutando.

índice glassfish

Por último, abre una nueva pestaña y visita la misma dirección IP del servidor con el puerto 4848 (es decir: https://192.168.5.15:4848/) para acceder a la página de administración de GlassFish. Acepta los certificados SSL/TLS en tu navegador web y, si tienes éxito, deberías obtener la siguiente página de acceso a la administración de GlassFish.

página de inicio de sesión de glassfish

Instalación de Nginx como Proxy Inverso

En esta guía, ejecutarás GlassFish con Nginx como proxy inverso. Ahora, instalarás Nginx en tu máquina Debian y crearás una nueva configuración de bloque de servidor para GLassFish. En este caso, utilizaremos un nombre de dominio local glassfish.hwdomain.io.

En primer lugar, instala Nginx en tu sistema Debian utilizando el siguiente comando apt. Introduce y para proceder con la instalación.

sudo apt install nginx

instalar nginx

Una vez instalado Nginx, crea una nueva configuración de bloque de servidor /etc/nginx/sites-available/glassfish utilizando el siguiente comando del editor nano.

sudo nano /etc/nginx/sites-available/glassfish

Introduce la siguiente configuración y asegúrate de cambiar el parámetro nombre_servidor por el nombre de tu dominio local.

upstream glassfish {
    server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}

server {
listen          80;
server_name     glassfish.hwdomain.io;

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://glassfish/;
}
}

Guarda el archivo y sal de él cuando hayas terminado.

A continuación, ejecuta el siguiente comando para activar la configuración del bloque servidor glassfish y verifica la sintaxis de Nginx para asegurarte de que tienes la sintaxis correcta.

sudo ln -s /etc/nginx/sites-available/glassfish /etc/nginx/sites-enabled/
sudo nginx -t

Si tienes la sintaxis correcta de Nginx, deberías obtener la salida‘la prueba se ha realizado correctamente – la sintaxis es correcta‘.

configurar proxy inverso nginx

Ahora puedes reiniciar el servicio Nginx y aplicar los cambios. A continuación, verifica el servicio Nginx para asegurarte de que se está ejecutando.

sudo systemctl restart nginx
sudo systemctl status nginx

En la siguiente salida, deberías ver que el servicio Nginx se está ejecutando.

comprobar nginx

Acceder a la instalación de GlassFish

En la última sección, accederás a tu instalación de GlassFish desde la máquina cliente. Puedes utilizar cualquier sistema operativo como máquina cliente.

Edita el archivo /etc/hosts en tu máquina local e introduce la siguiente configuración. Asegúrate de cambiar la dirección IP del servidor y el nombre del dominio local. Si utilizas un cliente Windows, asegúrate de modificar el archivo C:\Windows\System32\drivers\etc\hosts como administrador.

192.168.5.15    glassfish.hwdomain.io

Ahora vuelve a tu navegador web y visita el nombre de dominio de tu instalación GlassFish, como http://glassfish.hwdomain.io/. Si la configuración de tu proxy inverso Nginx es correcta, deberías ver la página de índice por defecto de GlassFish como la siguiente.

glassfish nginx proxy inverso

A continuación, visita la página de administración de GlassFish dentro del puerto 4848 (es decir: https://glassfish.hwdomain.io:4848/). En la página de inicio de sesión, introduce tu usuario y contraseña de administrador y haz clic en Iniciar sesión.

Acceso a GlassFish

Si tu instalación se ha realizado correctamente, deberías obtener el panel de administración de GlassFish como el siguiente:

Panel GlassFish

Ahora haz clic en el menú Servidor para comprobar el estado de tu instalación de GlassFish. En este ejemplo, deberías ver que GlassFish 7.0 está instalado con el estado En ejecución.

Estado del pez de cristal

Desde aquí, ya puedes gestionar tu servidor de aplicaciones GlassFish

Conclusión

En conclusión, ya has instalado correctamente el servidor de aplicaciones GlassFish en un servidor Debian 12, siguiendo las instrucciones paso a paso. Has instalado GlassFish con Java OpenJDK 17 y Nginx como proxy inverso, y también has asegurado GlassFish cambiando la contraseña de administrador por defecto y activando el Secure Admin. Ahora puedes empezar a desplegar tu aplicación con GlassFish.

También te podría gustar...