SlideShare una empresa de Scribd logo
1 de 16
IES Gran Capitán
Módulo: Despliegue de Aplicaciones Web
Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web”

Práctica 12: Integración de Apache Server
con Tomcat

Fecha entrega: 13/01/2014
Autor: Pablo Medina Suárez

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

2

1 ÍNDICE
1

ÍNDICE

2

2

INTRODUCCIÓN

3

3

DESARROLLO DE LA PRÁCTICA

4

PREGUNTAS:
9
3.1 ¿QUÉ NUEVO MÓDULO DE APACHE HAS NECESITADO INSTALAR Y ACTIVAR?
9
3.2 DEFINE WORKER. CREA UN WORKER PARA LAS PRUEBAS QUE SE LLAME WORKER[TUAPELLIDO].
9
3.3 ¿QUÉ FICHEROS DE CONFIGURACIÓN VAS A TENER QUE MODIFICAR? CAPTURA PANTALLAS DE
TODOS CON LA PARTE QUE HAS MODIFICADO.
9
3.4 ¿QUÉ FICHEROS DE LOG HAS REVISADO? CAPTURA PANTALLAS DE TODOS ELLOS TANTO SI SE
MUESTRA ALGÚN ERROR COMO SI NO.
10
3.5 INDICA LOS ERRORES QUE HAN IDO APARECIENDO Y CÓMO LOS HAS SOLUCIONADO.
11
3.5.1 ERROR: /EXAMPLES/ DENTRO DE OTRO DIRECTORIO:
11
3.5.2 ERROR: APACHE NOS DA UN ERROR AL INICIARLO:
11
3.5.3 ERROR: COULD NOT FIND WORKER JK-MANAGER Y JK-STATUS:
12
3.5.4 ERROR: LA PÁGINA NOS DEVUELVE UN ERROR 503 (SERVICIO NO DISPONIBLE):
13
3.5.5 ERROR: LA PÁGINA NOS DEVUELVE UN ERROR 404 (NO ENCONTRADO):
13
3.6 OPCIONAL: INVESTIGA EN QUÉ CASOS PUEDE SER INTERESANTE DEFINIR VARIOS "WORKERS". 13
3.7 OPCIONAL: PONLO EN PRÁCTICA CONFIGURANDO UN WORKER MÁS PARA OTRO DE TUS
SERVIDORES WEB VIRTUAL.
13
3.8 OPCIONAL: INVESTIGA TAMBIÉN CÓMO USAR "JKMOUNTCOPY ON" EN EL FICHERO JK.CONF
PARA EVITAR TENER QUE COPIAR LA CONFIGURACIÓN SOBRE LOS FICHEROS JK_ESTATUS, JK_LOG,
ETC A CADA SERVIDOR WEB VIRTUAL. PRUÉBALO EN TU CONFIGURACIÓN.
13
4

CONCLUSIÓN

15

5

BIBLIOGRAFIA

16

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

2

3

INTRODUCCIÓN
Objetivo:
Usar Apache para servir las páginas estáticas y Tomcat para ejecutar servlets.

Al acceder desde el navegador a un servlet http://localhost/examples/[pagina con
servlets] será Apache el que detecta que se trata de un server y que necesita la ayuda de Tomcat
para ejecutarlo de modo que reenvía la petición a Tomcat. Entonces estaremos haciendo uso
de Tomcat como contenedor pero sin acceder directamente a él (indicando el puerto de Tomcat
como hicimos en la práctica anterior):
http://localhost:8080/examples/[pagina con servlets]

Requisitos:
- Tener Tomcat instalado.
Pasos:
Lee la documentación al respecto subida a moodle (documento paso a paso).
Documenta la instalación, configuración y ejecución respondiendo al mismo tiempo a
las preguntas siguientes.
Nota: la última pregunta es opcional y subirá la nota de la práctica.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

4

3 DESARROLLO DE LA PRÁCTICA
Antes de comenzar, iniciamos en el servidor tanto el servicio Apache como el de
Tomcat, y comprobamos que funcionan correctamente. A su vez, recordamos las rutas donde
están instalados los servicios y los programas necesarios, como Java, etc.
Vemos que comprueban correctamente, así que vamos a comprobar si Apache es capaz
de ejecutar algún Servlet por sí mismo (lo cual comprobaremos que no será así).
Accedemos al directorio de servlets de ejemplo de Tomcat y copiamos el directorio de
aplicaciones de ejemplo de Tomcat (examples) en el directorio de Apache:

Ahora abrimos el navegador y accedemos a la dirección correspondiente para
comprobar si funciona la aplicación:

Como puede verse en la imagen, el resultado obtenido no es el deseado, porque el
navegador nos ha mostrado el código del documento en lugar del resultado, ya que no ha sido
interpretado por el servidor. Por lo tanto, tenemos que encontrar la forma de que Apache recurra
a Tomcat para ejecutar las aplicaciones.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

5

Tenemos que instalar y activar el módulo jk (libapache2-mod-jk), así que abrimos un
terminal e introducimos lo siguiente, reiniciando además el servicio de Apache:

Hecho lo anterior, comprobamos que nos han aparecido dos archivos nuevos, jk.conf y
jk.load, tanto en el directorio mods-available como en mods-enabled del servicio Apache:

Ya tenemos instalado el módulo necesario, lo siguiente a realizar las configuraciones
necesarias en los ficheros de configuración.
En primer lugar, abrimos el fichero /etc/libapache2-mod-jk/workers.properties y
modificamos las siguientes líneas:

Reemplazamos por la ruta donde está instalado Tomcat

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

6

Reemplazamos por la ruta de instalación de Java

Añadido de un nuevo worker, con el que trabajaremos en el desarrollo de ésta
práctica

Configuraciones realizadas para el nuevo worker, nótese que el puerto utilizado por
nuestro worker debe ser el mismo que uno de los utilizados en el fichero server.xml
Al haber incluido un nuevo worker, debemos hacer la siguiente modificación en el
fichero server.xml de Tomcat:

