This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Child pages
  • Configurar Apache HTTPd con Jakarta Tomcat Connector (mod_jk)
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

La comunicación entre el servidor HTTP y Geronimo, también puede realizarse mediante conectores AJP. Por defecto, ambas distribuciones Apache Geronimo (Jetty y Tomcat), ya cuentan con un oyente AJP v13 predefinido; los puertos donde esos oyentes están definidos, varían de una distribución a la otra.

  • Para Jetty el puerto del oyente AJP13 predefinido es 8019
  • Para Tomcat el puerto del oyente AJP13 predefinido es 8009

Esta sección cubrirá la configuración para ambas distribuciones Geronimo, ya que los pasos a seguir son muy similares (más no iguales).

El módulo Jakarta Tomcat Connector mod_jk se proporciona como un conector en el código fuente de Apache Tomcat. Jetty (y obviamente Tomcat) es completamente compatible con este conector. Este módulo esta disponible cuando descargas al código fuente de Tomcat, pero también esta disponible como descarga separada; consulta la siguiente URL para obtener la versión apta para tu sistema.

http://tomcat.apache.org/download-connectors.cgi

Además de mod_jk, requerirás al archivo workers.properties, también disponible en la distribución de código fuente de Apache Tomcat. Este archivo de propiedades indica al plugin mod_jk el cómo conectarse al servidor Geronimo. Para una explicación detallada en toda opción disponible dentro de la configuración de Jakarta Tomcat Connector visita la siguiente URL:

http://tomcat.apache.org/connectors-doc/config/workers.html

Por fines prácticos, el módulo mod_jk_1.2.6_2.0.50.dll para Windows y el archivo workers.properties se incluyen en la sección de Attachments (Adjuntos) de este artículo.

Regresar a la sección superior

Configurar Apache HTTPd

Descarga la versión de mod_jk apropiada para tu plataforma desde el sitio web Tomcat, renombralo a mod_jk.dll (ó .so dependiendo de tu plataforma) y copialo al directorio <httpd_home>\modules. Descarga y expande workers.properties del código fuente de Apache Tomcat (como alternativa, aquí lo puedes descargar desde la sección Attachments) al directorio <httpd_home>\conf.

Edita al archivo httpd.conf ubicado en el directorio <httpd_home>\conf para cargar al módulo mod_jk Jakarta Tomcat Connector. Agrega las siguientes líneas al final del archivo httpd.conf.

LoadModule jk_module modules/mod_jk.dll				
# Carga al módulo Jakarta Tomcat Connector

JkWorkersFile <httpd_home>\conf\workers.properties
# Indica al módulo la ubicación del archivo workers.properties

JkLogFile     <httpd_home>\logs\mod_jk.log
# Especifica la ubicación del archivo bitácora específico de este módulo

JkLogLevel    info
# Establece el nivel de bitácora del módulo a info

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# Establece el formato de la etiqueta de tiempo en la bitácora del módulo

JkAutoAlias <httpd_home>\config-store
# Automáticamente Alias a directorios del contexto webapp hacia el espacio de documento Apache.

JkMount /console/* ajp13
# Establece un punto de montaje desde un contexto a un trabajador Tomcat. En este caso, permitirá el acceso (redirigirá la petición) a la consola.

JkMount mapeará cualquier cosa detrás de /console/ al trabajador ajp13. El nombre ajp13 se define en el archivo workers.properties, el cual se describe a continuación. Necesitarás agregar más directivas JkMount dependiendo de las aplicaciones que desees que sean accedidas mediante el HTTPd remoto.

En este ejemplo, la console ha sido habilitada sólo por fines demostrativos. En un ambiente de producción no convendrá tener a la console accesible desde otra red (normalmente Internet). El tener a la console accesible representa un gran riesgo de seguridad.

La regla es que todo debería tener acceso restringido, donde una firewall normalmente se colocaría entre los servidores HTTP y de aplicaciones (dependiendo de la topología), con lo cual sólo deberías mapear los recursos mínimos necesarios para poder tener a tu aplicación funcionando y disponible para el otro sector.

Regresar a la sección superior

Configurar workers.properties

El archivo workers.properties le indica a HTTPd, entre otras cosas, donde se encuentra el servidor Geronimo, que versión de AJP debería usar y el puerto en el cual Geronimo esta escuchando.

Edita al archivo workers.properties ubicado en el directorio <httpd_home>\conf de tu ambiente. El siguiente ejemplo es una porción del archivo workers.properties empleando sólo las variables a las cuales te deberías enfocar.

----------------------------------> Falta traducción

workers.java_home=<java_home>
# Sets the JAVA_HOME

ps=\
# For Windows systems use back slash "\" , for Unix systems use forward slash "/"

worker.ajp13.port=8009
# Use default 8009 for Apache Tomcat
# Change this value to 8019 for Jetty

worker.ajp13.host=localhost
# Specifies the location of the Geronimo server. Use default localhost for single-tier scenarios. Specify the hostname of the Geronimo server for multi-tier environments.

worker.ajp13.type=ajp13
# Sets the version of AJP used. The AJP listeners defined in Geronimo are AJP v13.

From this example note how the name of the worker is defined, look at the variables definition worker.ajp13.* , ajp13 is the worker name you specified earlier in the httpd.conf.

As a last step, stop and restart the Apache HTTPd to ensure these changes are loaded.

Back to Top

Testing

For testing this configuration make sure both Geronimo and HTTPd are up and running.

  1. Check Geronimo connectivity by accessing http://localhost:8080/console , you should see the Geronimo Administration Console.
  2. Check HTTPd connectivity by accessing http://localhost , you should see the Apache HTTPd welcome page.
  3. Check the HTTPd - Geronimo request forwarding by accessing http://localhost/console/ , you shoud be redirected to the Geronimo Administration Console. Note at the end of the URL there is a "/", failing to include this / will result in a Not Found error triggered by the Jakarta Tomcat Connector module.
    <---------------------------------- Falta traducción
    Regresar a la sección superior
  • No labels