Home En serio o en broma Connect 300 Apache + Tomcat en SuSE Linux: Buscando tres pies al gato.

Apache + Tomcat en SuSE Linux: Buscando tres pies al gato. PDF Imprimir E-mail
Escrito por manycomics   
Miércoles, 24 de Enero de 2007 19:55

Logotipo de TomcatSi, como yo, tienes conviviendo en la misma máquina Apache y Tomcat bajo SuSE Linux y piensas que va siendo hora de prescindir en cierta medida de esas referencias al puerto 8080, integrando JSP con uno de los virtual host que hasta ahora vienes usando p.ej. con PHP, quizá mi caso te dé una referencia.

Voy a enumerar, a grandes rasgos, la serie de pasos seguidos para integrar JSP en la máquina en que vengo desarrollando manycomics. El objetivo es que tanto las páginas estáticas como las generadas por PHP sean servidas por el propio Apache, mientras que lo correspondiente a JSP se lo dejaremos a Tomcat.

Para lo que sigue a continuación doy por hecho que se cuenta con Apache 2 y Tomcat 5 bajo SuSE Linux 10, todo instalado y configurado correctamente.

Instalación de mod_jk con YaSTLo primero de todo es instalar mod_jk, es decir, el correspondiente conector entre Apache y Tomcat, así que ejecuto YaST e instalo mod_jk-ap20.

Tras esto se puede comprobar que se cuenta con /usr/lib/apache2/mod_jk.so; ahora hay que indicarle a Apache que debe cargar el módulo, por tanto paso a /etc/sysconfig/ y edito el fichero apache2; busco la línea en que se asigna APACHE_MODULES y añado jk, así:

    APACHE_MODULES="access ... jk"

Vamos ahora con los virtual host; edito el fichero /etc/apache2/vhost.d/manycomics.conf y añado una línea JkMount al final:

    <VirtualHost *:80>
    ...
    <IfModule mod_jk.c>
    JkMount /*.jsp ajp13
    </IfModule>
    </VirtualHost>

Bien, vamos a indicarle ahora a Tomcat donde encontrar manycomics, que en este caso cae fuera de su estructura de directorios. Edito /srv/www/tomcat5/base/conf/server.xml y añado un nuevo tag Host (www.manycomics.des es el nombre que utilizo para las pruebas de desarrollo, evidentemente hay una línea al efecto en mi fichero hosts):

    <Host name="www.manycomics.des" debug="0"
    appBase="/home/www/proyectos/manycomics"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">
    <Context path="" docBase="." debug="0">
    </Context>
    </Host>

Sí, tiene un Context vacío, si no se incluye podemos encontrarnos después con un bonito mensaje "No Host matches server name ...".

Ahora voy a aprovechar dos ficheros incluidos en el paquete de mod_jk y que bastará con modificar las rutas que sea preciso. Paso a /usr/share/doc/packages/mod_jk-ap20/ y copio jk.conf a /etc/apache2/conf.d/ y workers.properties a /etc/tomcat5/base/. En este último cambio un par de líneas:

    workers.tomcat_home=/srv/www/tomcat5/base/
    workers.java_home=$JAVA_HOME

Y por lo que respecta a la configuración suficiente por el momento. Paro Tomcat y Apache y vuelvo a arrancarlos ("rctomcat5 start" y "rcapache2 start" o bien con el correspondiente "/etc/init.d/... start", a gusto de cada cual).

Bien, vamos con una pequeña prueba. En el directorio de manycomics (/home/www/proyectos/manycomics) creo en primer lugar un directorio ROOT, un directorio jsp/, el correspondiente WEB-INF/ y, seguidamente, un fichero index.jsp en jsp/ tan sencillo como este:

    <html>
    <head>
    <title>Test JSP</title>
    </head>
    <body>
    Hola mundo!<p>
    2 + 2 = ${2+2}
    </body>
    </html>

Abro un navegador... indico la URL... http://www.manycomics.des/jsp/index.jsp ... y el resultado:

    Hola mundo!

    2 + 2 = 4

Sí señor, ¡¡funciona!!, ya podemos olvidarnos del famoso puerto 8080 :-)

Resultado de ejecución JSP visto con Konqueror

Última actualización el Domingo, 06 de Mayo de 2012 19:57
 
Licencia Creative Commons   Los contenidos de ManyComics se encuentran bajo una Licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported, salvo que se indique lo contrario.

ManyComics.com usa cookies para mejorar el sitio web y tu experiencia al usarlo. Al navegar por esta página, aceptas el uso de cookies.

Acepto las cookies de este site.