[CentOS-es] Problemilla con Apache + Tomcat

Cherny D. C. Berbesi I. ergochomardito en gmail.com
Mar Abr 8 13:34:00 UTC 2008


/* Envie el correo anterior usando un correo no subscrito, disculpen! */

Hola gente, estoy usando Apache2.2.8 y Tomcat 5.5.25 y los tengo conectados 
usando mod_jk, todo bien excepto por un detalle. Al momento de detener y 
arrancar Tomcat el cambia el archivo de configuración del mod_jk, en mi caso 
esta en /usr/local/jakarta/tomcat/conf/auto/mod_jk.conf, le cambia lo 
siguiente:

#Antes de reiniciar:

.
<VirtualHost midominio.com:80>
.

#Luego de reiniciar

.
<VirtualHost midominio.com>
.

Por si no vieron el detalle, le quita la especificación del puerto, esto me 
trae serias consecuencias ya que para que Apache tome en cuenta ese 
virtualhost de Tomcat, este debe estar iniciado, pero al iniciar Apache, este 
da un error ya que no se esta especificando el puerto! (Que Tomcat borro en 
su script de inicio).

Algo que hice para remediar un poco la situación en caso de caída del sistema 
fue crear un scirpt personalizado /etc/init.d/tomcat5 que con el archivo 
mod_jk.conf que sirve (el que tiene el puerto 80 especificado, le 
agregue ".stable" al final) y reemplazarlo al momento del inicio, a 
continuación el script:

#!/bin/sh
case "$1" in
        start)
                sh /usr/local/jakarta/tomcat/bin/startup.sh
cp -vf --reply=yes "/usr/local/jakarta/tomcat/conf/auto/mod_jk.conf.stable" "/usr/local/jakarta/tomcat/conf/auto/mod_jk.conf"
                ;;
        stop)
                sh /usr/local/jakarta/tomcat/bin/shutdown.sh
                ;;
        restart)
                sh /usr/local/jakarta/tomcat/bin/shutdown.sh
                sleep 2
                sh /usr/local/jakarta/tomcat/bin/startup.sh
cp -vf --reply=yes "/usr/local/jakarta/tomcat/conf/auto/mod_jk.conf.stable" "/usr/local/jakarta/tomcat/conf/auto/mod_jk.conf"
                ;;
        *)
                echo "Uso: tomcat5 {start|stop|restart}"
                exit 1
esac

Sin embargo esta solución no me sirve ya que el archivo sigue apareciendo sin 
el puerto luego de ejecutar el script, alguna idea alternativa o como 
solucionar este detalle?


Más información sobre la lista de distribución CentOS-es