How do I run Apache (httpd) and Tomcat together?

lock picture lock · Aug 17, 2010 · Viewed 12.1k times · Source

I recently got projects that runs on Struts and I am expecting more JSP coming ahead.

After googling the question, I was led to blogs of people who tried to do the same. Those blogs weren't exactly a step by step procedure of how they did it but more like a reference in case they need to do something the same in the future. In some cases, the author didn't exactly say if he was successful in his attempt to run both aforementioned services together.

Unfortunately, I can't follow their "instructions" as I have plenty of PHP projects configured (upload directories, classpaths etc...) to run on my test server and I don't have the luxury of time to reconfigure them all in case I mess up with the httpd server. And for honesty's sake, I haven't tried a single step on running them together for the same reason of being hesitant to update configuration files.

I'm not sure if this adds to the complexity but I am running both services thru xampp (with tomcat being a xampp add-on) for portability purposes.

I know that I can just stop my Apache service whenever I am working on JSP but hey this is an oppurtunity to try something new and I just can't let it slip. Further, it would really be convenient for both services to just run automatically on startup which would really increase my productivity as I won't have to manually switch between services when needed.

Hope there's someone on SO who rode the same boat.

edit: Tomcat Version is 6.0.20 Httpd Version is 2.2.14

Answer

Borealid picture Borealid · Aug 17, 2010
  • Have Tomcat listen on a port other than 80
  • Follow a guide to set up mod_proxy to redirect requests for a certain location to Tomcat, such as this one.

If you're really just testing, skip the second step and just access the server via a different port for Tomcat.

edit: See also http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html on setting up mod_proxy_ajp.