[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