Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Anchor
top
top

Este artículo artículo es un intento de cubrir tantas tareas administrativas que sean posibles, comunes como no tan comunes. El artículo artículo se agrupa en cuatro secciones principales, teniendo un flujo similar a lo que encontrarías encontrarías ante el uso de la Consola de Administración Administración Geronimo, facilitándote facilitándote la familiarización familiarización tanto en tareas como consola.

Este artículo artículo esta organizado con la secciones siguientes:

...

Administrando el Servidor Apache Geronimo

En esta sección sección se cubren las tareas administrativas más más comunes, diarias, y relacionadas con el servidor, con las cuales te podrías podrías topar. Secciones subsecuentes se enfocarán enfocarán en la configuración configuración de servicios, administración administración de aplicaciones y configuración configuración de seguridad.

Eligiendo al contenedor Web (Jetty

...

ó Tomcat)

Cuando descargas y construyes Apache Geronimo a partir del código código fuente (proporcionado por svn), obtendrías obtendrías una estructura de directorios similar a la siguiente:

...

Si navegas dentro del directorio assemblies encontrarás encontrarás los siguientes subdirectorios:

...

Nos enfocaremos en los dos últimos últimos directorios que, como seguramente esperas, contienen imágenes imágenes independientes de Apache Geronimo, configuradas para usar alguno de los dos contenedores Web.

Dependiendo de que desees usar Jetty ó ó Tomcat, ingresarás ingresarás al directorio respectivo (j2ee-jetty-server ó ó j2ee-tomcat-server), y la estructura interna de subdirectorios será será la misma. Una vez que te encuentres dentro del directorio específico específico del contenedor Web, ingresa al directorio target/geronimo-1.0. Este directorio es tu servidor Apache Geronimo, independiente y totalmente completo. Podrías Podrías copiar este directorio a una ubicación ubicación distinta. A lo largo de estas series de artículosartículos, las referencias a este directorio serán serán hechas con <geronimo_home>

Entonces, eligiendo al contenedor Web ya no consiste en cambiar archivos de configuraciónconfiguración, más más bien ahota es la elección elección de una estructura de directorio para assemblies diferentes. Dentro de esta estructura encontraras al directorio /bin; la siguiente sección sección explica los comandos almacenados en dicho directorio y el cómo cómo iniciar y detener al servidor.

Regresar a la sección sección superior

Iniciando y deteniendo al servidor

Existen dos formas, mediante la línea línea de comandos, para iniciar al servidor. Desde una ventana de la línea línea de comandos ó ó una terminal, ingresa al directorio <geronimo_home>/bin. Desde ahí ahí puedes teclear:

java -jar server.jar

ó ó simplemente

startup

Consulta las secciones Startup y Geronimo para obtener todas las opciones del comando en cuestióncuestión.

Para detener al servidor tendrás tendrás que abrir una nueva ventana de la línea línea de comandos ó ó una terminal, ingresar al directorio <geronimo_home>/bin y ejecutar al comando shutdown. Se te solicitará solicitará usuario (username) y contraseña contraseña (password). Consulta las secciones Shutdown y Geronimo para obtener las opciones disponibles del comando en cuestióncuestión.

Si el servidor ya se encuentra en ejecuciónejecución, tienes la opción opción de emplear la Consola de Administración Administración Geronimo para detenerlo (shutdown) de forma remota. Con el servidor arriba y en ejecuciónejecución, abre un explorador Web e ingresa a la siguiente URL para tener acceso a la consola:

http://localhost:8080/console

Ingresa a la Consola de Administración Administración Geronimo y haz clic en Shutdown, ubicado en el menú menú de Navegación Navegación de la Consola (Console Navigation), en la sección sección izquierda.

Al hacer clic en el botón botón Shutdown en el fragmento del Administrador del Servidor (Server Manager portlet), se te solicitará solicitará una o más más veces la confirmación confirmación de la petición petición de detener al servidor. Haz clic en el botón botón Shutdown para confirmar y detener al servidor. No es necesario mencionar que, como consecuencia, se perderá perderá la conexión conexión con la Consola de Administración Administración y necesitarás necesitarás reiniciar al servidor desde una terminal ó ó desde una ventana de línea línea de comandos para retomar la conexiónconexión.

Regresar a la sección sección superior

Configurar el nivel de

...

bitácora

Como se explicó explicó en la sección sección Consola de Administración Administración Geronimo, la Consola de Administración Administración proporciona cuatro fragmentos (portlets) para la configuración configuración e inspección inspección de las bitácoras bitácoras del servidor; dichos fragmentos son Log Manager, Server Log Viewer, Derby Log Viewer y Web Access Log Viewer.

Regresar a la sección sección superior

Log Manager

Las opciones del fragmento Log Manager (Administrador de BitácoraBitácora) son ilustradas en la siguiente figura. Desde este fragmento puedes especificar la ubicación ubicación del archivo de configuración configuración de bitácorabitácora. Por defecto, dicho valor se establece con var/log/server-log4j.properties.

...

Otro valor que puedes modificar en este fragmento es Refresh Period _(Periodo de actualizaciónactualización)_. Este valor le dice a Geronimo con que frecuencia (en segundos) debería debería buscar cualquier cambio en el archivo de configuraciónconfiguración. Por defecto, dicho valor se establece con 60 segundos.

Desde este fragmento también también puedes cambiar el Log Level (Nivel de BitácoraBitácora). Por defecto su valor es INFO, y los valores posibles a elegir son All, DEBUG, INFO, WARN, ERROR, FATAL, TRACE and OFF.

Regresar a la sección sección superior

Server Log Viewer

Las opciones del portlet Server Log Viewer (Visor de la Bitácora Bitácora del Servidor) se ilustran en la siguiente figura. Desde este portlet puedes ver las bitácoras bitácoras del servidor Geronimo así así como establecer filtros para redefinir al despliegue de resultados.

...

La liga Refresh (Refrescar) en la esquina superior izquierda, limpiará limpiará a todo criterio de filtrado que podrías podrías haber especificado en los valores predefinidos de la Consola de Administración Administración Geronimo, y desplegará desplegará las últimas últimas 10 líneas líneas (si existen) de la bitácora bitácora actual del servidor Geronimo.

El área área Filter Results: (Resultados del Filtro) te permitirá permitirá especificar un criterio distinto de filtrado, para mayor particularidad en tu búsquedabúsqueda. El menú menú de opciones File (Archivo) te permite elegir qué qué archivo de bitácora bitácora observar. Las bitácoras bitácoras enlistadas en dicho menú menú se rigen por el Config File _(Archivo de ConfiguraciónConfiguración)_ (server-log4j.properties por defecto) especificado en el portlet #Log Manager. El número número de archivos de bitácora bitácora a elegir en el mení mení File dependerá dependerá del número número de archivos de bitácora bitácora definidos en el archivo de configuración configuración server-log4j.properties.

Lines.. to.. _(LíneasLíneas.. a..)_ te permite especificar el rango de líneas líneas de bitácora bitácora a analizar. Max Results (Máximos Máximos Resultados) limita la cantidad de líneas líneas a ser desplegadas. Level (Nivel) sólo sólo despliega los errores ocurridos para dicho Nivel de BitácoraBitácora. Containing text (Conteniendo texto) te permite especificar una cadena a buscar a lo largo de la bitácora bitácora del servidor. Al habilitar al checkbox With Exceptions (Con Excepciones) te desplegará desplegará tanto al error como su excepciónexcepción, tomando en cuenta que el despliegue del stack trace será será limitado a la cantidad de líneas líneas establecidas en el valor Max Results.

Regresar a la sección sección superior

Derby Log Viewer

Las opciones del portlet Derby Log Viewer (Visor de Bitácora Bitácora Derby) se ilustran en la siguiente figura. Desde este portlet puedes observar las bitácoras bitácoras del servidor Derby, así así como establecer los filtros para refinar los resultados desplegados.

...

La liga Refresh (Refrescar) en la esquina superior izquierda, limpiará limpiará a todo criterio de filtrado que podrías podrías haber especificado en los valores predefinidos de la Consola de Administración Administración Geronimo, y desplegará desplegará las últimas últimas 10 líneas líneas (si existen) de la bitácora bitácora actual de servidor Derby.

