1. Despliegue de Aplicaciones web
Practica 12
Integración de Tomcat y Apache
Miguel Ángel López Torralba
2ºDaw
2013-14
2. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
Para poder desarrollar esta práctica debemos de tener instalado, tanto
Tomcat, como apache, para la instalación de estos dos servicios es necesario
remitirse a prácticas anteriores.
Una vez que tenemos instalados y levantados ambos servicios,
procedemos copiar la carpeta de examples de Tomcat dentro /var/www con el
fin de que nuestro servidor apache tenga acceso a la misma, como podemos ver
en la siguiente secuencia de imágenes:
Desde localhost, entramos a la carpeta examples
Escogemos JSP examples
Vemos que aparece el código fuente en lugar de la aplicación JSP
3. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
El resultado logrado no es el deseado, de modo que Apache no puede
ejecutar este tipo de aplicaciones, que es lo que vamos a hacer en esta práctica.
Para ello lo primero que tenemos que hacer es instalar y activar el
módulo jk (libapache2-mod.jk) de modo que escribimos en la consola el
siguiente comando e introducimos el siguiente comando:
Reiniciamos apache2 con el comando:
Y finalmente comprobamos que se ha instalado correctamente el módulo
al aparecer los archivos, jk.conf y jk.load, tanto en el directorio mods-avaiable
como en mods-enabled:
Una vez que ya tenemos instalado el módulo jk, lo que debemos de hacer
es configurarlo, para ello, nos dirigimos al archivo: etc/libapache2-modjk/workers.properties y modificamos las siguientes líneas:
4. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
•
En primer lugar modificamos la línea donde esta instalado tomcat
•
Después reemplazamos la ruta de instalación de Java:
•
Añadimos el nuevo worker con el que trabajaremos en esta práctica:
•
Configuramos el nuevo worker para que este pueda funcionar:
Una vez que tenemos este archivo configurado debemos de dirigirnos al
server.xml de tomcat para prepararlo para recibir a los workers por sus puertos:
5. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
Ahora procedemos a abrir el archivo jk.conf y configurarlo, comentando
la línea de jkworkersfile para evitar errores y dejamos la localización del
archivo de log por defecto.
Ahora desde el archivo default, que se encuentra en sites-avaiable de
apache2, debemos de introducir la directiva JkMountCopy On, tal y como se
puede observar en la siguiente imagen.
Una vez hemos puesto esto, añadimos las siguientes líneas al archivo de
configuración ya sea el httpd.conf o el apache2.conf:
Empleamos Include para que se carguen las configuraciones del módulo
jk, contenidas en el fichero indicado, insertando la línea comentada antes para
evitar errores de apache. Se montan los directorios cuyos documentos serán
interpretados por Tomcat, a traves de las directivas JkMount, siendo todos los
6. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
documentos con extensión .jsp que se encuentran en el directorio examples de
nuestro servidor.
Tambien se puede crear el httpd.conf si no existe, introduciendo en el
apache2.conf la siguiente expresión:
Finalmente ya solo queda reiniciar apache y tomcat y si tolo ha salido
bien, deben de tomar todos los cambios que se han expuesto y funcionar:
Preguntas sobre la práctica
1: ¿Qué nuevo módulo de apache has necesitado instalar y activar?
Se ha instalado y activado el módulo jk (libapache2-mod-jk).
2: Define worker. Crea un worker para las pruebas que se llame
worker[tunombre]
Es una instacia de tomcat encargada de ejecutar los servlets enviados
como petición de un servidor web, ya que este no es capaz de ejecutarlas él
mismo.
3: ¿Qué ficheros de configuración vas a tener que modificar? Captura
pantallas de todos con las partes que has modificado
Se han modificado el server.xml, apache2.conf, default de virtualhost,
jk.conf, workers.properties.
Las capturas se pueden observar en el desarrollo de la práctica.
7. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
4: ¿Qué ficheros de log has revisado? Captura pantallas de todos ellos tanto si
se muestra algún error como si no.
/var/log/apache2/mod_jk.log
/var/log/apache2/acces.log
8. Despliegue de aplicaciones web
Práctica 12: Integración de Apache y Tomcat
Miguel Ángel Lopez Torralba
2013-14
5: Indica los errores que han ido apareciendo y como los has solucionado
El principal error que me ha aparecido ha sido que el servidor no me
abría los .jsp, la verdad es que me ha costado mucho arreglarlo, he tenido que
modificarlo varias veces hasta que he podido solucionarlo.
Debido a esto me he encontrado con algunos errores secundarios sin
demasiada importancia ya que han ocurrido al intentar arreglar el principal
6: Investiga en que casos es interesante crear varios workers.
Para servir distintos tomcats, proporcionando un entorno de desarrollo
donde varios desarrolladores utilizan su propio worker
Para proporcionar el balanceo de carga, corriendo cada worker en una
maquina distinta y distribuyendose las tareas entre ellos. Aumentándose la
disponibilidad y el rendimiento.
Donde cada host virtual utilice su propio worker, apareciendo una
separación muy útil cuando los servidores son utilizados por varias empresas.
7: Investiga también como usar JkMountCopy On en el fichero jk,conf para
evitar tener que copiar la configuración sobre los ficheros jk_estatus, jk_log..
a cada servidor virtual. Pruébalo en tu configuración
Si esta activada en un host virtual, está copia todo lo montado por el
servidor principal, utilizando JkMount o JkUnMount al sitio utilizado
Por defecto está apagada por ello hay que ponerle el modo On,
introduciéndola en el servidor virtual del sitio, cargándose desde el servidor
global (httpd.conf o apache2.conf) todos JkMount necesarios.