Aquí puede verse la parte del archivo de configuración server.xml, donde se ve que el
puerto utilizado es el 8009 y se ha creado otro conector para el 8010

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

7

Guardamos los cambios y ahora abrimos y pasamos a configurar el fichero
/etc/apache2/mods-enabled/jk.conf, donde hacemos los siguientes cambios:

Por orden: se comenta la línea donde se indica la ruta del fichero workers.properties, se
indica dónde y qué nombre tendrá el fichero de log de jk, y cuál el nivel de log (error, para
que muestre errores)
NOTA: he comentado la línea JkWorkersFile debido a que la añadiremos más adelante
para evitar un error causado al utilizar un Virtual Host.
Abrimos el fichero de configuración del Virtual Host desde el cual queremos ejecutar
los servlets, en este caso, el sitio por defecto (default) y añadimos lo siguiente:

Entre la etiqueta VirtualHost añadimos la directiva JkMountCopy, para cargar las
direcciones montadas en httpd.conf, que serán interpretadas por el servidor Tomcat, en lugar
de por Apache.
Por último, se añade la directiva JkMountCopy On, que veremos en la pregunta
correspondiente el motivo por el que lo he utilizado.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

8

Ahora, abrimos el fichero /etc/apache/httpd.conf, en el cual añadimos lo siguiente:

Se emplea la directiva Include para que se carguen las configuraciones del módulo
jk, contenidas en el fichero indicado. E insertamos la línea que se comentó anteriormente
para evitar un error con Apache.
Montamos con JkMount los directorios cuyos documentos serán interpretados por
Tomcat.
Con el uso de la directiva JkMount le indicamos al servidor qué direcciones serán
interpretadas por el servidor Tomcat, en este caso, todos los documentos con extensión .jsp y
todo lo contenido en el directorio /examples/ de nuestro servidor.
A continuación, le indicamos el worker que se encargará de servir las aplicaciones, en
este caso, el que hemos creado anteriormente.
Ya sólo nos queda reiniciar tanto el servicio Tomcat como el servidor Apache para que
los cambios se tengan en cuenta y probamos de nuevo a ejecutar alguna de las servlets. Por lo
que abrimos el navegador y, utilizando la dirección http://localhost/examples/, elegimos alguna
de las aplicaciones:

Otra de las aplicaciones de ejemplo:

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

9

Y con esto, ¡ya tenemos integrado nuestro servidor Apache con Tomcat para servir
servlets!

PREGUNTAS:
3.1

¿Qué nuevo módulo de apache has necesitado instalar y activar?

Se ha instalado y activado el módulo jk (libapache2-mod-jk). Con esto, es posible
establecer conexiones entre servidores utilizando el protocolo AJP.

3.2

Define worker. Crea un worker para las pruebas que se llame
worker[tuapellido].

Un worker es una instancia de Tomcat encargada de ejecutar las servlets enviadas como
petición de un servidor web como, por ejemplo, un servidor Apache, ya que éste es incapaz de
ejecutarlas por sí mismo.
Creación del worker personalizado:

Indicamos qué worker servirá los ficheros de los directorios de nuestro servidor:

3.3

¿Qué ficheros de configuración vas a tener que modificar? Captura
pantallas de todos con la parte que has modificado.

Se han modificado los archivos /etc/libapache2-mod-jk/workers.properties,
/etc/apache2/mods-enabled/jk.conf, server.xml (para comprobar el puerto utilizado), y el
fichero de configuración del Virtual Host.
Pueden verse las modificaciones realizadas en los ficheros más arriba, durante el
desarrollo de la práctica.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

3.4

10

¿Qué ficheros de log has revisado? Captura pantallas de todos ellos
tanto si se muestra algún error como si no.

He utilizado, principalmente, el fichero /var/log/apache2/mod_jk.log, el cual me ha
sido de mucha utilidad para detectar errores durante el desarrollo de la práctica. En el siguiente
punto pueden verse imágenes donde se detectan errores mediante la consulta de este fichero.
Otros ficheros que también son de utilidad son el fichero /var/log/apache2/error.log:

Y el fichero /var/log/apache2/Access.log:

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

3.5

11

Indica los errores que han ido apareciendo y cómo los has
solucionado.

3.5.1 Error: /examples/ dentro de otro directorio:
Uno de los primeros errores que he cometido, y que ha sido catastrófico al no conseguir
que Tomcat accediera a las aplicaciones (mostrando un error 404), ha sido insertar el directorio
/examples/ dentro de un directorio llamado /webapps/.
Para solucionarlo, tan sólo he tenido que sacar el directorio a /var/www, quedando de la
siguiente manera:

Acto seguido, he eliminado el directorio /webapps/, ya que no tiene utilidad ninguna.

3.5.2 Error: Apache nos da un error al iniciarlo:
Al reiniciar Apache, nos devuelve el siguiente error:

Nos indica que la directiva JkWorkersFile sólo puede emplearse una vez. Para
solucionarlo, tenemos que comentar la siguiente línea en el fichero /etc/apache2/modsenabled/jk.conf:

En cambio, la misma va incluida en el fichero /etc/apache2/httpd.conf:

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

12

3.5.3 Error: Could not find worker jk-manager y jk-status:
Revisando el fichero de log /var/log/apache2/mod_jk.log encontramos las siguientes
líneas, indicando errores relacionados con el módulo jk:

Esto es causado a que estamos empleando el módulo en un Virtual Host, por lo que
tenemos que hacer como se nos indica en el fichero de configuración, y solucionar el problema
comentando las siguientes líneas:

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

13

3.5.4 Error: la página nos devuelve un error 503 (servicio no disponible):
Si hacemos uso, una vez más, del fichero mod_jk.log, nos encontramos los siguientes
errores:

El error puede estar causado porque no tenemos iniciado el servicio de Tomcat, o
porque
tenemos
configurado
un
puerto
equivocado
en
el
fichero
$CATALINA_HOME/conf/server.xml.