Similar al portlet #Server Log Viewer, el área área Filter Results: (Resultados del Filtro) te permitirá permitirá especificar un criterio distinto de filtrado para mayor particularidad en tu búsquedabúsqueda. Lines.. to.. _(LíneasLíneas.. a..)_ te permite especificar el rango de líneas líneas de bitácora bitácora a analizar. Max Results (Máximos Máximos Resultados) limita la cantidad de líneas líneas a ser desplegadas y Containing text (Conteniendo texto) te permite especificar una cadena a buscar a lo largo de la bitácora bitácora del servidor.

Regresar a la sección sección superior

Web Access Log Viewer

Las opciones del portlet Web Access Log Viewer (Visor de Bitácora Bitácora de Acceso Web) se ilustran en la siguiente figura. Desde este portlet puedes observar las bitácoras bitácoras del servidor Web, así así como establecer los filtros para refinar los resultados desplegados.

...

La liga Refresh (Refrescar) en la esquina superior izquierda, limpiará limpiará a todo criterio de filtrado que podrías podrías haber especificado en los valores predefinidos de la Consola de Administración Administración Geronimo. A diferencia del resto de portlets, Web Access Log Viewer te desplegará desplegará todas las líneas líneas en la bitácorabitácora, sólo será sólo será limitado por las capacidades de despliegue de tu navegador web.

El área área Filter Results: (Resultados del Filtro) te permitirá permitirá especificar un criterio distinto de filtrado para mayor particularidad en tu búsquedabúsqueda. Para Web Access Log Viewer, esta área área esta dividida en tres grupos principales: Date (Fecha), Identity (Identidad) y Requests (Peticiones).

  • Date:
    Te permite especificar al rango de fechas. Si se habilita al checkbox Ignore Dates (Ignorar Fechas), el filtrado no se hará hará discriminando las fechas. Todas las líneas líneas de bitácora bitácora que cumplan con el resto de criterios de filtrado, serán serán desplegados sin importar su fecha.
  • Identity:
    Te permite especificar la Remote Address _(Dirección Dirección Remota)_ (p.e. 192.168.0.1) y Authenticated User (Usuario Autenticado) (p.e. system).
  • Request:
    Te permite especificar al Request Method (Método Método de Solicitud) y la Requested URI (URI Solicitada). Puedes elegir al Requested Method de un menú menú de opciones, siendo los valores posibles ANY, POST y GET. Para filtrar mediante Requested URI, sólo sólo ingresa la URI, por ejemplo http://localhost:8080/console/login.jsp.

Regresar a la sección sección superior

Monitoreando rendimiento

Para monitorear el rendimiento del servidor Web, el portlet Web Server Manager (Administrador del Servidor Web) esta disponible al elegir Web Server (Servidor Web) del menú menú Console Navigation _(Navegación Navegación de Consola)_ ubicado en la sección sección izquierda. Por defecto, este portlet no esta habilitado; da clic al botón botón enable (habilitar) para iniciar la captura de estadísticasestadísticas.

Al habilitarle, iniciarás iniciarás la captura de información información en la cantidad de peticiones, conexiones concurrentes, duración duración de peticiones, etc. La siguiente figura ilustra todos los valores que son recolectados.

Las tres ligas en la sección sección inferior te permiten refresh (actualizar) las estadísticasestadísticas, disable (deshabilitar) al portlet y detener la captura de nuevos datos y reset (limpiar) los datos recolectados.

Note

Nota que toda petición petición tuya, hecha desde la Consola de Administración Administración Geronimo (por ejemplo, actualizar las estadísticasestadísticas), también será también será reflejada en esta recolección recolección de datos.

Regresar a la sección sección superior

Agregando nuevos oyentes (listeners) para los contenedores Web

Para la configuración configuración de nuevos oyentes (HTTP, HTTPS y AJP) en el contenedor Web en uso (ya sea Jetty ó ó Tomcat), el portlet Network Listener (Oyente de Red) esta disponible al elegir Web Server (Servidor Web) en el menú menú de Console Navigation _(Navegación Navegación de Consola)_ situada a mano izquierda. Desde este portlet puedes agregar nuevos oyentes, así así como cambiar el estado (stop, start, delete) (detener, iniciar, eliminar) de oyentes existentes.

Los procesos descritos a continuación continuación son idénticos idénticos en ambos contenedores Web, tanto para Jetty como para Tomcat.

...

Para agregar un nuevo oyente HTTP, haz clic en la liga respectiva. La siguiente figura ilustra los distintos parámetros parámetros necesarios para la creación creación de un nuevo oyente HTTP. Este proceso es muy simple y los parámetros parámetros se explican por sí mismos; llena los valores y haz clic en Save (Guardar).

Regresar a la sección sección superior

Agregar nuevo oyente (listener) HTTPS

Para agregar un nuevo oyente HTTPS, haz clic en la liga respectiva. La siguiente figura ilustra los distintos parámetros parámetros necesarios para la creación creación de un nuevo oyente HTTPS. Este proceso es muy simple y los parámetros parámetros se explican por sí mismos; llena los valores y haz clic en Save (Guardar).

Regresar a la sección sección superior

Agregar nuevo oyente (listener) AJP

Para agregar un nuevo oyente AJP, haz clic en la liga respectiva. La siguiente figura ilustra los distintos parámetros parámetros necesarios para la creación creación de un nuevo oyente AJP. Este proceso es muy simple y los parámetros parámetros se explican por sí mismos; llena los valores y haz clic en Save (Guardar).

Regresar a la sección sección superior

Configurando al servidor JMS

Para la configuración configuración del servidor JMS, el portlet de JMS Network Listeners (Oyentes de Red JMS) está está disponible mediante la selección selección de JMS Server (Servidor JMS) en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ situada a mano izquierda. Al hacer clic en JSM Server también obtendrás también obtendrás al portlet JMS Server Manager (Administrador del Servidor JMS), el cual despliega los agentes (brokers) disponibles en el servidor, así así como su estado. Las siguientes figuras ilustran ambos portlets y sus opciones.

...

Desde el portlet JMS Network Listeners puedes agregar nuevos oyentes, así así como cambiar el estado (stop, start, delete) (detener, iniciar, eliminar) de los existentes. Las opciones disponibles para agregar conectores a ActiveMQ ya se han mostrado en la figura.

Para agregar un nuevo conector a ActiveMQ has clic en la liga apropiada. La siguiente figura ilustra a los distintos parámetros parámetros necesarios para la creación creación de estos conectores. Este proceso es muy simple y los parámetros parámetros se explican por sí mismos; llena los valores y haz clic en Save (Guardar).

...

Nota que las mismas opciones te serán serán presentadas, independientemente de cual oyente desees agregar.

Detalles en como configurar fábricas fábricas de conexiones, colas, tópicos tópicos y destinos son cubiertos en la siguiente sección sección #Configurando JMS.

Regresar a la sección sección superior

Configurando Servicios

Existen tres tareas mayores a ser cubiertas en esta secciónsección, las cuales son:

  • Agregando artefactos al repositorio Geronimo
  • Configurando pools de bases de datos
  • Configurando JMS

...

Para agregar artefactos al repositorio, el portlet Repository Viewer (Visor de Repositorio) esta disponible al elegir Common Libraries _(Librerías Librerías en ComúnComún)_ en el menú menú de Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. El portlet Repository Viewer que se ilustra en la figura siguiente, despliega los artefactos instalados en el repositorio del servidor. La presentación presentación del repositorio es la misma que se usa en Apache Maven, lo cual facilita el copiado de archivos.

...

Para usar un artefacto en una aplicaciónaplicación, agrega un elemento de dependencia en su plan de activación activación (deployment plan). Por ejemplo, para usar Castor XML, agrega el siguiente código código XML al plan:

Code Block
xml
xml
borderStylesolid
<dependency>
        <uri>castor/jars/castor-0.9.5.3.jar</uri>
</dependency>

Regresar a la sección sección superior

Configurando pools de bases de datos

Para configurar pools de bases de datos, el portlet Database Pools (Pools de Bases de Datos) esta disponible al elegir Database Pools en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. El portlet Database Pools ilustrado en la figura siguiente, muestra todo pool de base de datos disponible y proporciona ayudantes para importar ó ó crear nuevos pools.

