{scrollbar}

Este artículo proporciona detalles sobre la instalación sobre Apache Geronimo. Aquí encontrarás información acerda de los pre-requisitos de software, en donde descargar Geronimo, y como adaptar la instalación para usar puertos distintos a los predeterminados.

En este documento también encontrarás detalles sobre la instalación y configuración de distintas topologías, como 2-capas (2-tier), con el servidor web remoto.

Este artículo esta organizado de acuerdo a las secciones siguientes:

Software pre-requisito

Descargando Geronimo

El código fuente y binarios de Geronimo v1.1 puede encontrarse en
http://geronimo.apache.org/downloads.html

Construyendo desde el código fuente

Expando al código fuente (.zip ó tar.gz) e ingresa a la línea de comandos, en el directorio <geronimo_home>.
Para poder hacer la construcción (build), emplea al siguiente comando

maven -Dmaven.test.skip=true -Dmaven.itest-skip=true m:rebuild-all

Las dos propiedades de sistema le solicitan a Maven el ignorar toda prueba y sólo hacer la construcción.

Instalando Geronimo desde los binarios

Dependiendo de la plataforma en donde planeas instalar y ejecutar a Apache Geronimo, descarga la imagen de instalación apropiada.
Elige al formato de compresión compatible con tu sistema (zip, tar, gz), mediante clic directo en la liga; descárgalo y exapnde al binario en tu disco duro, dentro de un nuevo directorio. La instalación de Apache Geronimo es tan simple como la expansión de archivos .zip ó .tar. Desde una línea de comandos, ingresa al directorio <geronimo_home> e inicia al servidor mediante el siguiente comando,

java -jar server.jar

Plataformas probadas

Las plataformas en donde Apache Geronimo v1.1 ha sido probado son:

SO

Plataforma

Versión Java

Open Suse 10.0

Intel 32bit

Sun Java 1.4.2_11

Fedora Core v5

Intel 32bit

Sun Java 1.4.2_11

Ubuntu 6.06

Intel 32 bit

Sun Java 1.4.2_12

Debian 3.1r2

Intel 32 bit

Sun Java 1.4.2_12

Gentoo 2006.0

Intel 32 bit

Sun Java 1.4.2_12

Cambiando los puertos predeterminados

El puerto HTTP es el estándar de red que los contenedores Web usan. Este número de puerto tiene que ser usado en cualquier URL HTTP que llama a aplicaciones Web en ejecución bajo Geronimo. Los módulos de servidor e inicio de Geronimo están controlados mediante el archivo config.xml, donde el puerto por defecto es 8080. Existen diversas razones para cambiar puertos de red, como la ejecución de múltiples instancias de Geronimo.

Para configurar al puerto por defecto, edita al archivo <geronimo_home>/var/config/config.xml. Abre el archivo en un editor de texto. Observarás al archivo como se muestra a continuación:

