En esta entrada veremos cómo instalar GlassFish en CentOS 8 / CentOS Stream 8 paso a paso, de tal forma que puedas desplegar aplicaciones de servidor realizadas en Java conforme al estándar Yakarta EE 9.1, sobre tu servidor o VPS CentOS.
Contenido
Antes de instalar GlassFish en CentOS 8
Para seguir los pasos de esta guía de instalación de GlassFish en CentOS 8 / CentOS Stream 8 es necesario satisfacer los siguientes requisitos mínimos:
- Una máquina CentOS 8 / CentOS Stream 8 actualizada.
- Kit de desarrollo de Java (JDK) versión 11 ó superior.
- Un usuario con permisos de sudo.
- Acceso a Internet.
En caso de no disponer aún del entorno necesario, puede ser de utilidad consultar previamente nuestra guía de instalación de Java en CentOS 8.
Además, necesitaremos algunas herramientas de consola que obtendremos de los repositorios de CentOS 8, por lo que los actualizamos:
~$ sudo yum update
E instalamos los paquetes necesarios:
~$ sudo yum install -y unzip wget
Cómo descargar GlassFish para CentOS 8
Podemos descargar GlassFish para CentOS 8 directamente desde el sitio web del proyecto, donde encontraremos la última versión estable:
En el apartado «Assets» del anuncio del lanzamiento de la última versión encontraremos el paquete .zip que nos interesa. Podemos realizar la descarga directamente desde el navegador, pero si trabajamos remotamente desde consola usaremos alguna herramienta como wget para realizar la descarga:
~$ wget https://github.com/eclipse-ee4j/glassfish/releases/download/6.2.5/glassfish-6.2.5.zip
Cómo instalar GlassFish en CentOS 8
Para instalar GlassFish en CentOS 8 / CentOS Stream 8 descomprimiremos el paquete que acabamos de descargar en algún lugar adecuado del sistema de archivos, siendo el directorio /opt la ubicación recomendada:
~$ sudo unzip -q glassfish-6.2.5.zip -d /opt/glassfish
La plataforma está lista para funcionar como aplicación independiente en segundo plano, por lo que la podemos iniciar:
~$ sudo /opt/glassfish/glassfish6/bin/asadmin start-domain
GlassFish queda corriendo en segundo plano, dejando varios puertos a la escucha.
Configurar el firewall de CentOS 8 para GlassFish
Si vamos a acceder desde red a GlassFish será necesario añadir una serie de reglas a la configuración del firewall de CentOS 8.
Para acceder a las aplicaciones mediante conexiones estándar abriremos el puerto 8080:
~$ sudo firewall-cmd --permanent --add-port=8080/tcp
Para el acceso seguro, mediante conexiones SSL a través de protocolo HTTPS abriremos el puerto 8181:
~$ sudo firewall-cmd --permanent --add-port=8181/tcp
Y si deseamos acceder a la consola de administración de forma remota, abriremos el puerto 4848:
~$ sudo firewall-cmd --permanent --add-port=4848/tcp
Todos estos ajustes se aplican recargando la configuración del firewall:
~$ sudo firewall-cmd --reload
Cómo acceder a GlassFish en CentOS 8
Para acceder a GlassFish en CentOS 8 desde un navegador bastará con indicar la dirección (IP, nombre DNS, dominio, localhost si accedemos localmente, etc.) y el puerto al que queremos conectar.
Por ejemplo, la máquina CentOS 8 sobre la que hemos preparado este tutorial es accesible en el subdominio centos8s.local.lan, así que para acceder a la versión HTTP del servicio en el puerto 8080 usaremos http://centos8s.local.lan:8080 como URL.
Si queremos acceder a la versión segura del sitio, usaremos el protocolo HTTPS y el puerto 8181.
En nuestro ejemplo, ahora sería https://centos8s.local.lan:8181 la URL adecuada.
Como GlassFish por defecto usa certificados autofirmados para cifrar las conexiones HTTPS, el navegador seguramente mostrará algún aviso relativo a la imposibilidad de comprobar la autenticidad de dichos certificados:
Esto es normal, así que continuaremos con la conexión de la forma en que nos permita el navegador y se mostrará la versión segura del sitio:
Si quieres acceder remotamente a la consola hay que hacer algún ajuste que veremos a continuación.
Cómo configurar GlassFish en CentOS 8
Para acceder a la consola de administración de GlassFish en CentOS 8 de forma remota hay que crear una contraseña para el usuario administrador, admin, tarea que haremos desde consola con el comando asadmin:
~$ sudo /opt/glassfish/glassfish6/bin/asadmin change-admin-password Enter admin user name [default: admin]> Enter the admin password> Enter the new admin password> Enter the new admin password again> Command change-admin-password executed successfully.
Se nos pedirá el nombre del administrador (que dejamos en blanco para que use admin), la contraseña actual (que también dejamos en blanco) y la nueva contraseña y su confirmación.
Una vez que el usuario administrador dispone de contraseña, podemos activar el acceso remoto a la consola de administración, también con asadmin:
~$ sudo /opt/glassfish/glassfish6/bin/asadmin enable-secure-admin Enter admin user name> admin Enter admin password for user "admin"> You must restart all running servers for the change in secure admin to take effect. Command enable-secure-admin executed successfully.
Tendremos que identificarnos como usuario administrador para realizar esta operación, cuyos cambios no se aplicarán hasta que reiniciemos GlassFish:
~$ sudo /opt/glassfish/glassfish6/bin/asadmin restart-domain
El proceso de renicio tomará unos intantes.
Para acceder a la consola de administración usaremos el protocolo HTTPS y el puerto 4848.
En el ejemplo de este tutorial, https://centos8s.local.lan:4848 sería la URL para acceder a la consola:
Se mostrará una página de inicio de sesión donde usaremos las credenciales del usuario administrador.
Una vez autenticados, accedemos a la página principal de la consola de administración de GlassFish en CentOS 8:
Podemos cerrar la sesión en la consola desde el botón «Logout» y detener la plataforma con el comando asadmin:
~$ sudo /opt/glassfish/glassfish6/bin/asadmin stop-domain
Cómo configurar GlassFish como servicio de CentOS 8
Podemos configurar GlassFish como servicio de CentOS 8 de modo que no sea necesario estar iniciando y deteniendo la plataforma manualmente, tenerla disponible automáticamente con cada arranque del sistema, etc.
Para ello creamos un archivo de servicio de Systemd para GlassFish:
~$ sudo nano /etc/systemd/system/glassfish.service
Con un contenido similar al siguiente:
[Unit] Description = GlassFish Server 6.2.5 para CentOS 8 After = syslog.target network.target [Service] ExecStart=/opt/glassfish/glassfish6/bin/asadmin start-domain ExecReload=/opt/glassfish/glassfish6/bin/asadmin restart-domain ExecStop=/opt/glassfish/glassfish6/bin/asadmin stop-domain Type = forking [Install] WantedBy = multi-user.target
Guardamos el archivo e iniciamos el servicio por primera vez de forma manual:
~$ sudo systemctl start glassfish
Si queremos que GlassFish esté siempre disponible, podemos habilitarlo para que arranque automáticamente en cada inicio de CentOS 8:
~$ sudo systemctl enable glassfish
Es fácil comprobar el estado del servicio, también con systemctl:
~$ systemctl status glassfish
Finalmente, puedes comprobar que el servicio funciona accediendo a GlassFish desde el navegador web.
Si has accedido a la consola de administración antes de lanzar GlassFish como servicio, borra los datos de navegación de tu navegador web antes de volver a acceder.
Cómo desplegar aplicaciones WAR sobre GlassFish en CentOS 8
Para desplegar una aplicación WAR sobre GlassFish en CentOS 8, teniendo el archivo .war disponible localmente, accederemos a la página «Deploy Applications or Modules» de la consola de administración.
Podemos llegar aquí desde la página principal, denominada «Common Tasks«, siguiendo el enlace «Deploy an Application» de la sección «Deployment«.
También podemos llegar desde la entrada «Applications» del menú del panel lateral, usando a continuación el botón «Deploy«.
Con la opción «Packaged File to Be Uploaded to the Server» marcada, seleccionaremos el archivo .war a través del botón correspondiente.
Una vez seleccionado el archivo podremos configurar varios aspectos de la aplicación como el tipo, nombre, estado, etc. Hechos los ajustes (en caso de realizar alguno), desplegaremos la aplicación con el botón «OK«.
En unos instantes se mostrará la página de aplicaciones, donde la nueva aplicación figurará en la lista de aplicaciones desplegadas:
El enlace mostrado en la columna «Name» lleva a la página de ajustes de la aplicación, de modo que si lo que queremos es lanzar dicha aplicación seguiremos su enlace «Launch» en la columna «Action«.
Se abre una nueva página que muestra los enlaces directos a la aplicación, tanto en versión estándar HTTP como en versión segura HTTPS. Visitando cualquiera de estos enlaces por fin se mostrará la aplicación:
Conclusión
Ahora que sabes cómo instalar y configurar GlassFish en CentOS 8 / CentOS Stream 8 ya puedes desplegar aplicaciones Java de servidor, tanto en red local como desde Internet, ya sean tus propios desarrollos o aplicaciones de terceros.
¡Apoya comoinstalar.me!
¿Ya puedes desplegar aplicaciones sobre tu propia máquina gracias a nuestro pequeño tutorial? Si es así y quieres agradecérnoslo, cualquier pequeña contribución aporta mucho al mantenimiento de este sitio y la creación de más contenidos.
Puedes ayudarnos dejando una propina de tan sólo 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!
¿Dudas, preguntas, sugerencias?
Si te ha surgido cualquier duda o pregunta, tienes alguna sugerencia o corrección, etc. puedes dejar un comentario. Los comentarios están moderados para intentar luchar contra el SPAM, pero se revisan diariamente.