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
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.
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
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
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.
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
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.
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:
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.
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.
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.
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
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‘.
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.
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.
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.
Si tu instalación se ha realizado correctamente, deberías obtener el panel de administración de GlassFish como el siguiente:
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.
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.