Concerning running tomcat on port 80 there's always jsvc, just google jsvc + tomcat. tomcat is designed as JSP servlet container. Apache is designed PHP web server. Use apache as web server, responding for PHP request, and direct JSP servlet request to tomcat container