3.5.5 Error: la página nos devuelve un error 404 (no encontrado):
Este error puede tener infinitas causas, en mi caso, se me mostraba cuando aún no había
solucionado el error 3.5.1, porque las aplicaciones estaban intentando acceder a una dirección
distinta a la que tenían programada, por lo que la dirección devuelta no podía ser encontrada por
el servidor.

3.6

Opcional: investiga en qué casos puede ser interesante definir varios
"workers".
Hay varios casos en los que trabajar con varios workers resulta útil:





Para servir distintos contextos utilizando workers Tomcat distintos, para
proporcionar un entorno de desarrollo donde los desarrolladores compartan
el mismo servidor pero cada uno utilizando su propio worker.
Cuando queremos que cada host virtual utilice su propio worker. De esta
manera, se establece una clara separación entre cada sitio web, siendo de
utilidad, por ejemplo, en servidores compartidos por varias empresas, donde
cada una aloja su propio sitio web.
Para proporcionar balanceo de carga utilizando múltiples workers, cada uno
corriendo en una máquina distinta, y distribuyéndose las peticiones entre ellos.
De esta forma se consigue una alta disponibilidad y mejora de rendimiento y
número máximo de usuarios de las aplicaciones servidas.

3.7

Opcional: ponlo en práctica configurando un worker más para otro
de tus servidores web virtual.

3.8

Opcional: investiga también cómo usar "JkMountCopy On" en el
fichero jk.conf para evitar tener que copiar la configuración sobre los
ficheros jk_estatus, jk_log, etc a cada servidor web virtual. Pruébalo
en tu configuración.

He utilizado esta directiva desde el primer momento, ya que facilita el desarrollo de la
práctica.
Esta directiva, si está activada en un host virtual, copiará todo lo montado por el
servidor principal (utilizando JkMount o JkUnMount) al sitio que la utilice.
IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

14

La configuración por defecto es “Off”, es decir, está apagada. Para activarla en uno de
nuestros host virtuales, tenemos que incluir lo siguiente en el fichero de configuración de dicho
sitio:

De esta forma, se copiaran en este sitio los mounts cargados por el servidor global
mediante el uso de JkMount, en este caso, cargamos desde el /etc/apache2/httpd.conf lo
siguiente:

De esta manera, nos ahorramos tener que copiar en cada host virtual la configuración de
los ficheros del módulo jk.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

15

4 CONCLUSIÓN
En esta práctica he aprendido a integrar un servidor web con el servidor Tomcat
instalado previamente para poder servir las servlets que Apache no puede servir por sí mismo.
Todo ello gracias a la instalación y uso de mod_jk.
Para ello, se ha tratado el uso de los workers de Tomcat, y los distintos ficheros de
configuración, tanto de Apache, como de Tomcat y del propio módulo utilizado.
Además, he resuelto los distintos errores aparecidos durante la práctica mediante el uso
de los ficheros de log, de la documentación, y del todopoderoso Google.

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
Práctiac 12: Integrar Apache con Tomcat

16

5 BIBLIOGRAFIA


Integración de Tomcat y Apache paso a paso.
Consultado en: http://moodle.iesgrancapitan.org/mod/resource/view.php?id=6234



Documentación de Apache Tomcat, Connectors.
Consultado en: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html



Documentación de Apache Tomcat, JkMountCopy On
Consultado en: http://tomcat.apache.org/connectors-doc/reference/apache.html



Tomcat, introducción en castellano. Workers Tomcat.
Consultado en: http://www.programacion.com/articulo/tomcat_-_introduccion_134/3

IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba.
http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org

Más contenido relacionado

La actualidad más candente

Gateway y gatekeeper
Gateway y gatekeeperGateway y gatekeeper
Gateway y gatekeepercesardangers
 
BGP para ISPs con MikroTik RouterOS
BGP para ISPs con MikroTik RouterOSBGP para ISPs con MikroTik RouterOS
BGP para ISPs con MikroTik RouterOSProzcenter
 
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v4035699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40Oscar Pedraza Martinez
 
Conceptos y protocolos de enrutamiento: 11. OSPF
Conceptos y protocolos de enrutamiento: 11. OSPFConceptos y protocolos de enrutamiento: 11. OSPF
Conceptos y protocolos de enrutamiento: 11. OSPFFrancesc Perez
 
5.2.2.6 lab configuring dynamic and static nat - ilm
5.2.2.6 lab   configuring dynamic and static nat - ilm5.2.2.6 lab   configuring dynamic and static nat - ilm
5.2.2.6 lab configuring dynamic and static nat - ilmOmar E Garcia V
 
Aula02 lab01 - montagem de uma topologia simples
Aula02   lab01 - montagem de uma topologia simplesAula02   lab01 - montagem de uma topologia simples
Aula02 lab01 - montagem de uma topologia simplesCarlos Veiga
 
Esquemas y componentes de una red ipv6
Esquemas y componentes de una red ipv6Esquemas y componentes de una red ipv6
Esquemas y componentes de una red ipv6OSCAR IVAN
 
How To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware AutomationHow To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware AutomationReal Estate
 
Elaboración de un patch cord con cable utp cat 5e lilibeth diaz
Elaboración de un patch cord con cable utp cat 5e lilibeth diazElaboración de un patch cord con cable utp cat 5e lilibeth diaz
Elaboración de un patch cord con cable utp cat 5e lilibeth diazDIAZJAIMESLILIBETH
 
Proyecto Hotspot mikrotik
Proyecto Hotspot mikrotikProyecto Hotspot mikrotik
Proyecto Hotspot mikrotikDavid Pérez
 
Servicios del servidor
Servicios del servidorServicios del servidor
Servicios del servidorJenny Ospina
 
diagrama de tipologia
diagrama de tipologiadiagrama de tipologia
diagrama de tipologiaMarye Te Ba
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRTMarcelo Santana Camacho
 
