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.
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
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‘.
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
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.
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‘.
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«.
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.
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.
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
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.
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.
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.
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.
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.
Si el usuario y la contraseña de administrador son correctos, deberías ver el panel de administración de GlassFish como el siguiente.
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.