Apache y Tomcat en Windows

Apache y Tomcat en Linux Apache y Tomcat en Linux

La instalación de Apache y Tomcat en Windows no tiene mayor complicación, basta con ejecutar los instaladores que podemos encontrar en sus respectivas webs (Apache / Tomcat). La instalación del módulo conector tampoco tiene misterio, y es similar a lo que ya vimos en Linux.

El conector puede descargarse en la misma web de Tomcat; no tenemos más que seleccionar el mirror a utilizar, la versión binaria de mod_jk (JK 1.2 Binary Releases) y descargar el archivo .so correspondiente a la versión de Apache que instalamos.

Copiaremos este archivo en la carpeta modules de Apache, renombrándolo como mod_jk.dll

La configuración es casi calcada a la de Linux. Crearemos un archivo workers.properties en la carpeta conf de Apache con el siguiente contenido:

workers.tomcat_home=Directorio en que instalamos Tomcat
workers.java_home=Directorio en que instalamos el JDK
ps=\
worker.list=default

worker.default.port=8009
worker.default.host=localhost
worker.default.type=ajp13
worker.default.lbfactor=1

Y editamos el archivo de configuración de Apache (httpd.conf en la carpeta conf) para que se cargue el módulo al iniciar el servidor. En la sección LoadModules añadimos:

LoadModule jk_module modules/mod_jk.so

Y al final del archivo:

JkWorkersFile "conf/workers.properties"
JkLogFile "logs/mod_jk.log"
JkLogLevel warn