Crear nuevos pools de base de datos

Puedes crear nuevos pools mediante clic en la liga Using the Geronimo database pool wizard (Usando al ayudante Geronimo de pool de base de datos) dentro del portlet Database Pools. Este ayudante te guiará guiará a durante el procedimiento de 4 pasos sencillos.

Info

Consulta Configurando al Datasource DB2 para un ejemplo funcional adicional en datasources con archivos jar (controlador+licencia) múltiplesmúltiples.

Primero necesitas especificar el nombre del pool de base de datos, así así como su tipo de base de datos.

...

Posteriormente seleccionas los controladores JDBC, los cuales por defecto son pre-llenados, basándose basándose en el tipo de base de datos que seleccionaste en el paso previo. También También debes seleccionar al JAR del controlador desde el menú menú de selección selección y después después especificar el nombre de la base de datos. Para este ejemplo, una base de datos test (prueba) fue creada previamente; se trata del proceso de creación creación con un solo paso, el cual es explicado en #Crear una base de datos.

...

El siguiente paso te permite configurar algunos parámetros parámetros de conexiónconexión, como el tamaño tamaño del pool (mínimo mínimo y máximomáximo) y tolerancias de tiempo. Al estar satisfecho con los parámetrosparámetros, haz clic en Test Connection _(Probar ConexiónConexión)_.

Al haber probado satisfactoriamente la conexiónconexión, haz clic en Deploy Tool _(Herramienta de ActivaciónActivación)_. Como alternativa, puedes hacer clic en Show Deployment Plan _(Muestra Plan de ActivaciónActivación)_ para este pool de base de datos y también también te permite editarle. Instrucciones adicionales en el como activar manualmente un plan de BD, puede encontrarse en la sección sección Configurando al Datasource DB2.

...

Al haber sido activado, Derby_Test (Prueba_Derby) debería debería ser listado junto con el resto de pools de bases de datos.

Regresar a la sección sección superior

Importar pools de bases de datos de JBoss 4

Este ayudante te asistirá asistirá en la importación importación de pools de bases de datos JBoss 4 existentes. Para este ejemplo particular, usaremos al hsqldb-ds.xml proporcionado por el servidor JBoss default, esto es <jboss_home>\server*default*\deploy\hsqldb-ds.xml junto con la base de datos Hypersonic.

Antes de continuar, deberás deberás proporcionar a Geronimo al jar controlador para Hypersonic HSQL. Para hacerlo, deberás deberás seguir pasos similares a los descritos en Configurando al Datasource DB2. A continuación continuación se presenta un resumen de pasos para la declaración declaración del jar controlador HSQL en Geronimo.

  1. Crea un registro en el repositorio Geronimo para identificar a los controladores para Hipersonic. Para este ejemplo, creamos <geronimo_home>\repository\ org.hsqldb.Server\jars. Nota que creamos dos directorios.
  2. Localiza al controlador jar HSQL hsqldb.jar. Este archivo se encuentra en el directorio <jboss_home>\server\default\lib. Haz una copia de dicho archivo y cambia su nombre a hsqldb-1.8.0.jar.
  3. Copia al archivo renombrado hacia el registro del repositorio que creaste previamente, <geronimo_home>\repository\org.hsqldb.Server\jars. El omitir el cambio de nombre del archivo antes de copiarlo al repositorio, causará causará que Geronimo lance una excepciónexcepción, ya que no puede leer al formato del nombre del archivo. El nombre del archivo del controlador debe ser versionado.

Regresa a la Consola de Administración Administración Geronimo y haz clic en la liga Database Pools (Pools de Bases de Datos). Desde el portlet Database Pools haz clic en Import from JBoss 4 (Importar de JBoss 4). En el Step 1 (Paso 1) de Import Database Pools (Importar Pools de Bases de Datos) especifica la ubicación ubicación del archivo -ds.xml y haz clic en Next (Siguiente).

...

El siguiente paso te permite editar al pool de base de datos que fue reconocido. En este paso deberás deberás especificar al jar controlador que declaraste cuando actualizaste al repositorio de Geronimo. Observa como se lista Driver JAR: ( JAR Controlador: ) en la siguiente figura.

...

Haz clic en Test Connection _(Probar ConexiónConexión)_ para verificar que proporcionaste todos los datos necesarios y que Geronimo pueda establecer una conexiónconexión.

Haz clic en Deploy (Activar), lo cual te llevará llevará a la misma página página de Step 2. Si deberías deberías tener más más pools definidos en el archivo, podrías podrías repetir los pasos para importar los pools de bases de datos que elijas. Como en este ejemplo solo tenemos uno, tendrías tendrías que hacer clic en Finish (Finalizar) para completar el uso del ayudante de importaciónimportación.

Ahora deberías deberías ver al pool de bases de datos importado, DefaultDS.

Regresar a la sección sección superior

Importar pools de bases de datos de WebLogic 8.1

Este ayudante te ofrece dos alternativas para la importación importación de pools de bases de datos BEA Weblogic existentes. La primera es proporcionando un archivo de configuración configuración (por ej. config.xml); si seleccionas esta opciónopción, el ayudante convertirá convertirá a tantos campos que pueda, y te solicitará solicitará el ingresar manualmente aquellos que no pudo convertir. Por ejemplo, uno de los valores que deberás deberás proporcionar, es la contraseña contraseña de la base de datos.

La segunda alternativa es factible si tienes tanto al servidor Apache Geronimo como al servidor BEA Weblogic instalados en la misma máquinamáquina; en esta alternativa puedes especificar directamente al path de instalación instalación de Weblogic así así como los directorios del dominio. Esta alternativa tiene la ventaja de ser capaz de leer directamente las contraseñas contraseñas de bases de datos.

Independientemente de la altermativa que eligieses, necesitarás necesitarás decir a Geronimo donde se encuentran los jars controladores de las bases de datos. A continuación continuación se presenta el resumen de pasos para la declaración declaración del jar controlador PointBase en Geronimo.

  1. Crea un registro en el repositorio Geronimo para identificar los controladores para PointBase. Para este ejemplo hemos creado <geronimo_home>\repository\ com.pointbase\jars. Nota que creamos dos directorios.
  2. Localiza al jar controlador de cliente PointBase, pbclient44.jar. El archivo se localiza en el directorio <bea_home>weblogic81\common\eval\pointbase\lib. Haz una copia de dicho archivo y cambia su nombre a pbclient-4.4.0.jar.
  3. Copia al archivo renombrado en al registro del repositorio que creaste previamente, <geronimo_home>\repository\com.pointbase\jars. El omitir el cambio de nombre del archivo antes de copiarlo al repositorio, causará causará que Geronimo lance una excepciónexcepción, ya que no puede leer al formato del nombre del archivo. El nombre del archivo del controlador debe ser versionado.

Regresa a la Consola de Administración Administración Geronimo y haz clic en la liga Database Pools (Pools de Bases de Datos). Desde el portlet Database Pools haz clic en Import from WebLogic 8.1 (Importar de WebLogic 8.1). La siguiente figura ilustra al ayudante de importaciónimportación.

Para este ejemplo particular nos enfocaremos en la segunda alternativa. Un dominio example (ejemplo) por defecto fue creado en el servidor WebLogic con toda aplicación aplicación ejemplo también también incluida por defecto. Este dominio se licaliza en el directorio <bea_home>\user_projects\domains\examples.

En la primer pantalla del ayudante de importación importación (ilustrado en la figura previa) proporciona al Domain directory path: ( Path del directorio del cominio: ) y haz clic en Next (Siguiente).

...

Nota que el dominio WebLogic del cual estas intentando importar al pool de bases de datos, debe estar activo si deseas probar exitosamente la conexiónconexión. Para este ejemplo haz clic en la segunda Confirm and Deploy (Confirma y Activa) de la lista, la cual corresponde a examples-dataSource-demoPool.

En el siguiente paso selecciona al Driver JAR: ( JAR Controlador: ) que creaste recientemente en el repositorio Geronimo.

Nota que la contraseña contraseña de la base de datos ha sido reconocida. Haz clic en Test Connection _(Probar ConexiónConexión)_, con lo cual deberías deberías ver una confirmación confirmación similar a la siguiente figura. Haz clic en Deploy (Activar).