xmlsolidconfig.xml <?xml version="1.0" encoding="UTF-8"?> <!-- ======================================================== --> <!-- Warning - This XML file is re-generated by Geronimo when --> <!-- changes are made to Geronimo's configuration, therefore --> <!-- any comments added to this file will be lost. --> <!-- ======================================================== --> <attributes xmlns="http://geronimo.apache.org/xml/ns/attributes-1.1"> <module name="geronimo/rmi-naming/1.1-410806/car"> <gbean name="RMIRegistry"> <attribute name="port">1099</attribute> </gbean> <gbean name="NamingProperties"> <!-- Check whether this really works if host name is 0.0.0.0 --> <attribute name="namingProviderUrl">rmi://0.0.0.0:1099</attribute> </gbean> </module> <module name="geronimo/j2ee-server/1.1-410806/car"> </module> <module name="geronimo/j2ee-security/1.1-410806/car"> <gbean name="JaasLoginServiceRemotingServer"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">4242</attribute> </gbean> <gbean name="JMXService"> <attribute name="protocol">rmi</attribute> <attribute name="host">0.0.0.0</attribute> <attribute name="port">9999</attribute> <attribute name="urlPath">/jndi/rmi://0.0.0.0:1099/JMXConnector</attribute> </gbean> </module> <module name="geronimo/axis/1.1-410806/car"/> <module name="geronimo/openejb/1.1-410806/car"> <gbean name="EJBNetworkService"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">4201</attribute> </gbean> </module> <module name="geronimo/j2ee-corba/1.1-410806/car" load="false"> <gbean name="NameServer"> <attribute name="dbDir">var/cosnaming.db</attribute> <attribute name="port">1050</attribute> </gbean> <gbean name="Server"> <attribute name="args">-ORBInitRef, NameService=corbaloc::localhost:1050/NameService</attribute> </gbean> <gbean name="UnprotectedServer"> <attribute name="args">-ORBInitRef, NameService=corbaloc::localhost:1050/NameService</attribute> </gbean> </module> <module name="geronimo/system-database/1.1-410806/car"> <gbean name="DerbyNetwork"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">1527</attribute> </gbean> </module> <module name="geronimo/activemq-broker/1.1-410806/car"> <gbean name="ActiveMQ.tcp.default"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">61616</attribute> </gbean> </module> <module name="geronimo/activemq/1.1-410806/car"/> <module name="geronimo/directory/1.1-410806/car" load="false"> <gbean name="geronimo.server:name=DirectoryService"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">1389</attribute> </gbean> </module> <module name="geronimo/ldap-realm/1.1-410806/car" load="false"/> <module name="geronimo/tomcat/1.1-410806/car"> <gbean name="TomcatEngine"> <reference name="TomcatValveChain" /> </gbean> <!-- To enable accesslogging change the load="false" below to load="true" --> <gbean name="FirstValve" load="false"></gbean> <gbean name="TomcatResources"/> <gbean name="TomcatWebConnector"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">8080</attribute> <attribute name="redirectPort">8443</attribute> </gbean> <gbean name="TomcatAJPConnector"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">8009</attribute> <attribute name="redirectPort">8443</attribute> </gbean> <gbean name="TomcatWebSSLConnector"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">8443</attribute> </gbean> </module> <!-- n.b. be sure the gbean deployer is explicitly loaded before j2ee-deployer so that defaultEnvironment overrides work properly --> <module name="geronimo/geronimo-gbean-deployer/1.1-410806/car"/> <module name="geronimo/j2ee-deployer/1.1-410806/car"> <gbean name="WebBuilder"> <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-1.1</attribute> </gbean> </module> <module name="geronimo/openejb-deployer/1.1-410806/car"> <gbean name="EJBBuilder"> <attribute name="listener">?name=TomcatWebContainer</attribute> </gbean> </module> <module name="geronimo/client-deployer/1.1-410806/car"/> <module name="geronimo/axis-deployer/1.1-410806/car"/> <module name="geronimo/javamail/1.1-410806/car" load="false"> <gbean name="SMTPTransport"> <attribute name="host">localhost</attribute> <attribute name="port">25</attribute> </gbean> </module> <module name="geronimo/sharedlib/1.1-410806/car"> <gbean name="SharedLib"> <attribute name="classesDirs">var/shared/classes</attribute> <attribute name="libDirs">var/shared/lib</attribute> </gbean> </module> <module name="geronimo/tomcat-deployer/1.1-410806/car"/> <module name="geronimo/welcome-tomcat/1.1-410806/car"/> <module name="geronimo/webconsole-tomcat/1.1-410806/car"/> <module name="geronimo/uddi-tomcat/1.1-410806/car" load="false"/> <module name="geronimo/remote-deploy-tomcat/1.1-410806/car" /> <module name="geronimo/hot-deployer/1.1-410806/car" /> </attributes>

Para cambiar al puerto predeterminado, busca al código que se muestra a continuación en el archivo config.xml, y cambia el número de puerto.

xmlsolidSegmento de config.xml - Tomcat <gbean load="false" name="FirstValve"/> <gbean name="TomcatResources"/> <gbean name="TomcatWebConnector"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">9000</attribute> <attribute name="redirectPort">8443</attribute> </gbean> xmlsolidSegmento de config.xml - Jetty <module name="geronimo/activemq/1.1/car"/> <module name="geronimo/jetty/1.1/car"> <gbean name="JettyWebConnector"> <attribute name="host">0.0.0.0</attribute> <attribute name="port">9000</attribute> <attribute name="redirectPort">8443</attribute>

Guarda al archivo, con lo que, al iniciar al Servidor Geronimo podrás apuntar tu explorador web a

http://localhost:9000/console

Cambiando al usuario predefinido y su contraseña

Apache Geronimo se instala con el usuario predeterminado - system y contraseña - manager. Existen tres opciones para cambiar al usuario y contraseña predeterminados.

  1. Editando los archivos .properties.
  2. A través de la consola.
  3. Creando un nuevo security realm.

Editando los archivos .properties

Abre el archivo <geronimo_home>/var/security/groups.properties y edita su contenido. Agrega cualquier nombre de usuario que requieras y guarda al archivo.
#000000solid admin=usuario1,usuario2

