Cómo instalar el servidor de aplicaciones Java GlassFish en Rocky Linux

GlassFish es una implementación gratuita y de código abierto de la Plataforma Java EE desarrollada por Eclipse. Es la principal implementación mundial de la plataforma Java EE. 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 este tutorial, instalaremos el Servidor de Aplicaciones Java GlassFish con el proxy inverso Nginx en Rocky Linux. Instalaremos Java OpenJDK, instalaremos GlassFish mediante el paquete binario, e instalaremos y configuraremos Nginx como proxy inverso.

Requisitos previos

Para empezar, debes asegurarte de que tienes los siguientes requisitos:

  • Un servidor Rocky Linux – Puedes utilizar el Rocky Linux 8 ó 9.
  • Un usuario no root con privilegios sudo root/administrador.
  • Un nombre de dominio local para el servidor de desarrollo local.

Ahora pasemos a la instalación.

Instalación de Java OpenJDK

GlassFish es un servidor de aplicaciones Java. Para instalarlo, debes instalar Java OpenJDK en tu servidor.

En el momento de escribir esto, la última versión de GlassFish 6.2.5 requería al menos Java OpenJDK 11. Y ahora, comenzarás la instalación instalando Java OpenJDK 11 en el sistema Rocky Linux.

El Java OpenJDK por defecto está disponible en el repositorio appstream de Rocky Linux. Instálalo mediante el siguiente comando dnf.

sudo dnf install java-11-openjdk

Cuando se te solicite, introduce y para confirmar y pulsa ENTER para continuar, y comenzará la instalación de Java OpenJDK.

instalar java

A continuación, ejecuta el siguiente comando java para verificar la instalación. Deberías recibir el resultado de Java OpenJDK 11 instalado en el Rocky Linux.

java -version

comprobar java

Una vez instalado Java OpenJDK, el siguiente paso será descargar GlassFish e instalarlo manualmente desde el paquete binario.

Descarga de la aplicación GlassFish

GlassFish es una aplicación compatible con Java EE desarrollada por Eclipse. Puedes instalarla manualmente construyendo a partir del código fuente o instalarla mediante el paquete binario de distribución proporcionado por Eclipse.

En este paso, instalarás GlassFish mediante el paquete de distribución binario que puedes descargar del sitio web de Eclipse.

Antes de iniciar la instalación de GlassFish, ejecuta el siguiente comando dnf para instalar el paquete unzip. Éste se utilizará para extraer el paquete de distribución de GlassFish.

sudo dnf install unzip

A continuación, ejecuta el siguiente comando para crear un nuevo usuario dedicado para GlassFish. En este ejemplo, ejecutarás el servidor de aplicaciones GLassFish a través del usuario no root‘glassfish‘.

sudo useradd -m -d /opt/glassfish6 -U -s /bin/false glassfish

Una vez creado el usuario ‘glassfish‘, navega hasta el directorio ‘/tmp ‘ y descarga el paquete de distribución binaria de GlassFish mediante el comando wget que se indica a continuación.

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

Deberías obtener el nuevo archivo ‘glassfish-6.2.5.zip‘.

crear usuario descargar glassfish

Ejecuta el siguiente comando unzip para extraer el paquete GlassFish ‘glassfish-6.2.5.zip’ al directorio ‘ /opt ‘.

unzip /tmp/glassfish-6.2.5.zip -d /opt

Ahora que el paquete GlassFish está extraído en el directorio ‘ /opt/glassfish6 ‘.

Por último, ejecuta el siguiente comando para cambiar la propiedad del directorio de instalación de GlassFish‘/opt/glassfish6‘ al usuario y grupo‘glassfish‘.

sudo chown -R glassfish:glassfish /opt/glassfish6

Ahora que ya has descargado el paquete GlassFish, puedes iniciar la aplicación GlassFish manualmente mediante el archivo binario ‘/opt/glassfish6/bin/asadmin’. Pero para hacerlo más fácil, vas a configurar y ejecutar GlassFish como un servicio systemd.

Ejecutar GlassFish como servicio Systemd

