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.

Comentarios
  1. [...] Apache y Tomcat en Windows [...]

    Responder

    • Victor

      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

      Responder

  2. Muchas gracias, con este artículo y el anterior puedo hacer lo que necesito.

    Un saludo.

    Responder

  3. [El comentario #32800 se mostrara aqui]

    Genial. Me alegro de que le haya sido útil a alguien :smile:

    Responder

  4. [...] enlace [...]

    Responder

  5. Mad68

    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.

    Responder

  6. Domin

    Gracias por este tutorial fácil, sencillo, y sobretodo que funciona.

    Responder

  7. 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…=)

    Responder

  8. francisco cervantes

    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’

    Responder

  9. Ivan

    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.

    Responder

  10. yair

    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

    Responder

  11. James

    Muchas Gracias, funciona

    Responder

  12. 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

    Responder

  13. Erick

    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

    Responder

  14. BlutSauger

    Funciona!!! que es lo importante, mejor y mas sencillo imposible, gracias por el HowTo…

    Responder

  15. Billy

    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?

    Responder

  16. Juan

    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.

    Responder

  17. Juan

    Arreglado!! Por si a alguien le sirve, hay que descomentar la codificación por defecto de apache en el archivo de configuración apache2.conf.

    Responder

  18. Edu

    Puedo instalar dos paginas o aplicaciones web en el mismo servidor?

    Responder

  19. Eivar A. M. M.

    ¡Muchas gracias! esto es justo lo que necesitaba para probar las JSPX que estoy haciendo, usando tomcat.

    Responder

  20. Que chido, esta muy bueno el how to, me saco de apuros.

    Responder

  21. Aeris

    Hola, tengo instalados apache2 y tomcat5.5 en windows, he seguido los pasos y arrancar perfectamente lo que ocurre es que con http://localhost:8080/ sale la pagina de apache y con http://localhost el explorer me dice que no encuentra la pagina.Si paro el apache2 en http://localhost:8080/ me sale la pagina de tomcat.
    ¿Qué he podido hacer mal?
    He seguido y revisado los pasos y esta todo.

    ¿Que puedo hacer?

    Gracias

    Responder

  22. 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?

    Responder

  23. adolfo

    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

    Responder

  24. Javier Calderon

    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

    Responder

  25. helberth rojas

    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…

    Responder

  26. muglidark

    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…??

    Responder

  27. Dakota

    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.

    Responder

  28. Sabes?, he revisado muchos sitios en internet buscando esta solución, y sólo tú has publicado algo que realmente funciona. Te lo agradezco mucho.

    Responder

  29. Jose Antonio RR

    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.

    Responder

  30. chuso77

    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

    Responder

  31. lulucita

    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

    Responder

  32. Robert

    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ó.

    Responder

  33. Christian

    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

    Responder

  34. Farid

    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

    Responder

  35. 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!

    Responder

  36. Dante

    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…

    Responder

  37. Miguel

    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!!!

    Responder

  38. Miguel puedes crear un .htaccess y usar Redirect

    Responder

  39. Miguel

    Hola Zootropo,

    Podrias darme mas detalles de como se crea el htacces y se configura?

    gracias!!

    Responder

  40. 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.

    Responder

  41. Miguel

    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!!

    Responder

  42. freddy

    Claro eso es.Revistaste el htaccess para la aplicacion tomcat?

    Responder

  43. carlos

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

    Responder

  44. Auxilio

    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!

    Responder

  45. Arrieta

    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,

    Responder

  46. nenita05leyla

    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 :D

    Responder

  47. Aps!!

    me funcaba todo menos la ultima liniea…

    http://localhost/servlets-examples, me decia error 404, mi error era muy tonto,la carpeta serverlets-examples, no existia en mi directorio, la cree y puse un fishero.jsp y todo ok ;) :P

    Responder

    • Christian

      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 =(

      Responder

    • Christian

      lo anterior lo pregunto por que tengo duda en que directorio debo crear la carpeta servlets-examples..

      Responder

  48. Gilbert

    Tengo un problema, cuando intento arrancar el apache ‘The request operation is failed’.

    Responder

  49. Hernan

    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?

    Responder

  50. javier

    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

Deja un comentario