En esta entrada vamos a ver cómo instalar GlassFish en Debian 10 Buster paso a paso, de forma que podrás usar esta potente plataforma para desplegar todo tido de aplicaciones web en Java de acuerdo a las especificaciones de Jakarta EE 9.1, sobre tu servidor o VPS Debian.
Tabla de contenidos
Antes de instalar GlassFish en Debian 10 Buster
Si quieres seguir los pasos de esta pequeña guía de instalación de GlassFish en Debian 10 Buster es importante trabajar sobre el siguiente escenario:
- Un sistema Debian 10 Buster actualizado.
- El JDK o entorno de desarrollo de Java 11.
- Un usuario con privilegios de sudo.
- Acceso a Internet.
En caso de no disponer aún del entorno necesario, puede ser de utilidad echar un vistazo en primer lugar a nuestra guía de instalación de Java en Debian 10 Buster, teniendo en cuenta lo dicho sobre la versión requerida.
También necesitaremos algunas herramientas del sistema disponibles a través de los repositorios de Debian 10, por lo que actualizamos las listas de paquetes:
~$ sudo apt update
E instalamos dichas herramientas:
~$ sudo apt install -y unzip wget
Cómo descargar GlassFish para Debian 10 Buster
Vamos a descargar GlassFish para Debian 10 Buster desde el sitio del proyecto, de modo que obtendremos la última versión estable disponible (marcada como «Latest release«):
Descargaremos el paquete en formato .zip directamente desde el navegador o desde consola con la herramienta wget (la mejor opción si trabajamos remotamente):
~$ wget https://github.com/eclipse-ee4j/glassfish/releases/download/6.2.5/glassfish-6.2.5.zip
Cómo instalar GlassFish en Debian 10 Buster
Para instalar GlassFish en Debian 10 Buster prácticamente lo único que hay que hacer es desccomprimir el archivo que hemos descargado en la ubicación que nos interese:
~$ sudo unzip -q glassfish-6.2.5.zip -d /opt/
Ya podríamos manejar la plataforma con los comandos del subdirectorio bin/ dentro del directorio glassfish/ que se acaba de crear en la ubicación de destino indicada en el comando anterior.
Por ejemplo, para iniciar GlassFish usaríamos el comando asadmin de la siguiente forma:
~$ sudo /opt/glassfish6/bin/asadmin start-domain
Configurar el firewall
Si está activado el firewall UFW de Debian 10 y queremos acceder a la plataforma desde red, habrá que añadir reglas para permitirlo. Para el acceso estándar HTTP abriremos el puerto 8080 TCP:
~$ sudo ufw allow 8080/tcp
Para el acceso a las aplicaciones mediante acceso seguro HTTPS abriremos el puerto 8181 TCP:
~$ sudo ufw allow 8181/tcp
Y para el acceso a la consola de administración abriremos el puerto 4848 TCP:
~$ sudo ufw allow 4848/tcp
Acceso a GlassFish en Debian 10 Buster
Con la plataforma iniciada, para acceder a GlassFish en Debian 10 desde un navegador web habrá que indicar la dirección del servidor (IP, dominio, nombre DNS, etc.) añadiendo el puerto correspondiente.
Por ejemplo, la máquina Debian 10 Buster sobre la que hemos preparado este tutorial es accesible en el subdominio debian10.local.lan, así que para acceder al sitio web de las aplicaciones mediante protocolo HTTP estándar podemos usar http://debian10.local.lan:8080 como URL:
Comprobamos que la plataforma funciona y es perfectamente accesible.
Para detener la plataforma podremos usar de nuevo el comando asadmin:
~$ sudo /opt/glassfish6/bin/asadmin stop-domain
Cómo configurar GlassFish en Debian 10 Buster
Configuración del servicio
Una de las configuraciones más interesantes es trabajar con GlassFish como un servicio más de Debian 10 Buster, para lo que crearemos un archivo de unidad de SystemD:
~$ sudo nano /lib/systemd/system/glassfish6.service
El contenido será la configuración del servicio:
[Unit] Description = GlassFish Server 6.2.5 para Debian 10 Buster After = syslog.target network.target [Service] 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
Una vez guardado el archivo ya podemos iniciar el nuevo servicio glassfish6:
~$ sudo systemctl start glassfish6
Podemos comprobar en cualquier momento el estado del servicio mediante el comando systemctl status glassfish6
:
Si necesitamos que GlassFish inicie automáticamente con cada arranque de Debian 10 Buster, debemos habilitar el servicio:
~$ sudo systemctl enable glassfish6
Habilitar la consola de administración
Para poder acceder a la consola de administración necesitamos un usuario administrador con contraseña. GlassFish incluye un usuario admin que por defecto no tiene contraseña, así que la crearemos:
~$ sudo /opt/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.
Este comando es interactivo y nos solicitará el usuario (admin por defecto), su contraseña actual (ninguna por defecto), la nueva contraseña y su confirmación.
Con el usuario admin listo para trabajar, activaremos la consola de administración, también a través del comando asadmin:
~$ sudo /opt/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.
En este caso introduciremos el nombre del usuario administrador y su contraseña, tras lo cual la consola de administración queda activada.
Será necesario reiniciar el servicio para poder continuar:
~$ sudo systemctl restart glassfish6
Podemos conectar a la consola desde un navegador web de forma similar al ejemplo anterior, especificando en esta ocasión el protocolo HTTPS y el puerto 4848.
Para seguir con el ejemplo de este tutorial, en esta ocasión usaríamos https://debian10.local.lan:4848/ como URL:
Seguramente el navegador muestre un aviso indicando que no es posible verificar la identidad del emisor de los certificados con los que se cifra la conexión. Esto es normal porque por defecto GlassFish en Debian 10 Buster usa certificados autofirmados, así que podemos continuar con la conexión.
Tras unos instantes se mostrará la página de inicio de sesión de la consola de administración de GlassFish, donde introduciremos usuario y contraseña:
Tras comprobar las credenciales se mostrará la página principal de la consola de administración de GlassFish, donde podremos empezar a trabajar en los distintos ajustes y configuraciones.
Cómo desplegar aplicaciones sobre GlassFish en Debian 10 Buster
Si diponemos de una aplicación lista para desplegar en formato WAR podremos hacerlo desde la consola de administración. En la página principal de la misma, la sección «Common Tasks«, encontraremos en el apartado «Deployment» la opción «Deploy an Application» que será la que utilicemos.
Se mostrará una nueva página donde podremos a través de un control seleccionar el archivo .war en nuestra máquina local:
Tras seleccionar el archivo se podrán configurar varios datos, como el nombre de la aplicación, el directorio donde residirá, etc. Terminada esta configuración, si es que hay que modificar algo, cargaremos la aplicación en la plataforma mediante el botón «OK«.
Si la operación tiene éxito se mostrará la página «Applications» donde podremos ver la lista de aplicaciones de la plataforma, apareciendo la nueva aplicación:
Si queremos probar la aplicación podremos hacerlo desde el enlace «Launch«, que abrirá una nueva página donde se muestra un enlace a la aplicación mediante protocolo HTTP estándar y otro enlace a la versión segura HTTPS.
Podemos seguir cualquiera de los dos enlaces para acceder a la aplicación:
Y todo funciona como cabría esperar.
Conclusión
Ahora que sabes cómo instalar GlassFish en Debian 10 Buster ya puedes trabajar sobre aplicaciones Java de servidor tanto de terceros como tus propios desarrollos, desplegando la plataforma en minutos.
Si ya has hecho funcionar la plataforma en tu máquina gracias a este tutorial y quieres agradecérmelo, puedes hacerlo dejando una propina de 1 $ usando PayPal:
¡Gracias!
Actualizado a la versión 6.2.5.