La siguiente página página regresa al Step 2, en esta ocasión también desplegará ocasión también desplegará los pools de bases de datos restantes y disponibles para su importaciónimportación, y también mostrará también mostrará el estado de importación importación del pool de base de datos recién recién importado. En este momento puedes hacer clic en Skip Remaining Pools (Omitir Pools Restantes) para dejar al ayudante de importaciónimportación.

Ahora deberías deberías observar listado en el portlet de pool de base de datos, al pool de base de datos que acabas de importar.

...

Para eliminar los pools de bases de datos, puedes usar la Herramienta de activaciónactivación. Entre otras cosas, dicha herramienta te permite listar a los módulos módulos disponibles, donde la pool que acabas de activar será será listada como un módulomódulo.

Para listar a todo módulo módulo disponible, teclea el comando siguiente:

...

Una vez que tienes identificado el pool de base de datos (en este ejemplo user/database-pool-Derby_Test/1/car) podrías podrías eliminarle mediante el tecleo del siguiente comando:

...

Como paso adicional para verificar la baja del pool de base de datos, puedes ejecutar al siguiente comando; no deberían deberían listarse registros.

deploy --user system --password manager list-modules | grep Derby_Test

Regresar a la sección sección superior

Crear una base de datos

Para crear una nueva base de datos e integrarla a Geronimo, el portlet DB Manager (Administrador de BD) está está disponible. Cerca de la porción porción inferior del menú menú de Console Navigation _(Navegación Navegación de Consola), navega en Misc -> Embedded DB -> DB Manager. Ese portlet invoca a los portlets DB Viewer _(Visor de BD) y Run SQL (Ejecuta SQL), ilustrados en las siguientes figuras.

...

El portlet DB Viewer despliega toda base de datos disponible, sus tablas (de aplicación aplicación y sistema) y despliega el contenido de las tablas.

El portlet Run SQL te permite ejecutar comandos SQL para crear o eliminar bases de datos, y también también para modificar el contenido de sus tablas. Este portlet te proporciona menúes menúes de selección selección para elegir la base de datos sobre la cual desees ejecutar al comando.

Para crear una base de datos de pruebas, especifica test (prueba) en el campo Create DB: ( Crear BD: ) y haz clic en Create (Crear). Después Después de pocos segundos, deberías deberías ver un mensaje de confirmación confirmación cerca de la porción porción inferior del portlet Run SQL, indicando Database created: test (Base de datos creada: prueba). Ahora se debería debería ver el registro de la base de datos test en el portlet DB Viewer.

Si deseas ejecutar cualquier comando SQL en esa base de datos, asegúrate asegúrate de elegir test del menú menú de selección selección Use DB: ( Usa BD: ), para después después ingresar el comando SQL y finalmente hacer clic al botón botón Run SQL. Los resultados del comando se deplegarán deplegarán cerca de la porción porción inferior del portlet.

Regresar a la sección sección superior

Configurando JMS

Para configurar JMS, los portlets JMS Connection Factories _(Fábricas Fábricas de Conexión Conexión JMS)_ y JMS Destination Manager (Administrador de Destino JMS) son elegibles mediante JMS en el menú menú de Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. El portlet JMS Connection Factories, ilustrado en la figura siguiente, despliega a todo conector JMS configurado en el servidor Geronimo y te permite agregar una nueva Fábrica Fábrica de Conexión Conexión JMS.

El portlet JMS Destination Manager presenta la lista de toda cola (queue) y tópico tópico configuradas(os) en el servidor Geronimo.

...

En Apache Geronimo v1.0 estos portlets no estan totalmente implementados y necesitarás necesitarás crear planes de activación activación (deployment plans) y herramientas de línea línea de comandos para activar a estas configuraciones. Detalles adicionales para la configuración configuración JMS y su integración integración se encuentran cubiertos en la sección sección Integrando un Proveedor JMS de terceros.

Regresar a la sección sección superior

Administrando aplicaciones

Esta sección sección se concentra en las alternativas disponibles para la administración administración de aplicaciones, y te mostrará mostrará el como aplicar las actividades de administración administración de aplicaciones, usando tanto la Consola de Administración Administración Geronimo y opciones de línea línea de comandos. Para los ejemplos mostrados en esta secciónsección, estaremos usando la aplicación aplicación ejemplo HolaMundo.war creada en la sección Guía rápida sección Guía rápida - Apache Geronimo para el impaciente.

Instalando y eliminando aplicaciones

Para ejecutar estas actividades actualmente tienes tres opciones disponibles, las cuales usan:

Cuando empaques tu aplicaciónaplicación, podrías podrías incluir o no incluir al plan de activación activación (deployment plan) en el paquete. Al momento de activaciónactivación, Geronimo buscará buscará los planes de activación activación geronimo-web.xml y web.xml, en el directorio WEB-INF dentro de tu aplicación aplicación empaquetada. Si Geronimo no puede encontrar dichos descriptores, intentará intentará activar a la aplicación aplicación usando configuraciones por defecto. Si al emplear configuraciones por defecto falla, necesitarás necesitarás proporcionar un plan de activaciónactivación, ya sea re-empaquetando la aplicación ó aplicación ó como plan de activación activación externo; en las siguientes secciones discutiremos más más a fondo dichas alternativas.

Consola de

...

Administración Geronimo
Anchor
CAG
CAG

Para instalar una nueva aplicación aplicación mediante la Consola de Administración Administración Geronimo, el portlet Install New Applications (Instalar Aplicaciones Nuevas) esta disponible al elegir Deploy New (Activar Nuevo) en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. Este portlet también también te permite el iniciar automáticamente automáticamente a la aplicación aplicación justo después después de su activaciónactivación.

Como se mencionó mencionó previamente, para este ejemplo emplearemos la aplicación aplicación JSP simple HolaMundo, creada en la sección Guía rápida sección Guía rápida - Apache Geronimo para el impaciente. Para ese ejemplo, los planes de activación activación ya están están incluidos en el paquete.

Desde el portlet Install New Applications haz clic en Browse (Navegar) para especificar la ruta al HolaMundo.war en la sección sección Archive: ( Archivo: ). Asegurate de habilitar (por defecto, está está habilitado) la opción opción Start app after install _(Iniciar aplicación después aplicación después de instalar)_ y después después haz clic en Install (Instalar).

Deberías Deberías obtener al mensaje de confirmación confirmación " The application was successfully deployed. " _(La aplicación aplicación fue activada exitosamente)_ en la sección sección superior del portlet.

Otra forma de comprobar que la aplicación aplicación fue instalada e iniciada exitosamente, se logra mediante la verificación verificación del portlet Installed Web Applications (Aplicaciones Web Instaladas), el cual esta disponible mediante al elegir Web App WARs (WARs de Aplicaciones Web) en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. Deberías Deberías observar a la aplicación aplicación listada como HolaMundo y con el estado running (ejecutando).

Como la aplicación aplicación que instalamos es HolaMundo.WAR, usamos ese portlet; cuando instalas un EAR podrías podrías verificar su estado mediante el portlet Installed Application EARs (Aplicaciones EAR Instaladas), el cual esta disponible al elegir Application EARs (EARs de Aplicaciones) en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. El procedimiento de instalación instalación es el mismo, tanto para aplicaciones WAR como EAR.

Para eliminar a las aplicaciones mediante la Consola de Administración Administración Geronimo usarás usarás los dos últimos últimos portlets, ya sea Installed Web Applicacions ó ó Installed Application EARs, dependiendo de la aplicación aplicación a desinstalar.

Para nuestro ejemplo, ingresa al portlet de Aplicaciones Web Instaladas y haz clic en Uninstall (Desinstalar) para el Component Name (Nombre del Componente) HolaMundo. Lo anterior detendrá detendrá a la aplicación aplicación como primer paso y después después la desintalarádesintalará. El mensaje de confirmación confirmación " Uninstalled application " _(Aplicación Aplicación desintalada)_ debería debería aparecer en la parte inferior del portlet.

Estos son los pasos básicos básicos para la instalación instalación y desinstalación desinstalación de aplicaciones mediante la Consola de Administración Administración Geronimo; las dos secciones siguientes se concentarán concentarán en opciones de línea línea de comandos.

