|
¿Problemas con CentOS 5 y Tomcat 5.5? |
|
|
|
|
|
Por UnixLibre / http://wiki.centos.org |
|
|
Hermosillo, Sonora.- (20 de julio del 2009) Desde la instalación y configuración del servidor CentOS 5.2 había tenido problemas para que funcionara correctamente con el panel de Control Plesk 8.x. No funcionaba la integración porque el servicio Tomcat no arracaba correctamente al iniciar el servidor. Por default en CentOS 5.x se puede instalar la versíón 5.5 del contenedor de aplicaciones web Tomcat. La versión 5.5 se considera estable, a pesar que no es la última en la línea de desarrollo. A la fecha, la última versión disponible de Tomcat es la 6.0.20. La instalación de Tomcat en CentOS 5 no es problemática, y automáticamente instala una serie de dependencias. Entre ellas se encuentra el paquete jpackage. Este último paquete organiza la estructura de directorios de las aplicaciones Java de una manera que es relativamente sencillo intercambiar versiones de la misma aplicación como de la máquina virtual en uso, manejando los directorios de trabajo como ligas simbólicas a directorios reales. Cuando se iniciaba el servicio Tomcat estaba encontrando el siguiente error: java.io.FileNotFoundException: /usr/share/tomcat5/common/lib/[jdbc-stdext].jar ( El error se generaba para varias otras extensiones estándar del software. En resumen, el servicio arrancaba, pero no era capaz de manejar un servlet o JSP mas allá del "Hola Mundo". La solución en mi caso particular fué la instalar manualmente el JDK de Sun. Cabe aclarar que está disponible en el depósito de paquetes de Yum una versión muy reciente de OpenJDK, pero de igual manera no dio resultado. Los pasos para instalar el JDK 1.6.0_11 de Sun Microsystems es como sigue. Va a ser necesario reconstruír el paquete, y para ello requerimos crear y/o configurar un archivo llamado $HOME/.rpmmacros. Este archivo se crea en el directorio del usuario, pero no se recomienda que se utilice el usuario root para esta tarea. El contenido de $HOME/.rpmmacros es: %_topdir /home/ Hay que reemplazar $ mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD} Seguidamente instalamos los paquetes necesarios para construír un archivo rpm. # yum install -y rpm-build gcc gcc-c++ redhat-rpm-config En este punto, si no hemos instalado el paquete "jpackage", es momento de hacerlo. # yum install jpackage-utils El siguiente paso es obtener el JDK update 11 desde el sitio web de Sun Microsystems. Dependiendo de nuestra plataforma (x86 o x86_64) debemos descargar ya sea jdk-6u11-linux-i586.bin o bien jdk-6u11-linux-x64.bin (para arquitecturas de 64 Bits). Este archivo se coloca en ~/rpmbuild/SOURCES. Seguidamente necesitamos el archivo correcto para jpackage. Este archivo lo encontraremos en el depósito de software de jpackage. Para esta versión del JDK requerimos el archivo java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm. Este archivo lo colocamos directamente en el direcrtorio ~/rpmbuild: $ cd ~/rpmbuild/ Y procedemos a reconstruír los rpm. $ rpmbuild --rebuild java-1.6.0-sun-1.6.0.11-1jpp.nosrc.rpm El resultado serán varios archivos rpm: Wrote: /home/usuario/rpmbuild/RPMS/i586/java-1.6.0-sun-1.6.0.11-1jpp.i586.rpm Los cuales procedemos a instalar. # yum --nogpgcheck localinstall ~/rpmbuild/RPMS/i586/java-1.6.0-*.rpm Finalmente configuramos el sistema alternatives con la nueva versión del JDK. # alternatives --config java En este caso particular se nos presenta la opción default y recomendada. Si en nuestro sistema contamos con otras versiones de la JDK, aparecerán en este listado. Es necesario seleccionar el número correspondiente e indicarlo al sistema. Probamos la versión del JDK: $ java -version Ya con el JDK configurado, procedemos a reiniciar el servicio Tomcat: # /etc/init.d/tomcat5 restart Y ya no encontraremos los mensajes de error en el log del software. Los logs de Tomcat los podemos encontrar en /var/log/tomcat/catalina.out. En este punto, el deploy de una aplicación web a través de la consola de administración o a través del panel de control Plesk debe ocurrir sin problemas.
|
|