Stack Doble IPv4-IPv6
Stack Doble IPv4-IPv6Stack Doble IPv4-IPv6
Stack Doble IPv4-IPv6bramstoker
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsdandark2000
 
4.1 Routing OSPF - AREA UNICA
4.1 Routing  OSPF - AREA UNICA4.1 Routing  OSPF - AREA UNICA
4.1 Routing OSPF - AREA UNICADavid Narváez
 
Redes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IPRedes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IPMauro Tapajós
 

La actualidad más candente (20)

Gateway y gatekeeper
Gateway y gatekeeperGateway y gatekeeper
Gateway y gatekeeper
 
BGP para ISPs con MikroTik RouterOS
BGP para ISPs con MikroTik RouterOSBGP para ISPs con MikroTik RouterOS
BGP para ISPs con MikroTik RouterOS
 
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v4035699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
 
Conceptos y protocolos de enrutamiento: 11. OSPF
Conceptos y protocolos de enrutamiento: 11. OSPFConceptos y protocolos de enrutamiento: 11. OSPF
Conceptos y protocolos de enrutamiento: 11. OSPF
 
5.2.2.6 lab configuring dynamic and static nat - ilm
5.2.2.6 lab   configuring dynamic and static nat - ilm5.2.2.6 lab   configuring dynamic and static nat - ilm
5.2.2.6 lab configuring dynamic and static nat - ilm
 
Aula02 lab01 - montagem de uma topologia simples
Aula02   lab01 - montagem de uma topologia simplesAula02   lab01 - montagem de uma topologia simples
Aula02 lab01 - montagem de uma topologia simples
 
QoS en Redes Corporativas
QoS en Redes CorporativasQoS en Redes Corporativas
QoS en Redes Corporativas
 
Esquemas y componentes de una red ipv6
Esquemas y componentes de una red ipv6Esquemas y componentes de una red ipv6
Esquemas y componentes de una red ipv6
 
OSPF área única
OSPF   área únicaOSPF   área única
OSPF área única
 
How To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware AutomationHow To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware Automation
 
Elaboración de un patch cord con cable utp cat 5e lilibeth diaz
Elaboración de un patch cord con cable utp cat 5e lilibeth diazElaboración de un patch cord con cable utp cat 5e lilibeth diaz
Elaboración de un patch cord con cable utp cat 5e lilibeth diaz
 
Proyecto Hotspot mikrotik
Proyecto Hotspot mikrotikProyecto Hotspot mikrotik
Proyecto Hotspot mikrotik
 
Servicios del servidor
Servicios del servidorServicios del servidor
Servicios del servidor
 
diagrama de tipologia
diagrama de tipologiadiagrama de tipologia
diagrama de tipologia
 
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 Sistema de monitoramento para redes sem fio com Zabbix e openWRT Sistema de monitoramento para redes sem fio com Zabbix e openWRT
Sistema de monitoramento para redes sem fio com Zabbix e openWRT
 
Stack Doble IPv4-IPv6
Stack Doble IPv4-IPv6Stack Doble IPv4-IPv6
Stack Doble IPv4-IPv6
 
Desarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas socketsDesarrollo aplicaciones distribuidas sockets
Desarrollo aplicaciones distribuidas sockets
 
Ejercicios Prácticos con CISCO Packet Tracer
Ejercicios Prácticos con CISCO Packet TracerEjercicios Prácticos con CISCO Packet Tracer
Ejercicios Prácticos con CISCO Packet Tracer
 
4.1 Routing OSPF - AREA UNICA
4.1 Routing  OSPF - AREA UNICA4.1 Routing  OSPF - AREA UNICA
4.1 Routing OSPF - AREA UNICA
 
Redes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IPRedes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IP
 

Destacado

Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8pablozacrosuarez
 
Apache Tomcat 8: despliegue de una aplicación mediante terminal
Apache Tomcat 8: despliegue de una aplicación mediante terminalApache Tomcat 8: despliegue de una aplicación mediante terminal
Apache Tomcat 8: despliegue de una aplicación mediante terminalpablozacrosuarez
 
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfazApache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfazpablozacrosuarez
 
Instalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPdInstalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPdpablozacrosuarez
 
Apache: información sobre nuestro servidor web
Apache: información sobre nuestro servidor webApache: información sobre nuestro servidor web
Apache: información sobre nuestro servidor webpablozacrosuarez
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPDanii Rodriguez
 
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Micael Gallego
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideSharePedro Bermudez Talavera
 

Destacado (10)

Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8Instalación de Apache Tomcat 8
Instalación de Apache Tomcat 8
 
Apache Tomcat 8: despliegue de una aplicación mediante terminal
Apache Tomcat 8: despliegue de una aplicación mediante terminalApache Tomcat 8: despliegue de una aplicación mediante terminal
Apache Tomcat 8: despliegue de una aplicación mediante terminal
 
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfazApache Tomcat 8: despliegue de una aplicación mediante el interfaz
Apache Tomcat 8: despliegue de una aplicación mediante el interfaz
 
Instalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPdInstalación y configuración de un servidor ProFTPd
Instalación y configuración de un servidor ProFTPd
 
Apache: información sobre nuestro servidor web
Apache: información sobre nuestro servidor webApache: información sobre nuestro servidor web
Apache: información sobre nuestro servidor web
 
Comunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSPComunicacion entre formularios HTML y paginas JSP
Comunicacion entre formularios HTML y paginas JSP
 
Gestion De Calidad Cap 26
Gestion De Calidad Cap 26Gestion De Calidad Cap 26
Gestion De Calidad Cap 26
 
Tomcat
TomcatTomcat
Tomcat
 
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)
 
Cómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShareCómo descargar presentaciones desde SlideShare
Cómo descargar presentaciones desde SlideShare
 

Similar a Apache Tomcat 8: integración con Apache Server (con mod_jk)

Similar a Apache Tomcat 8: integración con Apache Server (con mod_jk) (20)