Regresar a la sección sección superior

Herramienta de

...

Activación

La herramienta de activación activación te permitirápermitirá, entre otras cosas, el instalar y desinstalar aplicaciones mediante la línea línea de comandos. En esta sección sección analizaremos esas dos tareas para la aplicación aplicación ejemplo; esta herramienta es completamente cubierta en la sección sección Herramienta de activaciónactivación.

Para activar la aplicación aplicación ejemplo HolaMundo.war con la Herramienta de ActivaciónActivación, abre una ventana de línea línea de comandos y desde el directorio <geronimo_home>\bin teclea el siguiente comando:

deploy --user system --password manager deploy <app_home>\HolaMundo.war

Una vez activada la aplicaciónaplicación, deberías deberías observar un mensaje de confirmación confirmación similar al siguiente:

No Format
bgColor#000000
borderStylesolid
E:\geronimo-1.0_Jetty\bin>deploy --user system --password manager deploy ..\..\HolaMundo\HolaMundo.war
    Deployed HolaMundo @ http://localhost:8080/hola

A diferencia de la activación activación mediante la Consola de Administración Administración Geronimo, la herramienta de línea línea de comandos te proporciona mayor información información en el mensaje de confirmaciónconfirmación. Por ejemplo, recibes el Component Name (Nombre del Componente) (también también conocido como ConfigId) y también también recibes la raíz raíz del contexto (context root) en donde la aplicación aplicación fue activada. Esto es muy útil útil cuando se instala, prueba y desinstala a distintas aplicaciones donde sería sería complicado el recordar todos esos valores.

También También puedes usar la Herramienta de activación activación para listar a toda aplicación aplicación instalada. El comando list-modules _(listar-módulosmódulos)_ te permite el listar a toda aplicaciónaplicación, e incluso te permite filtrar la petición petición mediante la solicitud de sólo sólo las aplicaciones started (iniciadas) ó ó stopped (detenidas). El comando list-modules sin parámetro parámetro adicional, por defecto te listará listará a toda aplicación aplicación iniciada.

Para desintalar una aplicaciónaplicación, podrías podrías requerir el listarla para obtener el Nombre del Componente (ó ó ConfigId) correcto. Ejecuta al siguiente comando desde el directorio <geronimo_home>\bin :

deploy --user system --password manager list-modules

Recibirás Recibirás una lista similar a la mostrada en el ejemplo siguiente:

...

Busca el registro HolaMundo, el cual es el valor que deberás deberás emplear cuando intentes desinstalar a la aplicaciónaplicación.

Para desinstalar la aplicaciónaplicación, ejecuta el siguiente comando desde el directorio <geronimo_home>\bin usando al Nombre del Componente que identificaste ante el listado de los módulosmódulos.

deploy --user system --password manager undeploy HelloWorld

El comando primero intentará intentará detener a la aplicación aplicación en ejecución ejecución y después después la desinstalarádesinstalará. Deberías Deberías ver un mensaje de confirmación confirmación similar al siguiente:

No Format
bgColor#000000
borderStylesolid
E:\geronimo-1.0_Jetty\bin>deploy --user system --password manager undeploy HolaMundo
    Module HolaMundo unloaded.

    Module HolaMundo uninstalled.


    Undeployed HolaMundo

...

  • deploy
  • list-modules
  • undeploy

Estas no son las únicas únicas opciones y comandos disponibles para esta herramienta; por favor visita la sección sección Herramienta de activaciónactivación para obtener detalles adicionales.

Regresar a la sección sección superior

...

Activación en vivo

Apache Geronimo soporta Hot Deployment _(Activación Activación en Vivo)_. Esto significa que puedes copiar un archivo JAR de aplicación aplicación al directorio <geronimo_home>/deploy y la aplicación será aplicación será activada automáticamenteautomáticamente. Lo anterior también funcionará también funcionará para la desinstalación ó actualización desinstalación ó actualización de aplicaciones previamente activadas mediante este métodométodo. Como alternativa, también podrías también podrías copiar al directorio (umpacked - "desempacado") del módulo aplicación módulo aplicación en lugar de copiar al JAR como archivo.

Nota que con este método método de activación activación debes incluir al deployment plan _(plan de activaciónactivación)_ en el paquete de la aplicaciónaplicación; este método método no soporta planes de activación activación externos. También También nota que aplicaciones activadas mediante la Herramienta de activación ó activación ó la Consola de Administración Administración Geronimo, no estarán estarán listadas en el directorio <geronimo_home>/deploy.

Cuando copies una aplicación aplicación al directorio deploy, digamos HolaMundo.war, observarás observarás un mensaje de confirmación confirmación en la consola donde Geronimo este ejecutándoseejecutándose, indicando que la aplicación aplicación fue activada y el contexto para tener acceso a la aplicaciónaplicación.

No Format
bgColor#000000
borderStylesolid
00:35:59,421 INFO  [Hot Deployer] Deploying HolaMundo.war
    Deployed HolaMundo @ http://localhost:8080/hola

Para eliminar la aplicaciónaplicación, sólo sólo borra al archivo (ó ó carpeta) WAR ó ó EAR del directorio deploy. Cuando la aplicación aplicación ha sido eliminada, deberías deberías observar un mensaje de confirmación confirmación en la consola donde Geronimo esté ejecutándoseesté ejecutándose, indicando que la aplicación aplicación fue desactivada.

No Format
bgColor#000000
borderStylesolid
00:39:42,521 INFO  [Hot Deployer] Undeploying HolaMundo.war
    Undeployed HolaMundo

Regresar a la sección sección superior

Iniciando y deteniendo

...

módulos de

...

aplicación

Puedes cambiar el estado de una aplicación aplicación en dos formas distintas. Puedes usar la Herramienta de activación ó activación ó la Consola de Administración Administración Geronimo.

Como se mencionó mencionó previamente, la *Herramienta de activación* activación tiene muchos comandos. Al momento hemos explorado primordialmente a deploy y undeploy, y brevemente a list-modules. Esta sección sección se concentrará concentrará en el último último comando para obtener el nombre del módulo módulo del cual queremos cambiar el estado, e introducirá introducirá dos nuevos comandos: start (iniciar) y stop (detener). Más Más adelante discutiremos el uso de la Consola de Administración Administración Geronimo como método método alternativo.

El comando list-module acepta a los tres parámetros parámetros siguientes:

  • --all : se usa por defecto cuando no otra opción opción se especifica. Listará Listará a todo módulo módulo disponible.
  • --started : esta opción listará sólo opción listará sólo a los módulos módulos que se encuentren en ejecuciónejecución.
  • --stopped : esta opción listará sólo opción listará sólo a los módulos módulos que no se encuentren en ejecuciónejecución.

Esto es útil útil para identificar el estado de un módulo módulo particular y al ID propio del módulomódulo. Usaremos este comando para identificar a la aplicación aplicación HolaMundo y cambiar su estado.

Desde una ventana de la línea línea de comandos, ejecuta al siguiente comando desde el directorio <geronimo_home>\bin para listar a todo módulomódulo:

deploy --user system --password manager list-modules

Recibirás Recibirás una lista de todo módulo módulo instalado en el servidor. Nota que los módulos módulos iniciados son distinguidos con el signo + ubicado a su izquierda, y dichos módulos también módulos también se colocan como inicio de la lista.

...

Ahora nuestro objetivo es " + HolaMundo @ http://localhost:8080/holaImage Removed " , el cual presenta estado started (iniciado) ya que cuenta con + a su izquierda. Como alternativa, puedes ejecutar al siguiente comando para listar sólo sólo a módulos módulos iniciados:

deploy --user system --password manager list-modules --started

Para detener al módulo módulo HolaMundo, teclea el siguiente comando:

deploy --user system --password manager stop HelloWorld

Recibirás Recibirás un mensaje de confirmación confirmación para indicar que el módulo módulo ha sido detenido.

Cuando listas a todo módulo módulo detenido, ahora deberías deberías observar que a esa lista se agregó agregó al módulo módulo HolaMundo. Observa al comando y sus resultados en el siguiente ejemplo.

