En algunas ocasiones necesitamos ver las aplicaciones que están funcionando en nuestro servidor tomcat desde Internet y en ocasiones no podemos mostrar la información directamente desde el puerto 8080. Para que esto sea posible, deberemos conectar tomcat con apache mediante un módulo llamado mod_jk.

A continuación voy a indicar cuáles son los pasos a seguir desde el principio, incluso sin tener instalados previamente apache y tomcat.

Instalación de apache y tomcat

En primer lugar, instalaremos apache y tomcat, para ello hacemos lo siguiente:

Una vez haya finalizado, podremos comprobar si se instaló correctamente intentando acceder a http://localhost. A continuación instalamos tomcat en su versión 7:

Creamos una aplicación básica tipo helloword de la siguiente forma:

Añadimos el siguiente código a ese fichero index.jsp

Y para comprobar que todo funciona correctamente tras la instalación, intentamos acceder al siguiente enlace:

http://localhost:8080/tomcat-demo/helloworld/

Instalación y configuración del conector mod_jk

Una vez tenemos los dos servidores funcionando, apache y tomcat, el siguiente paso a realizar es el de conectarlos entre sí, para ello debemos instalar y configurar la librería mod_jk de la siguiente forma:

Tras instalarla, debemos editar el siguiente fichero con nuestro editor favorito (yo uso nano, otros frikis usan vim)

Nos dirigimos a la línea creo que 95 que contiene lo siguiente:

Y la descomentamos totalmente. Seguidamente creamos el fichero workers.properties para Apache:

Pegamos el siguiente contenido:

Editamos el fichero de configuración jk para indicarle la ubicación de nuestro nuevo fichero:

Y editamos la propiedad JkWorkersFile indicando el nuevo valor /etc/apache2/workers.properties

Finalmente configuramos la URL de Apache que mostrará nuestra aplicación tomcat en nuestro servidor web apache:

Y dentro de <VirtualHost *:80> </VirtualHost *:80> agregamos JkMount /tomcat-demo* worker1 tal que así:

Reiniciamos los servidores de tomcat y apache respectivamente:

y deberíamos ver lo mismo aquí
http://localhost/tomcat-demo/helloworld/
que aquí
http://localhost:8080/tomcat-demo/helloworld/

Si aplicamos esto al manual de instalación de webprotégé que publiqué hace un rato, podremos dar acceso a nuestra aplicación desde cualquier parte :).