12integracion de tomcat con apache
12integracion de tomcat con apache12integracion de tomcat con apache
12integracion de tomcat con apache
 
Apache: Servidores web virtuales (por IP y puerto)
Apache: Servidores web virtuales (por IP y puerto)Apache: Servidores web virtuales (por IP y puerto)
Apache: Servidores web virtuales (por IP y puerto)
 
Apache: Servidores web virtuales (por nombre)
Apache: Servidores web virtuales (por nombre)Apache: Servidores web virtuales (por nombre)
Apache: Servidores web virtuales (por nombre)
 
Instalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y WindowsInstalación de Tomcat 7 en Linux y Windows
Instalación de Tomcat 7 en Linux y Windows
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
2. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-20062. Java Servlets (J2EE) - Curso 2005-2006
2. Java Servlets (J2EE) - Curso 2005-2006
 
JSP
JSPJSP
JSP
 
09practicafinal
09practicafinal09practicafinal
09practicafinal
 
instalacion tomcat
instalacion tomcatinstalacion tomcat
instalacion tomcat
 
Apache: Más opciones de configuración
Apache: Más opciones de configuraciónApache: Más opciones de configuración
Apache: Más opciones de configuración
 
Desarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los ServletsDesarrollo web con JAVA: Introduccion a los Servlets
Desarrollo web con JAVA: Introduccion a los Servlets
 
Lamp
LampLamp
Lamp
 
Agentes y servlets
Agentes y servletsAgentes y servlets
Agentes y servlets
 
Introducción a Tomcat
Introducción a TomcatIntroducción a Tomcat
Introducción a Tomcat
 
01intalacion de apache
01intalacion de apache01intalacion de apache
01intalacion de apache
 
Servicios web Extendido_error perl
Servicios web Extendido_error perlServicios web Extendido_error perl
Servicios web Extendido_error perl
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 
Tema servlets
Tema servletsTema servlets
Tema servlets
 

Más de pablozacrosuarez

Apache: Servidor Web Seguro (HTTPS)
Apache: Servidor Web Seguro (HTTPS)Apache: Servidor Web Seguro (HTTPS)
Apache: Servidor Web Seguro (HTTPS)pablozacrosuarez
 
Apache: páginas multilenguaje
Apache: páginas multilenguajeApache: páginas multilenguaje
Apache: páginas multilenguajepablozacrosuarez
 
Apache: Servidores web con autentificación
Apache: Servidores web con autentificaciónApache: Servidores web con autentificación
Apache: Servidores web con autentificaciónpablozacrosuarez
 
Sistemas de control de versiones: CVS
Sistemas de control de versiones: CVSSistemas de control de versiones: CVS
Sistemas de control de versiones: CVSpablozacrosuarez
 
Sistemas de control de versiones: SVN
Sistemas de control de versiones: SVNSistemas de control de versiones: SVN
Sistemas de control de versiones: SVNpablozacrosuarez
 
Sistemas de control de versiones: Git
Sistemas de control de versiones: GitSistemas de control de versiones: Git
Sistemas de control de versiones: Gitpablozacrosuarez
 

Más de pablozacrosuarez (6)

Apache: Servidor Web Seguro (HTTPS)
Apache: Servidor Web Seguro (HTTPS)Apache: Servidor Web Seguro (HTTPS)
Apache: Servidor Web Seguro (HTTPS)
 
Apache: páginas multilenguaje
Apache: páginas multilenguajeApache: páginas multilenguaje
Apache: páginas multilenguaje
 
Apache: Servidores web con autentificación
Apache: Servidores web con autentificaciónApache: Servidores web con autentificación
Apache: Servidores web con autentificación
 
Sistemas de control de versiones: CVS
Sistemas de control de versiones: CVSSistemas de control de versiones: CVS
Sistemas de control de versiones: CVS
 
Sistemas de control de versiones: SVN
Sistemas de control de versiones: SVNSistemas de control de versiones: SVN
Sistemas de control de versiones: SVN
 
Sistemas de control de versiones: Git
Sistemas de control de versiones: GitSistemas de control de versiones: Git
Sistemas de control de versiones: Git
 

Último

PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolar
PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolarPPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolar
PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolarYeseniamilagritosCar
 
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"RestauracionPentecos
 
ADORACIÓN EUCARÍSTICA. invitación a ser un Adorador
ADORACIÓN EUCARÍSTICA. invitación a ser un AdoradorADORACIÓN EUCARÍSTICA. invitación a ser un Adorador
ADORACIÓN EUCARÍSTICA. invitación a ser un Adoradorparroquiadostilos
 
Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..FridaCuesta
 
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdf
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdfEnfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdf
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdfyanina06lopez24
 
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdf
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdfEscucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdf
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdfChristianCarrillo68
 
Confianza Total de Verónica de Andres y Florencia Andrés
Confianza Total de Verónica de Andres y Florencia AndrésConfianza Total de Verónica de Andres y Florencia Andrés
Confianza Total de Verónica de Andres y Florencia AndrésDiego Montero Cantarelli
 
El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.ssuser68a47e
 
Taller de autoconocimiento personal quien-soy-yo.pdf
Taller de autoconocimiento personal quien-soy-yo.pdfTaller de autoconocimiento personal quien-soy-yo.pdf
Taller de autoconocimiento personal quien-soy-yo.pdfHnaYuleisyMarielaMor
 

Último (11)

PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolar
PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolarPPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolar
PPT_Sesión Magistral 1.pdf MINEDU-PERÚ, equipo de convivencia escolar
 
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"
SIMON EL MAGO por Pr. Luis Polo de "Verdades de la Biblia"
 
40 Articulos sobre el liderazgo.........
40 Articulos sobre el liderazgo.........40 Articulos sobre el liderazgo.........
40 Articulos sobre el liderazgo.........
 