No Format
bgColor#000000
borderStylesolid
E:\geronimo-1.0_Jetty\bin>deploy --user system --password manager list-modules --stopped
Found 10 modules
    geronimo/client-system/1.0/car
    geronimo/online-deployer/1.0/car
    geronimo/client-corba/1.0/car
    geronimo/daytrader-derby-jetty-streamer-client/1.0/car
    geronimo/client-security/1.0/car
    geronimo/shutdown/1.0/car
    HolaMundo
    geronimo/client/1.0/car
    geronimo/javamail/1.0/car
    geronimo/j2ee-corba/1.0/car

Para iniciar los módulosmódulos, sólo sólo necesitas emplear start en lugar de stop.

Como alternativa a la línea línea de comandos, puedes usar la Consola de Administración Administración Geronimo para cambiar el estado de los módulosmódulos. Abre la Consola de Administración Administración Geronimo y navega a Applications (Aplicaciones) en el menú menú de la Console Navigation _(Navegación Navegación de Consola)_ ubicado a mano izquierda. Ahí encontrarás Ahí encontrarás Application EARs _(EARs de AplicaciónAplicación)_ y Web App WARs _(WARs de Aplicación Aplicación Web)_; dependiendo del tipo de aplicación aplicación de la cual quieras cambiar el estado, eligirás eligirás ya sea Application EARs ó ó Web App WARs. Para este ejemplo continuaremos el uso de HolaMundo.war como la aplicación aplicación en cuestióncuestión, por lo cual elegiremos Web App WARs.

...

Previamente usamos este portlet para instalar y desintalar aplicaciones mediante la consola. Desde este mismo portlet también también puedes cambiar el estado de las aplicaciones. Los comandos disponibles dentro del portlet cambiarán cambiarán dependiendo del estado de cada aplicaciónaplicación. Si la aplicación aplicación esta en estado running (iniciada), sólo sólo el comando Stop (Detener) será será desplegado. Si la aplicación aplicación esta stopped (detenida), sólo sólo el comando Start (iniciar) será será desplegado. El comando Uninstall (Desinstalar) siempre se desplegará desplegará sin importar el estado de la aplicaciónaplicación. Para cambiar el estado de la aplicación sólo aplicación sólo haz clic al comando (Iniciar ó ó Detener).

Regresar a la sección sección superior

Administrando seguridad

Regresar a la sección superior

Administrando usuarios y grupos

Regresar a la sección superior

Agregando realms de seguridad

Regresar a la sección superior

Administrando certificados

Esta sección cubre algunas de las tareas comunes relacionadas con seguridad, como el agregar y eliminar usuarios y grupos, la manipulación de certificados digitales y el incremento del nivel de seguridad mediante el uso de distintos reinos (realms) y métodos de autenticación. Consulte la sección de Seguridad para mayor detalle en como se implementa la seguridad en Apache Geronimo.

Administrando usuarios y grupos

Puedes agregar usuarios y grupos mediante la Consola de Administración Geronimo ó con la modificación de algunos archivos de configuración. Iniciaremos de forma simple, con el uso del reino proporcionado por defecto en Geronimo. Después, ante nuestra exploración de los distintos reinos y configuraciones de seguridad, regresaremos y visitaremos nuevamente los temas que sean necesarios.

Para administrar usuarios y grupos vía la Consola de Administración Geronimo, el portlet Console Realm (Reino de Consola) esta disponible a mano izquierda en el menú Console Navigation (Navegación de Consola). Ahí encontrarás dos portlets, uno para la administración de usuarios y otro para la administración de grupos, los cuales estan ilustrados en las figuras siguientes.

Image Added

Image Added

Para cambiar la contraseña (password) de un usuario, haz clic en el usuario dentro del portlet Console Realm Users (Consola del Reino de Usuarios), lo cual te proporcionará su UserID y Password, para que puedas actualizar dicho perfil.

Para agregar un nuevo usuario, haz clic en Create New User (Crear Nuevo Usuario), lo cual te solicitará un UserID y Password (esta última, en dos ocasiones); ingresa dichos valores y haz clic en Add (Agregar).

Para eliminar un usuario, haz clic en el Delete (Borrar) correspondiente, lo cual te solicitará una confirmación para el borrado de dicho usuario; se confirma con clic cn OK.

Al haber creado nuevos usuarios, puedes agregarlos a un grupo. Por defecto, el grupo admin esta disponible y el usuario system se encuentra en dicho grupo. Si haces clic en el grupo admin observarás al usuario system en la ventana a la derecha, mientras que cualquier otro usuario disponible se enlisatará en la ventana a la izquierda.

Para agregar un nuevo usuario a ese grupo, primero elige al usuario y después haz clic en Add >> (Agregar >>) y finalmente clic en Update (Actualizar).

Image Added

Para crear un nuevo grupo haz clic en Create New Group (Crear Nuevo Grupo), este paso es muy similar al previo. Además de proporcionarte la opción de agregar usuarios al nuevo grupo, también deberás proporcionar el nombre del grupo. Cuando ingreses el nuevo nombre de grupo y agregues los usuarios, haz clic en Add (Agregar) para finalizar.

Los cambios que hiciste vía los portlets Console Realm Users y Console Realm Groups son reflejados en dos archivos distintos, los cuales son users.properties (usuarios.propiedades) y groups.properties (grupos.propiedades) respectivamente, y se localizan en el directorio <geronimo_home>\var\security.

Warning

Cuando elimines un usuario desde la consola, el usuario no será dado de baja del grupo al cual pertenezca. El portlet Console Realm Users no modificará los grupos.

De forma equivalente, es posible administrar a los usuarios y grupos mediante la modificación directa de los archivos citados:

users.properties
groups.properties

users.properties usa el formato <user_name>=<password>, groups.properties usa el formato <group_name>=<user_name>. Observa los ejemplos siguientes para detalles adicionales.

No Format
borderStylesolid
titleusers.properties

usuario2=usuario2
usuario1=usuario1
system=manager

Como estamos utilizando la configuración básica, por defecto, de seguridad, observarás que los IDs y contraseñas se almacenan en texto plano. Con ello puedes agregar, eliminar y cambiar contraseñas desde dicho archivo.

No Format
borderStylesolid
titlegroups.properties

admin=system
usuarios=usuario1,usuario2

Así como con usuarios, en groups.properties puedes agregar y eliminar grupos, así como agregar y eliminar usuarios en dichos grupos.

Los archivos mencionados en estas secciones junto con toda la configuración de seguridad, en adición a nombres de usuarios y sus contraseñas, son definidos en el reino de seguridad geronimo-properties-realm (reino-propiedades-geronimo), cubierto en la siguiente sección.

Regresar a la sección superior

Administrando reinos (realms) de seguridad

Antes de continuar, es recomendable que te familiarices con conceptos y arquitectura de seguridad de Geronimo. Visita la sección de Seguridad para detalles en como se implementa la seguridad en Geronimo. Los dos Conceptos de Seguridad principales sobre los cuales la arquitectura de seguridad Apache Geronimo esta construida, son el Login Domain (Dominio de Ingreso) y Security Realm (Reino de Seguridad); en esta sección nos enfocaremos en el último.

Para administrar reinos de seguridad vía la Consola de Administración Geronimo, el portlet Security Realms (Reinos de Seguridad) esta disponible en el menu de Concole Navigation (Navegación de Consola) ubicado a mano izquierda. Este portlet te permite agregar un nuevo reino de seguridad ó editar uno existente. Para eliminar reinos, normalmente emplearías la opción de línea de comandos, con la Herramienta de activación (Deployer tool).

Image Added

Enlistados en dicho portlet, encontrarás a todo reino de seguridad disponible. Por defecto, el reino de seguridad empleado por Geronimo para autenticar usuarios vía el archivo de propiedades, es geronimo-properties-realm (reino-propiedades-geronimo).

Cuando edites un reino existente (en este caso, geronimo-properties-realm), se te presentará la pantalla siguiente; nota que no serás capaz de cambiar el nombre del reino (realm name) ni el nombre acceso del dominio (login domain name).

Image Added

El siguiente ejemplo ilustra el plan de activación (deployment plan) generado por este portlet.

Code Block
xml
xml
borderStylesolid
titlegeronimo-properties-realm

