En esta p�gina veremos como configurar Tomcat y Apache para poder servir nuestra aplicaci�n web de forma transparente desde nuestro servidor Web.
Hemos utilizado el protocolo de comunicaci�n jk(?), porque este protocolo es el protocolo por defecto utilizado en Tomcat-4.1.*.
�La Soluci�n Trivial
Si no te importa el rendimiento y no quieres hacer cosas demasiado complejas al principio simplemente puedes ejecutar Tomcat sobre el puerto 80 en lugar de usar el puerto por defecto 8080. Si haces esto, puedes acceder a Tomcat como si fuera el servidor HTTP por defecto. Por ejemplo, la URL http://mycompany ser�a servida por Tomcat y si has seguido los pasos de la p�gina anterior ya estar�a todo hecho.
Pero esta no es la opci�n recomendada, porque:
- se dice que tomcat pierde bastante rendimiento cuando se utiliza como el servidor apache para servir ficheros est�ticos.
- muy probablemetne tu servidor web/intranet est� ya ejecut�ndose en ese puerto, por eso incluso podr�as no tener la oportunidad de utilizarlo para Tomcat.
- si el puerto 80 no est� ocupado puedes utilizarlo por ahora, pero cortar�as definitivamente la posibilidad de ejecutar tu servidor web en el puerto ahora ocupado.
Por todo esto, debes seguir leyendo ...
�Configurar la Comunicaci�n entre Tomcat y Apache
La eliminaci�n del n�mero de puerto de la URL es m�s complicada, porque ahora entra en juego el Servidor Web. Asumimos, que tu servidor Web ya se est� ejecutando en el puerto est�ndar HTTP, 80. Por lo que se podr� acceder a la site de tu compa��a mediante la URL: http://mycompany
Ahora lo que tenemos que hacer es configurar una l�nea de comunicaci�n entre el servidor web y tomcat. Puedes leer el excelente documento que hay sobre esto en Apache. Pero si prefieres s�lo configurarlos sin importarte nada m�s, sigue con este texto. Pero te avisamos. No explicaremos nada sobre los conceptos. Si algo falla, tendr�s que ir a los documentos oficiales!
�Preparar Tomcat
- Ve a la carpeta $tomcatroot/conf y edita el fichero server.xml
- Busca la definici�n del Ajp12 Connector.
- A�ade un nuevo connector utilizando el siguiente c�digo:
<Connector className="org.apache.tomcat.service.PoolTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/> <Parameter name="port" value="8090"/> </Connector>
El valor del puerto es arbitrario. S�lo tienes que asegurarte de que ese puerto no se utiliza en ning�n otro programa de tu m�quina.
�Crear mod_jk.conf y worker.properties
Podemos dejar que Tomcat cree estos ficheros por nosotros. Pero preferimos darte dos ficheros de ejemplo, que puedes copiar/pegar en tu entorno. Estos ficheros se han construido para usarse con Cocoon. Ambos se deben situar en la carpeta $apacheroot/conf: Un ejemplo de mod_jk.conf
El siguiente fragmento de c�digo es la definici�n m�s peque�a posible. Por favor chequea todos los paths y modificalos de acuerdo a tu entorno:
<IfModule mod_jk.c> JkWorkersFile /etc/httpd/conf/workers.properties JkLogFile /var/log/httpd/mod_jk.log JkLogLevel error JkMount /cocoon cocoon JkMount /cocoon/ cocoon JkMount /cocoon/* cocoon </IfModule>
Observa que con esta definici�n todas las peticiones a /cocoon ser�n completamente servidas por cocoon. Podr�as querer a�adir algunas reglas para que el contenido est�tico lo sirviera el servidor web... Un ejemplo de worker.properties
Por favor chequea todos los paths y modificalos de acuerdo a tu entorno:
workers.tomcat_home=/opt/tomcat/tomcat-4.1.18 workers.java_home=/opt/java/java-1.3.1 worker.list=cocoon worker.cocoon.port=8090 worker.cocoon.host=localhost worker.cocoon.type=ajp13
Observa que puedes definir tantos workers como quieras, pero no te olvides de situarlos en la lista separada por comas worker.list. Ahora podr�s montar diferentes espacios de URLs para diferentes servidores Tomcat...