ADORACIÓN EUCARÍSTICA. invitación a ser un Adorador
ADORACIÓN EUCARÍSTICA. invitación a ser un AdoradorADORACIÓN EUCARÍSTICA. invitación a ser un Adorador
ADORACIÓN EUCARÍSTICA. invitación a ser un Adorador
 
Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..Libro de Culpa Mia de Mercedes Ron.pdf..
Libro de Culpa Mia de Mercedes Ron.pdf..
 
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdf
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdfEnfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdf
Enfermeria Pediatrica, Asistencia Infantil ( PDFDrive ).pdf
 
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdf
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdfEscucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdf
Escucha-a-Tu-Cuerpo-Lise-Bourbeau (1).pdf
 
Confianza Total de Verónica de Andres y Florencia Andrés
Confianza Total de Verónica de Andres y Florencia AndrésConfianza Total de Verónica de Andres y Florencia Andrés
Confianza Total de Verónica de Andres y Florencia Andrés
 
PARA LEONARDO CIEZA - TEXTO RESUMEN.docx
PARA LEONARDO CIEZA - TEXTO RESUMEN.docxPARA LEONARDO CIEZA - TEXTO RESUMEN.docx
PARA LEONARDO CIEZA - TEXTO RESUMEN.docx
 
El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.El Secreto de las Runas. Manual introductorio.
El Secreto de las Runas. Manual introductorio.
 
Taller de autoconocimiento personal quien-soy-yo.pdf
Taller de autoconocimiento personal quien-soy-yo.pdfTaller de autoconocimiento personal quien-soy-yo.pdf
Taller de autoconocimiento personal quien-soy-yo.pdf
 