<configuration configId="SecurityRealm-geronimo-properties-realm" xmlns="http://geronimo.apache.org/xml/ns/deployment-1.0">
    <gbean name="geronimo-properties-realm" class="org.apache.geronimo.security.realm.GenericSecurityRealm">
        <attribute name="realmName">geronimo-properties-realm</attribute>
        <reference name="ServerInfo">
            <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-system/1.0/car,J2EEServer=geronimo,j2eeType=GBean,name=ServerInfo</gbean-name>
        </reference>
        <reference name="LoginService">
            <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-security/1.0/car,J2EEServer=geronimo,j2eeType=JaasLoginService,name=JaasLoginService</gbean-name>
        </reference>
        <xml-reference name="LoginModuleConfiguration">
            <log:login-config xmlns:log="http://geronimo.apache.org/xml/ns/loginconfig-1.0">
                <log:login-module control-flag="REQUIRED" server-side="true" wrap-principals="false">
                    <log:login-domain-name>geronimo-properties-realm</log:login-domain-name>
                    <log:login-module-class>org.apache.geronimo.security.realm.providers.PropertiesFileLoginModule</log:login-module-class>
                    <log:option name="usersURI">var/security/users.properties</log:option>
                    <log:option name="groupsURI">var/security/groups.properties</log:option>
                </log:login-module>
            </log:login-config>
        </xml-reference>
    </gbean>
</configuration>

Como se mencionó previamente, este plan es para el reino de seguridad por defecto, basado en archivo de propiedades. Cuando creas un nuevo reino, tendrás que elegir de los siguientes tipos de reinos disponibles:

  • Certificate Properties File Realm (Reino de Archivo de Propiedades Certificadas)
  • Database (SQL) Realm (Reino de Base de datos (SQL))
  • LDAP Realm (Reino LDAP)
  • Properties File Realm (Reino de Archivo de Propiedades)
  • Other (Otro)

La última opcion disponible te permite crear tu propio tipo adaptado de reino, cuando ninguno de los disponibles cumple con las necesidades de tu ambiente.

Apache Geronimo tiene un reino de archivo de propiedades previamente configurado, el cual es el reino empleado por defecto para la autenticación. Geronimo también viene con un grupo de aplicaciones ejemplo; una de dichas aplicaciones proporciona un reino de seguridad adicional para LDAP. Para este ejemplo, nos enfocaremos en un tipo distinto, emplearemos una base de datos para la verificación y consulta de nombres de usuario y sus contraseñas.

Para este ejemplo creamos una nueva base de datos, llamada BaseDeDatosDeSeguridad, usando la base de datos Derby pre-construida. Los siguientes pasos resumen al procedimiento seguido para crear la base de datos y tablas, cargar algunos datos ejemplo y crear al pool de conexiones. Instrucciones detalladas en como definir pools de conexiones a base de datos son descritas en la sección #Configurando pools de bases de datos.

Crear la base de datos y cargar datos ejemplo

  • A la izquierda, en el menú Console Navigation (Navegación de Consola), haz clic en Database Manager (Administrador de Base de datos).
  • Ingresa BaseDeDatosDeSeguridad en el campo Create DB: (Crear BD: ) y haz clic en Create (Crear).
  • Selecciona BaseDeDatosDeSeguridad del menú Use DB: (Usa BD: ) e ingresa los siguientes comandos, para después hacer clic en Run SQL (Ejecuta SQL).
    create table usuarios
    (nombreusuario varchar(15),
    password varchar(15));
    create table grupos
    (nombreusuario varchar(15),
    nombregrupo varchar(15));
    insert into usuarios values('usuariouno','p1');
    insert into usuarios values('usuariodos','p2');
    insert into usuarios values('usuariotres','p3');
    insert into grupos values('usuariouno','admin');
    insert into grupos values('usuariodos','admin');
    insert into grupos values('usuariotres','usuario');

Crear pool de conexiones

  • A la izquierda, en el menú de Console Navigation (Navegación de Consola), haz clic en Database Pools (Pools de Base de Datos).
  • Clic en Using the Geronimo database pool wizard (Usando al ayudante de Geronimo para pool de base de datos).
  • Ingresa BaseDeDatosDeSeguridad como nombre para el pool de base de datos. Selecciona Derby embedded (Derby embebida) desde el menú del tipo de pool de base de datos y haz clic en Next (Siguiente).
  • Verifica que la clase del controlador JDBC sea org.apache.derby.jdbc.EmbeddedDriver.
  • Desde el menú Driver Jar (Jar Controlador), selecciona org.apache.derby/derby/10.1.1.0/jar.
  • Deja en blanco al nombre de usuario y password.
  • Ingresa BaseDeDatosDeSeguridad como nombre de base de datos y haz clic en Next (Siguiente).
  • Hacer clic en Test Connection (Probar Conexión).
  • Hacer clic en Deploy (Activar).

Agrega un nuevo reino de seguridad

Para crear un nuevo reino de seguridad, haz clic en Add new security realm (Agregar nuevo reino de seguridad) desde el portlet Security Realms (Reinos de Seguridad).

Image Added

Ingresa reino_de_seguridad_derby en el campo Name of Security Realm: (Nombre del Reino de Seguridad: ) y selecciona Database (SQL) Realm (Reino (SQL) Base de datos) del menú Realm type: (Tipo de Reino: ) y haz clic en Next (Siguiente).

La siguiente pantalla configura al módulo de acceso (login). Los primeros dos campos que necesitarás llenar, variarán potencialmente de acuerdo al tupo de base de datos. En este caso, estamos usando la base de datos Derby embebida, por lo que los select SQL de User y Group deberían leerse como sigue:

User SELECT SQL: select nombreusuario, password from APP.usuarios where nombreusuario=?
Group SELECT SQL: select nombreusuario, nombregrupo from APP.grupos where nombreusuario=?

Nota que APP es el esquema por defecto para la base de datos Derby embebida, y requiere preceder a la tabla en el enunciado SQL. Estos enunciados tienden a ser distintos de una base de datos a otra; por ejemplo, este procedimiento también fue probado con DB2, donde los enunciados SQL empleados fueron:

User SELECT SQL: select nombreusuario, password from usuarios where nombreusuario=?
Group SELECT SQL: select nombreusuario, nombregrupo from grupos where nombreusuario=?

