Hola a todos, hoy aprenderemos cómo instalar y configurar Glassfish con Oracle Java en Ubuntu 15.04 Linux Distribution. GlassFish es un servidor de aplicaciones de código abierto para el desarrollo y la implementación de aplicaciones Java Platform, Enterprise Edition (plataforma Java EE) y tecnologías web basadas en tecnología Java. Admite diferentes tecnologías basadas en Java como Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets y más. Glassfish proporciona un núcleo ligero y extensible basado en los estándares de OSGi Alliance con un contenedor web. Para la configuración y administración, tiene una consola de administración muy buena y fácil de usar con una herramienta de actualización para actualizaciones y componentes adicionales. Glassfish tiene un buen soporte para clústeres de alta disponibilidad y equilibrio de carga.
Ahora, instalaremos Glassfish en Ubuntu 15.04 con pasos bastante sencillos.
1. Agregando Java PPA
En primer lugar, necesitaremos instalar Oracle JDK 8. Como Oracle Java no está disponible en el repositorio de Ubuntu, necesitaremos agregar un PPA para acceder al instalador de Oracle Java 8. Entonces, primero instalaremos python-software-properties si no está instalado y agregaremos PPA en nuestra máquina Ubuntu 15.04.
# apt-get install python-software-properties
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt python-minimal
python-pycurl python2.7 python2.7-minimal
Suggested packages:
python-doc python-tk python-apt-dbg python-gtk2 python-vte python-apt-doc
libcurl4-gnutls-dev python-pycurl-dbg python-pycurl-doc python2.7-doc binutils
binfmt-support
The following NEW packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt python-minimal
python-pycurl python-software-properties python2.7 python2.7-minimal
0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
Need to get 4,126 kB of archives.
After this operation, 17.6 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Ahora, agregaremos el ppa para Java usando el comando add-apt-repository como se muestra a continuación.
# add-apt-repository ppa:webupd8team/java
Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK7 / JDK8 / JDK9). There are no actual Java files in this PPA.
More info (and Ubuntu installation instructions):
- for Oracle Java 7: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html
- for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html
Debian installation instructions:
- Oracle Java 7: http://www.webupd8.org/2012/06/how-to-install-oracle-java-7-in-debian.html
- Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html
Important!!! For now, you should continue to use Java 8 because Oracle Java 9 is available as an early access release (it should be released in 2016)! You should only use Oracle Java 9 if you explicitly need it, because it may contain bugs and it might not include the latest security patches! Also, some Java options were removed in JDK9, so you may encounter issues with various Java apps. More information and installation instructions (Ubuntu / Linux Mint / Debian): http://www.webupd8.org/2015/02/install-oracle-java-9-in-ubuntu-linux.html
More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java
Press [ENTER] to continue or ctrl-c to cancel adding it
gpg: keyring `/tmp/tmpahw0r1nh/secring.gpg' created
gpg: keyring `/tmp/tmpahw0r1nh/pubring.gpg' created
gpg: requesting key EEA14886 from hkp server keyserver.ubuntu.com
gpg: /tmp/tmpahw0r1nh/trustdb.gpg: trustdb created
gpg: key EEA14886: public key "Launchpad VLC" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
OK
Después de agregar el repositorio de PPA, querremos actualizar el índice del repositorio de paquetes local. Para hacerlo, necesitaremos ejecutar el siguiente comando.
# apt-get update
2. Instalación de Oracle JDK 8
Después de actualizar el índice del repositorio, querremos instalar Oracle JDK 8 ejecutando el siguiente comando.
# apt-get install oracle-java8-installer
3. Configuración de la variable "JAVA_HOME"
Ahora, después de instalar Oracle JDK 8, querremos configurar la variable de entorno "JAVA_HOME" como la ruta del Oracle JDK 8 recién instalado. Para configurar la variable, necesitaremos editar el archivo /etc/environment usando nuestro editor de texto favorito.
# nano /etc/environment
Después de abrir con el editor de texto, necesitaremos agregar la siguiente línea al final del archivo.
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
Una vez que se agrega la línea, necesitaremos volver a cargar el archivo.
# source /etc/environment
Después de instalar y configurar Oracle JDK 8, ejecutaremos el siguiente comando para verificar y confirmar.
# java -version
java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
Si vemos el resultado como se muestra arriba, se confirma que tenemos Java 8 instalado en nuestra máquina.
4. Instalación de GlassFish 4.1
Después de que nuestro Java esté instalado correctamente, ahora procederemos a instalar Glassfish 4.1, que es la última versión hasta la fecha. Incluso podemos descargar las versiones anteriores desde la descarga oficial de GlassFish.
# cd /tmp
# wget 'http://download.java.net/glassfish/4.1/release/glassfish-4.1.zip'
Ahora, querremos extraer el paquete zip descargado del último GlassFish 4.1. Para hacerlo, necesitaremos instalar, descomprimir y luego extraer el paquete en el directorio /opt.
# apt-get install unzip # unzip glassfish-4.1.zip -d /opt
5. Configuración de la RUTA de GlassFish
Ahora, querremos configurar la variable PATH para GlassFish para que los archivos ejecutables de GlassFish sean accesibles directamente desde cualquier directorio. Para hacerlo, editaremos el archivo ~/.profile y agregaremos la RUTA al directorio donde se extrae GlassFish.
# nano ~/.profile
Luego agregue las siguientes líneas en él.
export PATH=/opt/glassfish4/bin:$PATH
# source ~/.profile
6. Iniciando el servidor GlassFish
Finalmente, después de instalar Oracle Java 8 y GlassFish 4.1 en nuestra máquina Ubuntu 15.04. Querremos iniciar el servidor GlassFish. Para hacerlo, ejecutaremos asadmin de la siguiente manera.
# asadmin start-domain
Waiting for domain1 to start ............ Successfully started the domain : domain1 domain Location: /opt/glassfish4/glassfish/domains/domain1 Log File: /opt/glassfish4/glassfish/domains/domain1/logs/server.log Admin Port: 4848 Command start-domain executed successfully.
Un dominio es un conjunto de una o más instancias de GlassFish Server administradas por un servidor de administración. El puerto predeterminado del servidor GlassFish es 8080 y el puerto del servidor de administración es 4848 con el nombre de usuario de administración como admin sin contraseña. Podemos visitar http://dirección-ip:8080/ para consultar la página de inicio de GlassFish Server y http://dirección-ip:4848/ para obtener la página de inicio de sesión del administrador en nuestro navegador web.
7. Habilitación de administración segura
Ahora, para acceder al panel de administración de forma remota a través de la página web, necesitaremos habilitar administración segura usando como administrador ejecutando el siguiente comando.
# 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.
Esto nos pedirá el nombre de usuario y la contraseña que queremos establecer.
Nota :Si obtiene este error "falla remota:al menos un usuario administrador tiene una contraseña vacía, que el administrador seguro no permite. Use el comando change-admin-password o la consola de administración para crear contraseñas no vacías para el administrador cuentas. " deberá ejecutar como administrador change-admin-password e ingrese una nueva contraseña para el administrador, luego vuelva a intentar el comando anterior.
# asadmin change-admin-password
Enter admin user name [default: admin]>admin
Enter the admin password>
Enter the new admin password>
Enter the new admin password again>
Authentication failed for user: admin (Usually, this means invalid user name and/or password)
Command change-admin-password failed.
Después de configurar, necesitaremos reiniciar el dominio.
# asadmin restart-domain
El dominio se reinició con éxito El comando restart-domain se ejecutó con éxito.
Después de habilitar el administrador seguro, podemos acceder al panel de administración dirigiendo nuestro navegador web a http://ip-address:4848. Luego, acceda al panel de administración ingresando las credenciales ingresadas anteriormente.
8. Implementación de WAR en GlassFish
Ahora, después de que hayamos instalado correctamente GlassFish y hayamos ejecutado el servidor, querremos implementar una aplicación WAR en GlasFish. Aquí, en este tutorial implementaremos hello.war para la prueba del servidor. Entonces, primero descargaremos hello.war desde la página de muestra oficial de GlassFish usando el comando wget.
# wget https://glassfish.java.net/downloads/quickstart/hello.war
Después de descargar el archivo war, ahora implementaremos el archivo war usando el comando asadmin.
# asadmin deploy hello.war
Enter admin user name> admin
Enter admin password for user "admin">
Application deployed with name hello.
Command deploy executed successfully.
Esto nos pedirá que ingresemos el nombre de usuario y la contraseña para la implementación de la aplicación.
Como se ha implementado la aplicación de guerra, podemos verificarla visitando http://ip-address:8080/hello usando nuestro navegador web.
9. Desinstalación y detención del servidor
Ahora, si hemos realizado nuestra tarea con GlassFish Server y la aplicación implementada, simplemente podemos cancelar la implementación de la aplicación y detener el servidor GlassFish.
Para desinstalar una aplicación en ejecución, simplemente podemos ejecutar asadmin undeploy con el nombre de la aplicación que queremos desinstalar.
# asadmin undeploy hello
Enter admin user name> admin
Enter admin password for user "admin">
Command undeploy executed successfully.
Para detener el dominio de GlassFish en ejecución, simplemente podemos ejecutar asadmin stop-domain .
# asadmin stop-domain
Waiting for the domain to stop .
Command stop-domain executed successfully.
Crear un archivo de contraseña
Si está cansado de ingresar el nombre de usuario y la contraseña cada vez que implementa o anula la implementación de una aplicación, simplemente puede crear un archivo llamado pwdfile con un editor de texto y agregue las siguientes líneas en él.
# nano pwdfile
AS_ADMIN_PASSWORD=your_admin_password
Ahora, después de crear ese archivo, podemos agregar el indicador --passwordfile apuntando al archivo pwd y luego implementar la aplicación de guerra como se muestra a continuación.
# asadmin --passwordfile pwdfile deploy hello.war
Application deployed with name hello. Command deploy executed successfully.
Ahora, la solicitud de nombre de usuario y contraseña no aparecerá más.
Conclusión
GlassFish es un increíble servidor de aplicaciones de código abierto que implementa Java EE. Podemos instalar GlassFish con diferentes métodos, como paquete ZIP, paquete autoextraíble y plataforma completa o distribución de perfil web. Aquí, en este tutorial, hemos utilizado la plataforma completa con el paquete zip. La última versión 4.1 de GlassFish incluye nueva compatibilidad con la API de Java para el procesamiento de JSON (JSON-P) 1.0, la API de Java para WebSocket 1.1, las aplicaciones por lotes para la plataforma Java 1.0, las utilidades de concurrencia para Java EE 1.0, el servicio de mensajes de Java (JMS) 2.0, API de Java para servicios web RESTful (JAX-RS) 2.0 y muchos estándares JAVA EE actualizados. GlassFish ha hecho que la implementación de la aplicación War Java sea muy rápida, segura y fácil. Si tiene alguna pregunta, sugerencia, comentario, escríbalo en el cuadro de comentarios a continuación para que podamos mejorar o actualizar nuestro contenido. ¡Gracias! Disfruta :-)