Apache Tomcat 8: integración con Apache Server (con mod_jk)

  • 1. IES Gran Capitán Módulo: Despliegue de Aplicaciones Web Ciclo Formativo de Grado Superior “Desarrollo de aplicaciones Web” Práctica 12: Integración de Apache Server con Tomcat Fecha entrega: 13/01/2014 Autor: Pablo Medina Suárez IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://informatica.iesgrancapitan.org informatica@iesgrancapitan.org
  • 2. Práctiac 12: Integrar Apache con Tomcat 2 1 ÍNDICE 1 ÍNDICE 2 2 INTRODUCCIÓN 3 3 DESARROLLO DE LA PRÁCTICA 4 PREGUNTAS: 9 3.1 ¿QUÉ NUEVO MÓDULO DE APACHE HAS NECESITADO INSTALAR Y ACTIVAR? 9 3.2 DEFINE WORKER. CREA UN WORKER PARA LAS PRUEBAS QUE SE LLAME WORKER[TUAPELLIDO]. 9 3.3 ¿QUÉ FICHEROS DE CONFIGURACIÓN VAS A TENER QUE MODIFICAR? CAPTURA PANTALLAS DE TODOS CON LA PARTE QUE HAS MODIFICADO. 9 3.4 ¿QUÉ FICHEROS DE LOG HAS REVISADO? CAPTURA PANTALLAS DE TODOS ELLOS TANTO SI SE MUESTRA ALGÚN ERROR COMO SI NO. 10 3.5 INDICA LOS ERRORES QUE HAN IDO APARECIENDO Y CÓMO LOS HAS SOLUCIONADO. 11 3.5.1 ERROR: /EXAMPLES/ DENTRO DE OTRO DIRECTORIO: 11 3.5.2 ERROR: APACHE NOS DA UN ERROR AL INICIARLO: 11 3.5.3 ERROR: COULD NOT FIND WORKER JK-MANAGER Y JK-STATUS: 12 3.5.4 ERROR: LA PÁGINA NOS DEVUELVE UN ERROR 503 (SERVICIO NO DISPONIBLE): 13 3.5.5 ERROR: LA PÁGINA NOS DEVUELVE UN ERROR 404 (NO ENCONTRADO): 13 3.6 OPCIONAL: INVESTIGA EN QUÉ CASOS PUEDE SER INTERESANTE DEFINIR VARIOS "WORKERS". 13 3.7 OPCIONAL: PONLO EN PRÁCTICA CONFIGURANDO UN WORKER MÁS PARA OTRO DE TUS SERVIDORES WEB VIRTUAL. 13 3.8 OPCIONAL: INVESTIGA TAMBIÉN CÓMO USAR "JKMOUNTCOPY ON" EN EL FICHERO JK.CONF PARA EVITAR TENER QUE COPIAR LA CONFIGURACIÓN SOBRE LOS FICHEROS JK_ESTATUS, JK_LOG, ETC A CADA SERVIDOR WEB VIRTUAL. PRUÉBALO EN TU CONFIGURACIÓN. 13 4 CONCLUSIÓN 15 5 BIBLIOGRAFIA 16 IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 3. Práctiac 12: Integrar Apache con Tomcat 2 3 INTRODUCCIÓN Objetivo: Usar Apache para servir las páginas estáticas y Tomcat para ejecutar servlets. Al acceder desde el navegador a un servlet http://localhost/examples/[pagina con servlets] será Apache el que detecta que se trata de un server y que necesita la ayuda de Tomcat para ejecutarlo de modo que reenvía la petición a Tomcat. Entonces estaremos haciendo uso de Tomcat como contenedor pero sin acceder directamente a él (indicando el puerto de Tomcat como hicimos en la práctica anterior): http://localhost:8080/examples/[pagina con servlets] Requisitos: - Tener Tomcat instalado. Pasos: Lee la documentación al respecto subida a moodle (documento paso a paso). Documenta la instalación, configuración y ejecución respondiendo al mismo tiempo a las preguntas siguientes. Nota: la última pregunta es opcional y subirá la nota de la práctica. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 4. Práctiac 12: Integrar Apache con Tomcat 4 3 DESARROLLO DE LA PRÁCTICA Antes de comenzar, iniciamos en el servidor tanto el servicio Apache como el de Tomcat, y comprobamos que funcionan correctamente. A su vez, recordamos las rutas donde están instalados los servicios y los programas necesarios, como Java, etc. Vemos que comprueban correctamente, así que vamos a comprobar si Apache es capaz de ejecutar algún Servlet por sí mismo (lo cual comprobaremos que no será así). Accedemos al directorio de servlets de ejemplo de Tomcat y copiamos el directorio de aplicaciones de ejemplo de Tomcat (examples) en el directorio de Apache: Ahora abrimos el navegador y accedemos a la dirección correspondiente para comprobar si funciona la aplicación: Como puede verse en la imagen, el resultado obtenido no es el deseado, porque el navegador nos ha mostrado el código del documento en lugar del resultado, ya que no ha sido interpretado por el servidor. Por lo tanto, tenemos que encontrar la forma de que Apache recurra a Tomcat para ejecutar las aplicaciones. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 5. Práctiac 12: Integrar Apache con Tomcat 5 Tenemos que instalar y activar el módulo jk (libapache2-mod-jk), así que abrimos un terminal e introducimos lo siguiente, reiniciando además el servicio de Apache: Hecho lo anterior, comprobamos que nos han aparecido dos archivos nuevos, jk.conf y jk.load, tanto en el directorio mods-available como en mods-enabled del servicio Apache: Ya tenemos instalado el módulo necesario, lo siguiente a realizar las configuraciones necesarias en los ficheros de configuración. En primer lugar, abrimos el fichero /etc/libapache2-mod-jk/workers.properties y modificamos las siguientes líneas: Reemplazamos por la ruta donde está instalado Tomcat IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 6. Práctiac 12: Integrar Apache con Tomcat 6 Reemplazamos por la ruta de instalación de Java Añadido de un nuevo worker, con el que trabajaremos en el desarrollo de ésta práctica Configuraciones realizadas para el nuevo worker, nótese que el puerto utilizado por nuestro worker debe ser el mismo que uno de los utilizados en el fichero server.xml Al haber incluido un nuevo worker, debemos hacer la siguiente modificación en el fichero server.xml de Tomcat: Aquí puede verse la parte del archivo de configuración server.xml, donde se ve que el puerto utilizado es el 8009 y se ha creado otro conector para el 8010 IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 7. Práctiac 12: Integrar Apache con Tomcat 7 Guardamos los cambios y ahora abrimos y pasamos a configurar el fichero /etc/apache2/mods-enabled/jk.conf, donde hacemos los siguientes cambios: Por orden: se comenta la línea donde se indica la ruta del fichero workers.properties, se indica dónde y qué nombre tendrá el fichero de log de jk, y cuál el nivel de log (error, para que muestre errores) NOTA: he comentado la línea JkWorkersFile debido a que la añadiremos más adelante para evitar un error causado al utilizar un Virtual Host. Abrimos el fichero de configuración del Virtual Host desde el cual queremos ejecutar los servlets, en este caso, el sitio por defecto (default) y añadimos lo siguiente: Entre la etiqueta VirtualHost añadimos la directiva JkMountCopy, para cargar las direcciones montadas en httpd.conf, que serán interpretadas por el servidor Tomcat, en lugar de por Apache. Por último, se añade la directiva JkMountCopy On, que veremos en la pregunta correspondiente el motivo por el que lo he utilizado. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 8. Práctiac 12: Integrar Apache con Tomcat 8 Ahora, abrimos el fichero /etc/apache/httpd.conf, en el cual añadimos lo siguiente: Se emplea la directiva Include para que se carguen las configuraciones del módulo jk, contenidas en el fichero indicado. E insertamos la línea que se comentó anteriormente para evitar un error con Apache. Montamos con JkMount los directorios cuyos documentos serán interpretados por Tomcat. Con el uso de la directiva JkMount le indicamos al servidor qué direcciones serán interpretadas por el servidor Tomcat, en este caso, todos los documentos con extensión .jsp y todo lo contenido en el directorio /examples/ de nuestro servidor. A continuación, le indicamos el worker que se encargará de servir las aplicaciones, en este caso, el que hemos creado anteriormente. Ya sólo nos queda reiniciar tanto el servicio Tomcat como el servidor Apache para que los cambios se tengan en cuenta y probamos de nuevo a ejecutar alguna de las servlets. Por lo que abrimos el navegador y, utilizando la dirección http://localhost/examples/, elegimos alguna de las aplicaciones: Otra de las aplicaciones de ejemplo: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 9. Práctiac 12: Integrar Apache con Tomcat 9 Y con esto, ¡ya tenemos integrado nuestro servidor Apache con Tomcat para servir servlets! PREGUNTAS: 3.1 ¿Qué nuevo módulo de apache has necesitado instalar y activar? Se ha instalado y activado el módulo jk (libapache2-mod-jk). Con esto, es posible establecer conexiones entre servidores utilizando el protocolo AJP. 3.2 Define worker. Crea un worker para las pruebas que se llame worker[tuapellido]. Un worker es una instancia de Tomcat encargada de ejecutar las servlets enviadas como petición de un servidor web como, por ejemplo, un servidor Apache, ya que éste es incapaz de ejecutarlas por sí mismo. Creación del worker personalizado: Indicamos qué worker servirá los ficheros de los directorios de nuestro servidor: 3.3 ¿Qué ficheros de configuración vas a tener que modificar? Captura pantallas de todos con la parte que has modificado. Se han modificado los archivos /etc/libapache2-mod-jk/workers.properties, /etc/apache2/mods-enabled/jk.conf, server.xml (para comprobar el puerto utilizado), y el fichero de configuración del Virtual Host. Pueden verse las modificaciones realizadas en los ficheros más arriba, durante el desarrollo de la práctica. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 10. Práctiac 12: Integrar Apache con Tomcat 3.4 10 ¿Qué ficheros de log has revisado? Captura pantallas de todos ellos tanto si se muestra algún error como si no. He utilizado, principalmente, el fichero /var/log/apache2/mod_jk.log, el cual me ha sido de mucha utilidad para detectar errores durante el desarrollo de la práctica. En el siguiente punto pueden verse imágenes donde se detectan errores mediante la consulta de este fichero. Otros ficheros que también son de utilidad son el fichero /var/log/apache2/error.log: Y el fichero /var/log/apache2/Access.log: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 11. Práctiac 12: Integrar Apache con Tomcat 3.5 11 Indica los errores que han ido apareciendo y cómo los has solucionado. 3.5.1 Error: /examples/ dentro de otro directorio: Uno de los primeros errores que he cometido, y que ha sido catastrófico al no conseguir que Tomcat accediera a las aplicaciones (mostrando un error 404), ha sido insertar el directorio /examples/ dentro de un directorio llamado /webapps/. Para solucionarlo, tan sólo he tenido que sacar el directorio a /var/www, quedando de la siguiente manera: Acto seguido, he eliminado el directorio /webapps/, ya que no tiene utilidad ninguna. 3.5.2 Error: Apache nos da un error al iniciarlo: Al reiniciar Apache, nos devuelve el siguiente error: Nos indica que la directiva JkWorkersFile sólo puede emplearse una vez. Para solucionarlo, tenemos que comentar la siguiente línea en el fichero /etc/apache2/modsenabled/jk.conf: En cambio, la misma va incluida en el fichero /etc/apache2/httpd.conf: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 12. Práctiac 12: Integrar Apache con Tomcat 12 3.5.3 Error: Could not find worker jk-manager y jk-status: Revisando el fichero de log /var/log/apache2/mod_jk.log encontramos las siguientes líneas, indicando errores relacionados con el módulo jk: Esto es causado a que estamos empleando el módulo en un Virtual Host, por lo que tenemos que hacer como se nos indica en el fichero de configuración, y solucionar el problema comentando las siguientes líneas: IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 13. Práctiac 12: Integrar Apache con Tomcat 13 3.5.4 Error: la página nos devuelve un error 503 (servicio no disponible): Si hacemos uso, una vez más, del fichero mod_jk.log, nos encontramos los siguientes errores: El error puede estar causado porque no tenemos iniciado el servicio de Tomcat, o porque tenemos configurado un puerto equivocado en el fichero $CATALINA_HOME/conf/server.xml. 3.5.5 Error: la página nos devuelve un error 404 (no encontrado): Este error puede tener infinitas causas, en mi caso, se me mostraba cuando aún no había solucionado el error 3.5.1, porque las aplicaciones estaban intentando acceder a una dirección distinta a la que tenían programada, por lo que la dirección devuelta no podía ser encontrada por el servidor. 3.6 Opcional: investiga en qué casos puede ser interesante definir varios "workers". Hay varios casos en los que trabajar con varios workers resulta útil:    Para servir distintos contextos utilizando workers Tomcat distintos, para proporcionar un entorno de desarrollo donde los desarrolladores compartan el mismo servidor pero cada uno utilizando su propio worker. Cuando queremos que cada host virtual utilice su propio worker. De esta manera, se establece una clara separación entre cada sitio web, siendo de utilidad, por ejemplo, en servidores compartidos por varias empresas, donde cada una aloja su propio sitio web. Para proporcionar balanceo de carga utilizando múltiples workers, cada uno corriendo en una máquina distinta, y distribuyéndose las peticiones entre ellos. De esta forma se consigue una alta disponibilidad y mejora de rendimiento y número máximo de usuarios de las aplicaciones servidas. 3.7 Opcional: ponlo en práctica configurando un worker más para otro de tus servidores web virtual. 3.8 Opcional: investiga también cómo usar "JkMountCopy On" en el fichero jk.conf para evitar tener que copiar la configuración sobre los ficheros jk_estatus, jk_log, etc a cada servidor web virtual. Pruébalo en tu configuración. He utilizado esta directiva desde el primer momento, ya que facilita el desarrollo de la práctica. Esta directiva, si está activada en un host virtual, copiará todo lo montado por el servidor principal (utilizando JkMount o JkUnMount) al sitio que la utilice. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 14. Práctiac 12: Integrar Apache con Tomcat 14 La configuración por defecto es “Off”, es decir, está apagada. Para activarla en uno de nuestros host virtuales, tenemos que incluir lo siguiente en el fichero de configuración de dicho sitio: De esta forma, se copiaran en este sitio los mounts cargados por el servidor global mediante el uso de JkMount, en este caso, cargamos desde el /etc/apache2/httpd.conf lo siguiente: De esta manera, nos ahorramos tener que copiar en cada host virtual la configuración de los ficheros del módulo jk. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 15. Práctiac 12: Integrar Apache con Tomcat 15 4 CONCLUSIÓN En esta práctica he aprendido a integrar un servidor web con el servidor Tomcat instalado previamente para poder servir las servlets que Apache no puede servir por sí mismo. Todo ello gracias a la instalación y uso de mod_jk. Para ello, se ha tratado el uso de los workers de Tomcat, y los distintos ficheros de configuración, tanto de Apache, como de Tomcat y del propio módulo utilizado. Además, he resuelto los distintos errores aparecidos durante la práctica mediante el uso de los ficheros de log, de la documentación, y del todopoderoso Google. IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org
  • 16. Práctiac 12: Integrar Apache con Tomcat 16 5 BIBLIOGRAFIA  Integración de Tomcat y Apache paso a paso. Consultado en: http://moodle.iesgrancapitan.org/mod/resource/view.php?id=6234  Documentación de Apache Tomcat, Connectors. Consultado en: http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html  Documentación de Apache Tomcat, JkMountCopy On Consultado en: http://tomcat.apache.org/connectors-doc/reference/apache.html  Tomcat, introducción en castellano. Workers Tomcat. Consultado en: http://www.programacion.com/articulo/tomcat_-_introduccion_134/3 IES Gran Capitán. C/. Arcos de la Frontera, S/N. 14014 – Córdoba. http://www.iesgrancapitan.org http://www.iesgrancapitan.org/blog04/ informatica@iesgrancapitan.org