A continuación, abre el archivo <geronimo_home>/var/security/users.properties. Puedes cambiar la contraseña para la cuenta system existente ó agregar nuevos usuarios. Cuando se agreguen nuevos usuarios, el nombre de usuario debe ser el mismo que se agregó al archivo groups.properties.

#000000solid usuario1=contraseña1 usuario2=contraseña2

En este ejemplo, dos usuarios han sido agregados, usuario1 y usuario2. La cuenta predeterminada system ha sido eliminada. Tanto usuario1 como usuario2 pueden acceder a la consola y a las herramientas de activación en la línea de comandos.

A través de la consola

Ingresa a la consola y haz clic en Console Realm dentro del panel de navegación de consola - folder de seguridad.

Esto te llevará a la pantalla de Console Realm Users and Groups.

Haz clic en la liga Create New User para agregar un nuevo usuario, o bien, en los nombres de usuarios para editar a los existentes.
Haz clic en la liga Create New Group para agregar a un nuevo usuario al grupo.
Una vez que el nuevo usuario y contraseña han sido agregados, cierra sesión de la consola e intenta ingresar con el nuevo usuario y su contraseña.
La creación de tu propio security realm esta siendo cubierta en las tareas administrativas, bajo la documentación principal 1.1.

Topologías

En el mundo globalizado actual, las organizaciones modernas enfrentan muchas oportunidades y retos día a día. Muchos de esos retos pueden probar (onus) la infraestructura TI de la organización, por lo que su configuración es crucial. El servidor de aplicaciones Apache Geronimo soporta aplicaciones enterprise de-tamaño-pequeñas-a-medianas, proporcionando soporte robusto y seguro para las especificaciones J2EE más recientes. Esta sección destacará las distintas opciones de configuración que pueden ser usadas en tu ambiente de producción.

Sistema de dos capas (two-tier)

La siguiente figura muestra una máquina cliente accesando una aplicación mantenida en el servidor Geronimo. Aunque la figura indica sólo una máquina cluente, varias máquinas pueden estar conectadas al servidor permitiendo que usuarios en esas máquiinas tengan acceso a las aplicaciones Web mantenidas en Geronimo, mediante un explorador Web estándar.
El perfil cliente de la aplicación puede variar desde una interfaz simple de línea de comandos a una interfaz compleja que puede ser creada mediante tecnología popular GUI. Estas aplicaciones pueden acceder la capa Web mediante la conexión al servidor, usando sus propias conexiones HTTP, ó pueden tener acceso a objetos de la capa de negocios y EIS con el apoyo del contenedor de aplicación cliente Geronimo.
Características de la aplicación cliente Geronimo : -

Sistema de tres capas (three-tier)

La arquitectura de sistema de tres capas es más escalable que la de dos capas, y soporta cientos de usuarios y organización. También incrementa la flexibilidad y libertad.

Configurando con Apache HTTPd

Actualmente el servidor Web Apache es el mejor software servidor HTTP, más preferido, y de mayor uso en Internet. En tu ambiente de producción, usando Geronimo con servidor Web Apache te debería dar ventajas sólidas, como se indica a continuación.

  1. Clustering y Balanceo de Carga
    Clustering permite, a un servidor de aplicaciones, el soportar múltiples nodos con failover, compartición de datos de sesión, y balanceo de carga a lo largo de varios nodos de red. El balanceo de carga de una aplicación puede hacerse con el apoyo incluido en el servidor Apache.

  2. Codificador SSL
    Las ventajas de proxies de servidor Web son que te ofrecen una manera de obtener afinidad de servidor para mensajes encriptados-SSL, sin la necesidad de hardware adicional. Cabe señalar que el extenso procesamiento SSL pone una carga extra en el proxy. Lo anterior será controlado por el servidor Apache mientras Geronimo brinda atención a la lógica de negocio de la aplicación.

  3. Compartición de Carga de Aplicación
    En muchos sistemas que proporcionan servicios, los servidores Apache y Geronimo trabajan juntos para atender las peticiones HTTP. Apache atiende las peticiones para las páginas estáticas (incluyendo archivos HTML, JPEG, y GIF), mientras Geronimo atiende peticiones de páginas dinámicas (servlets ó JSPs) con la ayuda de Tomcat/Jetty. Los servidores Geronimo también pueden atender páginas estáticas, pero en sistemas combinados, son comúnmente configurados para atender peticiones dinámicas.

Resumen

El uso del servidor de aplicaciones Geronimo te permite construir una infraestructura enterprise segura, que cumple con los requisitos y estándares más recientes. Este artículo te proporcionó una perspectiva a la posibilidad de adaptar la configuración que parte de la instalación estándar de Geronimo, mostrando algunas alternativas en su instalación.