JkMount /servlets-examples default
JkMount /servlets-examples/* default

JkMount es la línea que indica a Apache que solicitudes reenviar a Tomcat. En este caso llamaremos a Tomcat siempre que se intente acceder a cualquier archivo del directorio servlets-examples, donde se guardan algunos ejemplos para demostrar el uso de Servlets, utilizando el protocolo definido por “default”.

Por último iniciamos Tomcat y Apache. Al introducir la URL http://localhost deberíamos ver la web de bienvenida de Apache, al introducir http://localhost:8080 la de Tomcat, y con http://localhost/servlets-examples Apache enviará la petición a Tomcat.

69 comentarios en «Apache y Tomcat en Windows»

  1. Pingback: Apache y Tomcat en Linux

    1. Hola, sabes ya transcribi todo y en el momento de iniciar Apache me sale un error The requested operation has failed! y no se incia el servidor ya verifique las nuevas lineas y todo esta igual.

      Puedes ayudarme porfavor

  2. Pingback: Por No Aburrirme » Apache y Tomcat en Windows

  3. Hola en primer lugar darte las gracias por el howto, y en segundo lugar solicitar tu ayuda para solucionar un problema que me ha surguido, cada vez que intento ejecutar una aplicacion me sale un error com este:
    org.apache.jasper.JasperException: No se puede compilar la clase para JSP

    An error occurred at line: -1 in the jsp file: null

    espero que me puedas ayudar por que estoy a punto de volverme loco, gracias.

  4. Hola!, sabes que yo ocupo netbeans y viene con tomcat pero mi problema es que no puedo entrar como administrador, no sé cual es el user y la pass… llevo mucho tiempo buscando una solución, espero que me puedas ayudar… muchas gracias y buenísima las ayudas que brindas…=)

  5. TEngo un problema, cuando intento arrancar el apache ‘The request operation is failed’ , y es que al instalarlo me dio un problema con el mod_jk.so, me dice algo como que ‘ no se puede encontrar el modulo especificado’

  6. Muy bueno, me ha servido para windows, ya si explicas como se hace para poder utilizar el manager de tomcat me solucionas todo el problema. Tambien lo tengo montado asi en ubuntu y ahora mismo en los dos casos tengo el problema del manager.

  7. hola a todos
    tengo un server montado con apache y tomcat(toda la configuracion anterior ya la he realizado y la base de datos me carga correctamente)
    el apache tiene varios host virtuales…
    el tomcat me funciona correctamente cuando ingreso al localhost puerto 8080…
    pero nesesito que cuando cargue la pagina principal que esta en apache nesesito que esta tenga un enlace al sitio de tomcat configuirado previamente en tomcat
    pero solo me funciona localmente(mi red interna «ip interna») desde el nombre del dominio no funciona
    ¿puede ser problemas de dns?
    «estoy en una red lan »
    gracias
    si alguien me puede ayudar le agradesco
    atte jair

  8. Que tal, creo que hay un error al plantear esto en el tercer parrafo nos dice renombrar el jk_mod.so a jk_mod.DLL, esto en modules; mientras que un poco mas adelante al configurar el httpd.conf, nos dice agregar la sig linea:

    LoadModule jk_module modules/mod_jk.so

    e aqui el error entonces ese archivo jk_mod.dll no es una libreria dinamica(dll), sino que debe ser .so….

    Creo que seria mejor bajar el Tomcat ejecutable exe para windows no crees ?….

    Respecto al JKMount:

    JkMount /servlets-examples default
    JkMount /servlets-examples/* default

    Si tengo mis servlets y jsp en :

    c:/servidor/web/webapp/jsp-examples/
    c:/servidor/web/webapp/servlets-examples/

    [donde c:/servidor/web … es el root…o el main …x, (mi instalacion de apache es en:

    C:\Archivos de programa\Apache Software Foundation\Apache2.2\

    y del tomcat es en :
    C:\Servidor\apacheTomcat5.5.20\)]

    Como le hago para abrirlos programas me da error 404, intente modificar esto en httpd.conf de apache, pero no funciona!

    JkMount /webapp/* default
    JkMount /webapp/jsp-examples/* default
    JkMount /webapp/servlets-examples/* default

  9. migo Adan, no uses
    JkMount /webapp/* default
    JkMount /webapp/jsp-examples/* default
    JkMount /webapp/servlets-examples/* default

    sino:
    JkMount /* default
    JkMount /jsp-examples/* default
    JkMount /servlets-examples/* default

    además, «JkMount /webapp/* default» incluye a todo el contenedor y ya no es necesario el resto.

    En el archivo worker:
    workers.tomcat_home=»C:\Servidor\apacheTomcat5.5.20″

    Ya que el tomcat ya debe de saber donde está ubicado el webapps, tal como se lo indicaste en el archivo de configuración server.xml.

    Qué opinas?

    Suerte

  10. Que tal? He seguido la configuracion que has descrito y al parecer funciona correctamente. Pero cuando deseo cambiar de version de Tomcat a 4.1 no funciona de ninguna manera, habria forma de configurarlo? para mi caso deseo utilizar la version 4.1. El mensaje de error es el siguiente: “The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.” Que puedo hacer?

  11. Hola, gracias por el tutorial. Me ha sido de gran ayuda. Pero tengo un pequeño problema: al utilizar el conector, los acentos me los pone mal, aparece el símbolo � , mientras que si accedo directamente a tomcat (mediante el puerto 8080) esto no pasa.
    ¿Alguna idea? Trabajo en Linux con Tomcat 6.0.2 y apache2

    Gracias.

  12. Cuando accedes a localhost, Aeris, usa el puerto 80 por defecto, que es el puerto por defecto de los servidores web. Si al escribir localhost no te sale nada es que no tienes el Apache corriendo en el puerto 80 como deberías.

    ¿No tendrás alguna otra aplicación escuchando en ese puerto?

  13. hola apenas estoy empezando en esto necesito un buen manual de tomcat 4.1 para desarrollar las conexiones a un servidor para la utilización de servlet de java

  14. Amigos que tal, tenia un problema al iniciar apache con Jkmount, el cual me decia que no existia o estaba perdido, bueno este warning me botaba el apache despues de 30 segundos. He resuelto el problema agregando despues
    ClearModuleList
    AddModule mod_jk.c

    esto siguendo el manual del principio… Bueno eso nos vemos

  15. hola buenas noches, tengo instalado j2sdk1.4.2_05, y tomcat 4 en C:\Archivos de programa\Apache Group\Tomcat 4.1, cree el primer servlet en el bloc de notas, ahora intento compilarlo pero en el command me indica que javac no existe y no se que hacer, podria colaborarme GRACIAS…

  16. hola.

    estuve leyendo los problemas que pasan aqui..

    y yo tengo algo similar.
    tengo instalado apache,php,mysql y tomcat
    y no me corre la conexion con el conector mod_jk.so
    cuando ejecuto:
    http://localhost -> ejecuta apache ok
    http://localhost:8080 -> ejecuta tomcat ok
    htpp://localhost/jsp-examples -> no ejecuta..

    ya hice todos los cambios sugeridos pero aun nada… al parecer el apache me indica

    «apache http server does not work correctly, check whether other aplication use the important port (80) and terminate them. moreover check firewall setting and correctness of the configuration files.»

    el firewall no es, no tengo…
    el puerto 80 no creo solo esta el apache…??

  17. Hola quiero comentar que fue de utilidad el presente How to, sin embargo, me encontre con algunos inconvenientes, pues mod_jk.dll no lo podia descargar segun la ventana de error y por otro lado, coloque mod_jk.so para ver que pasaba y tampoco quizo marcaba el mismo error para mod_jk.so, asi que en la carpeta deje ambos el .dll y .so, y al archivo httpd.conf le hice el primer cambio al cargar el modulo, lo actualice reinicie apache y no detecto problema, ojo me hacian falta las ultimas lineas pero primero se trataba de asegurar cargara el conector, cuando lo hizo apague apache, agregue las ultimas lineas y ahora funciona perfecto, pues al proncipio salia error 404. de IE.

    Saludos, si funciona.

  18. Buenas,

    He instalado el tomcat con su apache y me gustaría saber como hago para que funcione como servidor de impresión para una aplicación externa.

    Gracias de antemano.

  19. Buenos Dias, necesito que sea visible un site web http://www..microsoft.com que es una aplicacion que tengo echa en tomcat /webapps/microsft y está escuchando en el puerto 8080, por otro lado tengo el apache escuchando en el puerto 80 y las dns las tengo redirigidas al puerto 80 y se me ve la pagina de test de apache, bien como puedo ver el sitio http://www.microsoft.com que está apuntando al puerto 8080 /webapps/microsft? no se si me he explicado pero llevo varios dias y me estoy volviendo loco he probado los virtual host pero no me funciona, alguien me puede ayudar.

    Muchas Gracias.

    Un muy buen foro
    Saludos

  20. Hola quisiera que me pudieran ayudar el problema que tengo es que realice un proyecto en java con mysql y tomcat mi problema es que ya tengo todo instalado jala perfectamente todo, ahora las personas que lo estan utilizando quieren que se pueda accesar a este sistema pero desde otra máquina que no pertenece a la misma red espero que me entiendan a donde le puedo cambiar para que la gente pueda accesar desde otra red al sistema

  21. Gracias, mil gracias. Pase toda la tarde buscando la solución. Y ninguna funcionaba (debe ser porque la solución era para Linux y no todos los pasos eran iguales y los URL no eran los correctos), hasta que llegué a esta y facílisimo se solucionó.

  22. Buenas, segui todos los pasos y todo esta bien, lo unico es que no logro correr los archivos que estan en http://localhost/servlet-examples/ me tira el siguiente error «Estado HTTP 404» he intenando con el apache cerrado y lo inicio luego de los cambios pero nada, no funciona, necesito que alquien que ya haya encontrado la solucion me ayude, gracias de antemano

  23. Hola, soy muy nuevo en esto de tomcat y quiero cambiar el localhost:8084 u 8080 al nombre de una pagina (ejemplo.com) y que me rediriga es decir dns, no se, por favor explíquenme como hacerlo
    lo mas detallado posible ya instale la herramienta de administración de tomcat y tengo las opciones de nuevo conector, maquina y valvula pero creo que ese no es el camino

    ayuda…

    gracias

  24. Muchas gracias por este tuto! La verda lo combiné con otro que estaba viendo y ahora sí me resulta. Aunque me quedé trabado en la parte de acceder a http://localhost/servlet-examples/

    Igual lo hice funcionar, era tan fácil como definir las carpetas que quieres que sean «iluminadas por apache xD» en el mod_jk.conf

    ServerName localhost

    JkMount /carpeta ajp13
    JkMount /carpeta/* ajp13

    No funcionaba «servelt-example simplente porque no estaba definido allí ^^

    Saludos!

  25. Hola, quisiera saber como puedo configurar un servidor apache con varios tomcat instalados en el servidor, la idea seria crear varios workers, pero para modificar el httpd.conf como lo haria con cada uno de los workers creados?? me puedes ayudar por favor…

  26. Mi problema es que quiero apuntar «www.midominio.com»
    a la aplicacion de tomcat «/contextoDeAPP», pero no logro hacerlo. O sea lo que funciona es
    «www.midominio.com», lo sirve apache
    «www.midominio.com/contextoDeApp» lo sirve tomcat.
    Yo quiero que «www.midominio.com» vaya directo a «www.midominio.com/contextoDeApp».

    Gracias!!!

  27. Es un simple archivo de texto que colocas en la raíz del sitio web o en el directorio a partir del cuál quieres que tenga efecto.

    Echa un vistazo al enlace que te puse que explica como funciona Redirect.

  28. Gracias Zootropo pero no es lo que buscaba. Un redirect no me sirve. Lo que necesito es que el dominio apunte directamente al contexto de una aplicacion especifica de tomcat

    Saludos!!

  29. no me inicia apache. instale apache y tomcat tengo el conector en apache/module con la extension .dll
    pero no puede iniciar el apache

  30. Hola, :'( tengo que decir que lamentablemente no me funciona, cualquier url que pongo de los archivos que se encuentran en el webapps del tomcat saca:
    The requested URL /jsp-examples was not found on this server.

    En medio de la desesperacion llegue a poner *.jsp en el htdocs de Apache, pero muestra todo el codigo fuente y no interpreta nada. 🙁 Hice todo tal cual se idnica en el manual, las versiones que tengo isntaladas son las siguientes:

    jdk1.6.0_03
    Apache2.2
    Tomcat 6.0
    mod_jk-1.2.26-httpd-2.2.4.so

    Ayudenme por favor es muy importante!

  31. Hola,
    lleva un par de días intentando instalar apache con tomcat y tengo una duda. ¿Dónde está el directorio webapp? Según he leido, está dentro del directorio del Tomcat, pero yo he bajado apache-tomcat-6.0.16-deployer(2).zip, lo he descomprimido y ahí no hay ningun directorio webapp.

    ¿Alguien me puede aclarar?

    Gracias,

  32. ola tengo un problema no me funciona de hecho no puedo levantar apache
    agrego a la carpeta modules de apache el susodicho archivo mod_jk
    originalmente «mod_jk.so» y luego lo he renombrado a «mod_jk.dll»
    como esta expuesto aqui,
    despues agrego al http.conf

    LoadModule jk_module modules/mod_jk.so
    o tambien
    LoadModule jk_module modules/mod_jk.dll

    y de ninguna de las 2 maneras me funciona me tira un error de que no puede encontrar el modulo pero incluso en el mismo error me muestra la ruta y si corresponde, al colocarla en la barra de direcciones de windows.

    estoy usando easyphp 2
    y tomcat6

    bueno si se soluciona comento nuevamente, pero si alguien sabe o puede dar una idea de antemano muxaaas gracias 😀

    1. hola, tengo el mismo problemita que mencionan arriba, solo me muestra el codigo fuente de los jsp. Alguien me podria decir que ruta hay antes de poner esta linea de codigo?, es decir,
      JkMount ruta/jsp-examples/* ajp13

      ruta = ??

      porfavor, se los agradeceria mucho =(

  33. Hola, segui todos los pasos e instale Tomcat 6 sin problemas. Tomcat quedo ejecutandose.
    El tema es que al acceder al localhost:8080 me tira error 404.
    Alguna idea del por que? desinstale el JDK y lo volvi a instalar, reinstale tomcat 2 veces y nada.
    Alguna pista?

  34. Hola amigos,
    he instalado Apache 2, Tomcat 5.5,
    He realizado lo que se dice en el tutorial, pero tengo problema con el archivo httpd.conf. mas especificamente con el JkMount.

    Cuando trato de subir el servidor Apache me dice

    Invalid command ‘JkMount’ perhaps mis-spelled or defined by a module not included….

    La configuarción de mi httpd.conf es:

    ….
    ….
    ….
    ServerRoot «C:/Program Files/Apache Group/Apache2»
    ….
    LoadModule jk2_module modules/mod_jk2.so

    JkSet config.file ServerRoot\conf\workers.properties

    #LoadModule jk2_module modules/mod_jk2.dll


    ….
    ….
    ….

    JkMount /jsp-examples/* ajp13
    JkMount /servlets-examples/* ajp13

    alguna ayuda, aclaro que he utilizado tanto ajp13
    como default, pero me sale el mismo error.

Responder a Miguel Cancelar respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.