En esta guía, ejecutarás el servidor de aplicaciones Java GlassFish mediante el servicio systemd. Esto te permitirá gestionar fácilmente el servidor de aplicaciones GlassFish mediante el comando systemctl.

Para empezar, crea un nuevo archivo de servicio systemd ‘/lib/systemd/system/glassfish.service‘ utilizando el siguiente editor nano.

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

Añade la siguiente configuración al archivo.

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

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

[Install]
WantedBy = multi-user.target

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando systemctl para recargar el gestor systemd y aplicar el nuevo archivo de servicio‘glassfish.service‘.

sudo systemctl daemon-reload

Ahora que has recargado el gestor systemd, puedes iniciar y activar el servicio «glassfish» mediante el siguiente comando systemctl.

sudo systemctl start glassfish
sudo systemctl enable glassfish

configurar servicio glassfish

Una vez iniciado el servicio «glassfish«, ejecuta el siguiente comando systemctl para verificar el servicio«glassfish» y asegurarte de que se está ejecutando.

sudo systemctl status glassfish

Deberías recibir la salida del servicio «glassfish» en ejecución como en la siguiente captura de pantalla.

comprobar servicio glassfish

Ahora que la Aplicación Java ‘glassfish‘ se está ejecutando, el siguiente paso será empezar a configurar la administración de GlassFish.

Configurar la administración de GlassFish

La instalación por defecto de GlassFish viene sin contraseña de administrador. Así que ahora, configurarás el usuario y la contraseña de administración para GlassFish y asegurarás la instalación de GlassFish a través de la línea de comandos‘/opt/glassfish6/bin/asadmin‘.

Ejecuta el siguiente comando para empezar a configurar el usuario y la contraseña de administrador para tu instalación de GlassFish.

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

Ahora se te pedirán algunos datos de administración de GlassFish.

  • Introduce el usuario para GlassFish – el usuario por defecto es ‘admin’.
  • La instalación por defecto de GlassFish viene sin contraseña, así que pulsa ENTER.
  • Ahora introduce la nueva contraseña para tu instalación de GlassFish y repite la operación.

Ahora deberías tener un mensaje de salida como‘Command change-admin-password executed successfully‘.

configuración admin glassfish

Una vez configurado el usuario de administración de GlassFish, empieza a proteger tu instalación de GlassFish.

Ejecuta el siguiente comando para empezar a asegurar el GlassFish.

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

Cuando se te pida el usuario y la contraseña de administrador del GlassFish, introduce los datos tal y como los has configurado antes. Cuando todo haya terminado, verás una salida como«Comando enable-secure-admin ejecutado con éxito«.

asegurar el pez de cristal

A continuación, ejecuta el siguiente comando para reiniciar el servicio‘glassfish‘ y aplicar los nuevos cambios.

sudo systemctl restart glassfish

En este punto, el GlassFish se está ejecutando ahora con un nuevo usuario y contraseña de administración y también está asegurado. Por defecto, el servidor de aplicaciones Java de GlassFish se ejecuta en el puerto ‘8080‘, y la administración de GlassFish se ejecuta en el puerto 4848.

Antes de acceder a tu instalación de GlassFish, ejecuta el siguiente comando firewall-cmd para abrir los puertos 8080 y 4848.

sudo firewall-cmd --add-port=8080/tcp --zone=public
sudo firewall-cmd --add-port=4848/tcp --zone=public