Al haber ingresado los enunciados SQL para la obtención de usuarios y grupos, necesitas elegir del menú Database Pool (Pool de Base de datos) al pool de conexiones a la base de datos que creaste en el paso previo (#Crear pool de conexiones), para después hacer clic en Next (Siguiente).

No es necesario llenar los campos restantes, porque esa información ya ha sido proporcionada por el pool de conexiones a la base de datos. Si no estas empleando pools de conexiones a base de datos predefinidos, necesitarás proporcionar todos los campos faltantes.

Image Added

El paso siguiente te permitirá el activar auditoría (auditing) para monitorear los intentos de acceso mediante este reino. En este paso también puedes configurar el bloqueo de cuentas, basándose en la cantidad de intentos de acceso fallidos dentro de un margen de tiempo específico. La última opción en este paso, Store Password (Guardar Password), cuando esta habilitada permitirá al reino el guardar la password de usuario en una credencial privada en el Subject.

Image Added

En este punto ya haz configurado al nuevo reino de seguridad; el siguiente paso es para probarlo y después activarlo. Haz clic en Test a Login (Probar un Acceso).

Ingresa un nombre y contraseña válidos para obtenerlos de la base de datos y haz clic en Next (Siguiente).

Image Added

Deberías recibir un mensaje de confirmación indicando que el acceso fue exitoso; haz clic en Deploy Realm (Activar Reino) para cargar esta configuración al servidor.

Image Added

Ahora tienes un nuevo, completamente configurado, reino de seguridad que comprueba nombre de usuarios y contraseñas desde la base de datos Derby incluida.

El siguiente ejemplo muestra al plan de activación (deployment plan) para este reino de seguridad. Como alternativa a la Consola de Administración Geronimo, puedes guardar este ejemplo en un archivo (por ej. reino_de_seguridad.xml) y activarlo mediante la Herramienta de activación, con la ejecución del siguiente comando:

<geronimo_home>\bin\deploy --user system --password manager deploy <realm_path>\reino_de_seguridad_derby.xml

Code Block
xml
xml
borderStylesolid
titlederby_security_realm

<configuration configId="SecurityRealm-reino_de_seguridad_derby" xmlns="http://geronimo.apache.org/xml/ns/deployment-1.0">
    <import>
        <uri>user/database-pool-BaseDeDatosDeSeguridad/1/car</uri>
    </import>
    <gbean name="reino_de_seguridad_derby" class="org.apache.geronimo.security.realm.GenericSecurityRealm">
        <attribute name="realmName">reino_de_seguridad_derby</attribute>
        <reference name="ServerInfo">
            <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-system/1.0/car,J2EEServer=geronimo,j2eeType=GBean,name=ServerInfo</gbean-name>
        </reference>
        <reference name="LoginService">
            <gbean-name>geronimo.server:J2EEApplication=null,J2EEModule=geronimo/j2ee-security/1.0/car,J2EEServer=geronimo,j2eeType=JaasLoginService,name=JaasLoginService</gbean-name>
        </reference>
        <xml-reference name="LoginModuleConfiguration">
            <log:login-config xmlns:log="http://geronimo.apache.org/xml/ns/loginconfig-1.0">
                <log:login-module control-flag="REQUIRED" server-side="true" wrap-principals="false">
                    <log:login-domain-name>reino_de_seguridad_derby</log:login-domain-name>
                    <log:login-module-class>org.apache.geronimo.security.realm.providers.SQLLoginModule</log:login-module-class>
                    <log:option name="userSelect">select nombreusuario, password from APP.usuarios where nombreusuario=?</log:option>
                    <log:option name="dataSourceApplication">null</log:option>
                    <log:option name="groupSelect">select nombreusuario, nombregrupo from APP.grupos where nombreusuario=?</log:option>
                    <log:option name="dataSourceName">BaseDeDatosDeSeguridad</log:option>
                </log:login-module>
                <log:login-module control-flag="OPTIONAL" server-side="true" wrap-principals="false">
                    <log:login-domain-name>reino_de_seguridad_derby-Audit</log:login-domain-name>
                    <log:login-module-class>org.apache.geronimo.security.realm.providers.FileAuditLoginModule</log:login-module-class>
                    <log:option name="file">var/log/reinoSeguridadDerby.log</log:option>
                </log:login-module>
                <log:login-module control-flag="REQUISITE" server-side="true" wrap-principals="false">
                    <log:login-domain-name>reino_de_seguridad_derby-Lockout</log:login-domain-name>
                    <log:login-module-class>org.apache.geronimo.security.realm.providers.RepeatedFailureLockoutLoginModule</log:login-module-class>
                    <log:option name="lockoutDurationSecs">60</log:option>
                    <log:option name="failurePeriodSecs">10</log:option>
                    <log:option name="failureCount">3</log:option>
                </log:login-module>
            </log:login-config>
        </xml-reference>
    </gbean>
</configuration>

Probando el reino de seguridad

Si deseas probar rápidamente este reino, puedes emplear la aplicación LDAP ejemplo cubierta en la sección Configurando LDAP. Sólo necesitarás cambiar su descriptor de activación deployment descriptor geronimo-web.xml por el que se muestra a continuación, para después reempacar la aplicación y activarla.

Nota que sólo cambiamos del plan original, el nombre del reino, de ldap-realm a reino_de_seguridad_derby.

Code Block
xml
xml
borderStylesolid
titlegeronimo-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    xmlns="http://geronimo.apache.org/xml/ns/web"
    xmlns:sec="http://geronimo.apache.org/xml/ns/security"
    configId="org/apache/geronimo/ldap-secure-demo">
    <context-root>/ldap-demo</context-root>
    <context-priority-classloader>false</context-priority-classloader>
<!--    <security-realm-name>ldap-realm</security-realm-name> -->
	<security-realm-name>reino_de_seguridad_derby</security-realm-name>
    <security>
        <default-principal realm-name="derby_security_realm">
            <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="system"/>
        </default-principal>
        <role-mappings>
            <role role-name="content-administrator">
                <realm realm-name="derby_security_realm">
                    <principal class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal" name="admin" designated-run-as="true"/>
                    <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="system"/>
                </realm>
            </role>
            <role role-name="guest">
                <realm realm-name="derby_security_realm">
                    <principal class="org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal" name="guest" designated-run-as="true"/>
                    <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="user1"/>
                    <principal class="org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal" name="user2"/>
                </realm>
            </role>
        </role-mappings>
    </security>
</web-app>

Sigue las instrucciones citadas en la sección Configurando LDAP para reempacar y activar la aplicación. Cuando la pruebes, estarás empleando al reino SQL de la base de datos. Verifícalo unos minutos, con lo que deberías obtener intentos exitosos de acceso almacenados en el archivo de bitácora que especificaste cuando creaste a este reino de seguridad (en este ejemplo var/log/reinoSeguridadDerby.log).

No Format
borderStylesolid
titlereinoSeguridadDerby.log

03/01/2006 15:56:33 - Authentication attempt - usuariouno
03/01/2006 15:56:33 - Authentication succeeded - usuariouno
03/01/2006 16:10:05 - Authentication attempt - usuariodos
03/01/2006 16:10:05 - Authentication succeeded - usuariodos

Regresar a la sección superior

Administrando certificados

Para administrar certificados SSL, el portlet Keystore Configuration (Configuración Keystore) esta disponible al elegir Keystore en el menú de la Console Navigation (Navegación de Console), ubicado a mano izquierda. Desde dicho portlet puedes importar algún certificado existente ó crear uno nuevo.

Image Added

Los certificados en Geronimo son almacenados en un keystore ubicado en <geronimo_home>\var\security\ssl-keystore-1. Dicho archivo keystore ssl no existe hasta que crees la primer llave privada.

Si ya cuentas con un certificado, puedes hacer clic en import trusted certificate (importar certificado confiable).

Image Added

Especifica la ubicación del archivo del certificado y haz clic en View Certificate (Ver Certificado). La información del certificado será desplegada, y deberías agregar un alias para identificar dicho certificado; posteriormente, da clic en Import (Importar) para agregarlo al keystore. Ahora deberías ver que el tamaño de keystore ha incrementado.

Para generar una llave, da clic en generate key pair (generar par de llave). En la siguiente pantalla ingresa la información relevante y da clic en Submit (Enviar). Para este ejemplo, ingresamos los siguientes valores:

Alias:

Servidor Geronimo

Key Algorithm:

RSA

Key Size:

1024

Signature Algorithm:

MD5withRSA

Validity:

2000

Common Name (CN):

127.0.0.1

Organizational Unit (OU):

Geronimo

Organizational Name (O):

Apache

Locality (L):

Localidad

State (ST):

Estado

Country (C):

País

Ahora deberías ver que el tamaño de keystore ha incrementado y que la llave privada que generaste se encuentra listada cerca de la parte inferior del portlet Keystore Configuration (Configuración de Keystore). Da clic en view (ver) de la llave privada que creaste; deberías ver los detalles del par de llave y las opciones para generar una petición de certificado y para importar una respuesta de certificado de una autoridad de certificación (CA).

Image Added

Para generar una petición de certificado a enviar a la CA, da clic en generate CSR (generar CSR), copia el contenido generado y envíalo a la CA (normalmente recibirías las instrucciones de la CA en el cómo enviar el CSR).

Image Added

Al recibir la respuesta de la CA, comúnmente se acompaña de un archivo certificado; para agregar ese certificado al keystore sigue los pasos mencionados para import trusted certificate (importar certificado confiable).

Usando los certificados

Warning

Actualmente se conoce un tema ante el uso de certificados para asegurar nuevos oyentes HTTPS; ya existe un parche disponible y debería ser aplicado a la siguiente versión de Apache Geronimo. Consulta JIRA GERONIMO-1503 para mayor detalle.

Para usar tus propios certificados en lugar de los proporcionados por defecto en la instalación, necesitas crear un nuevo oyente HTTPS. Usa al portlet Network Listener (Oyente de Red) ubicado dentro de la opción Web Server (Servidor Web) en el menú de Console Navigation (Navegación de Consola) a mano izquierda. Los pasos para agregar al nuevo oyente HTTPS fueron cubiertos previamente en la sección #Agregar nuevo oyente (listener) HTTPS.

Regresar a la sección Regresar a la sección superior