jueves, 19 de septiembre de 2013

Actualizando el Java de un Tomcat 7 en Linux

Volvemos con un mini blog útil para los usuarios del Framework Dinámica que mantienen servidores Tomcat 7 en Linux.

Se asume que el Tomcat 7 está instalado en /opt/tomcat7 de acuerdo a nuestros lineamientos y viene de nuestra distribución para Dinámica:
http://www.martincordova.com/files/tomcat7.tgz

Oracle ahora provee paquetes TGZ con JRE para servidores de 64 bits en Linux y Windows. Solo hay que descomprimir y listo, no hay programa de instalación para ejecutar.

Esta conveniente distribución de la JVM y sus herramientas se descarga desde este link:
http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html

Escoja la opción "Linux x64".

Una vez que se copia el comprimido TGZ al directorio /opt, se procede a descomprimirlo con este comando, asumiendo que ya está en el directorio /opt:

sudo tar -xzf server-jre*
Esto creará el directorio /opt/jdk1.7.0_40

Ahora solo resta configurar el servicio Tomcat para que use este Java. Editar el archivo /opt/tomcat7/bin/catalina.sh y cambie la línea donde se define el JAVA_HOME al inicio del archivo:

JAVA_HOME=/opt/jdk1.7.0_40

Ya está listo, ahora reinicie el servicio Tomcat 7, la interrupción de servicio será mínima:

sudo /etc/init.d/tomcat stop (espere por el [OK])
sudo /etc/init.d/tomcat start
Ahora con el navegador puede solicitar la página de diagnóstico /action/test que tienen todas las Webapps construidas con Dinámica, debería ver un mensaje como este:


Listo. Para desinstalar este Java basta con eliminar la carpeta /opt/jdk1.7.0_40.

Actualización del 2014/04/23: Descargar directo desde Oracle al servidor Linux

Como saben, ya salió el Java 8, y hace pocos días salió una actualización crítica de seguridad de Java 6, 7 y 8 inclusive (1.8.0_5), para eliminar un conjunto de vulnerabilidades. Si tienen un hosting en USA y en su región tienen un ancho de banda pobre (como es nuestro caso en Caracas), saben que es tedioso subir al servidor una nueva versión del JRE que puede pesar unos 50MB. Sin embargo nuestro hosting en USA tiene muy alta velocidad para descargarse archivos de Oracle, así que con este comando logramos bajar el último update de Java 8 en 5 segundos, directo a nuestro server en USA, ingresamos con putty, nos colocamos en el directorio /opt y procedemos a ejecutar el comando:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u5-b13/server-jre-8u5-linux-x64.tar.gz"

El URL de descarga lo deberían obtener de la página de descarga de Oracle una vez que aceptan la licencia, luego lo copian en su comando, el URL cambia de acuerdo a los números de versiones de Java. Este es para bajar el Server JRE para Linux de 64 bits v1.8 update 5 (el último a la fecha).

El crédito por el tip de descarga con comando WGET no va para nosotros, sino para unos cuantos sitios webs que tratan el tema, uno en particular:

https://ivan-site.com/2012/05/download-oracle-java-jre-jdk-using-a-script/