Por último, abre tu navegador web y visita la dirección IP seguida del puerto 8080 (es decir: http://192.168.5.100:8080). Ahora deberías ver la página index.html por defecto de tu servidor de aplicaciones Java GlassFish.

índice glassfish

Para la administración de GlashFish, visita la dirección IP del servidor con el puerto 4848 (es decir: http: //192.168.5.100:4848/). Y deberías ver la página de acceso a la administración de GlassFish.

página de inicio de sesión de glassfish

Configurar Nginx como Proxy Inverso

En este punto, la Aplicación Java GlassFish se está ejecutando con la administración habilitada y segura. Ahora vas a instalar Nginx y configurarlo como proxy inverso para GlassFish.

Usando el proxy inverso Nginx, ejecutarás el GlassFish en el puerto estándar HTTP o HTTPS (si está habilitado).

Ejecuta el siguiente comando dnf para instalar el servidor web Nginx. Cuando te pregunte por la configuración, introduce Y y pulsa ENTER para continuar.

sudo dnf install nginx

instalar nginx

A continuación, crea una nueva configuración de bloqueos del servidor Nginx‘/etc/nginx/conf.d/glassfish.conf‘ utilizando el siguiente editor nano. Esta configuración hará que Nginx funcione como proxy inverso para GlassFish.

sudo nano /etc/nginx/conf.d/glassfish.conf

Añade la siguiente configuración al archivo y asegúrate de cambiar el nombre de dominio local‘glassfish.hwdomain.io‘ por tu dominio.

upstream glassfish6 {
  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://glassfish6/;
}
}

Guarda el archivo y cierra el editor cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar la configuración de Nginx. Si la configuración es correcta, deberías ver un mensaje de salida como ‘Lasintaxis es correcta – la prueba se ha realizado correctamente‘.

sudo nginx -t

Ahora que has creado el bloque del servidor Nginx para GlassFish, a continuación ejecuta el siguiente comando para iniciar y habilitar el servicio Nginx.

sudo systemctl start nginx
sudo systemctl enable nginx

El servicio Nginx debería estar ahora en marcha y habilitado y se ejecutará automáticamente al arrancar el sistema.

configurar proxy inverso nginx

Por último, verifica el servicio Nginx utilizando lo siguiente para asegurarte de que el servicio se está ejecutando.

sudo systemctl status nginx

Verás una salida como la siguiente – Puedes ver que el servicio Nginx se está ejecutando.

comprobar nginx

Configurar Firewalld

Se está ejecutando el firewalld por defecto en el Linux rocoso. Para que el GlassFish sea accesible, necesitarás abrir el puerto HTTP y el puerto de administración del GlassFish 4848.

Ejecuta el siguiente comando firewall-cmd para añadir los servicios HTTP y HTTPS y el puerto por defecto 4848 para la administración del GlassFish.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --add-port=4848/tcp --permanent

Ahora vuelve a cargar las reglas del firewalld y verifica la lista de reglas habilitadas mediante el siguiente comando.

sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Deberías recibir la siguiente salida – Los servicios HTTP y HTTPS se han añadido al firewalld y también se ha añadido el puerto 4848/tcp de administración de GlassFish.

configurar cortafuegos

Acceder a GlassFish

En tu ordenador local, edita el archivo ‘/etc/hosts ‘ utilizando el siguiente editor nano.

sudo nano /etc/hosts

Añade la siguiente configuración al archivo y asegúrate de cambiar la dirección IP del servidor y el nombre de dominio local para tu instalación de GlassFIsh.

192.168.5.100  glassfish.hwdomain.io

Guarda el archivo y sal del editor cuando hayas terminado.

A continuación, abre tu navegador web y visita el nombre de dominio de tu instalación de GlassFish (es decir: http://glassfish.hwdomain.io/). Ahora deberías obtener la página index.html por defecto del GlassFish.

índice glassfish

Ahora abre una nueva pestaña y visita tu nombre de dominio seguido del puerto de administración 4848 (es decir: https://glassfish.hwdomain.io:4848/). Aparecerá la página de acceso a la administración de tu GlassFish.

Introduce el usuario y la contraseña de administrador que hayas configurado y haz clic en Iniciar sesión.

glassfish login

Si el usuario y la contraseña de administrador son correctos, deberías ver el panel de administración de GlassFish como el siguiente.

panel de administración glassfish

Conclusión

En esta guía, has instalado GlassFish Java Application Server en un servidor Linux Rocky. También has instalado Java OpenJDK 11 y has añadido un nuevo archivo de servicio al sistema Linux. Por último, también has aprendido la instalación y configuración del servidor web Nginx como proxy inverso para el Servidor de Aplicaciones Java GlassFish.

Para el siguiente paso, ya puedes empezar a desplegar otras aplicaciones o empezar a configurar la Alta Disponibilidad de GLassFish.

También te podría gustar...