Categories
Linux Sysadmin

Instalar Java y Tomcat en GNU/Linux CentOS junto con Plesk

tomcat

Hoy voy a contaros como levantar un tomcat 5 sobre la máquina virtual Java de Sun 6 update 6 (o 1.6), partiendo de una instalación limpia de CentOS 5 y Plesk 8.4.0, que es como os podriais encontrar un servidor dedicado justo después de su contratación. Si no teneis plesk instalado de igual manera podeis seguir los pasos hasta que comienza la configuración de Plesk para tener un sistema con Java y Tomcat totalmente funcional.


Comenzaremos por instalar Java
, me moveré a /opt y descargaré todos los ficheros allí,

[root@maquina opt]# cd /opt

Un requisito antes de instalar la JDK es instalar jpackage, si usas CentOS 5 no tienes más que escribir:

[root@maquina opt]# yum install jpackage-utils

Si usa CentOS 4, tendrás que decargar jpackage-utils manualmente en:

http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/

e instalarlo con:

[root@maquina opt]# wget http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/jpackage-utils-1.7.5-1jpp.noarch.rpm

[root@maquina opt]# rpm -Uvh jpackage-utils-1.7.5-1jpp.noarch.rpm

Ahora vamos a instalar la JDK de Sun en su versión 6 Update 6.

Nos dirigimos a http://java.sun.com/javase/downloads/index.jsp y descargamos el auto-extraible con RPM (RPM self-extracting file), eligiendo la arquitectura (IA64 para Titanium, i586 para los demás).

El nombre del fichero es: jdk-6u6-linux-i586.rpm.bin

Escribimos:

[root@maquina opt]# chmod +x jdk-6u6-linux-i586.rpm.bin

[root@maquina opt]# ./jdk-6u6-linux-i586.rpm.bin

Acepte el acuerdo de licencia, y procedemos a descargar el fichero http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm

[root@maquina opt] wget http://mirrors.dotsrc.org/jpackage/1.7/generic/non-free/RPMS/
java-1.6.0-sun-compat-1.6.0.06-1jpp.i586.rpm

Instalamos ambos RPMs:

[root@maquina opt]# rpm -Uvh java-1.6.0-sun.compat-1.6.0.06-1jpp.i586.rpm

[root@maquina opt]# rpm -Uvh ./jdk-6u6-linux-i586.rpm

Nota: -U denota upgrade, y cualquier otra versión anterior del paquete se desistala, las demás opciones son de verbose.

Sólo queda configurar el sistema alternatives para que use la JDK:

[root@maquina opt]# alternatives --config java

There are 2 programs which provide 'java'.

Selection Command
-----------------------------------------------
+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
* 2 /usr/lib/jvm/jre-1.6.0-sun/bin/java

Enter to keep the current selection[+], or type selection number: 2

Eligimos 2, para usar la máquina virtual de Sun.

Ahora tecleamos “java -version” y deberíamos ver:


[root@maquina opt]# java -version
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

Ya tenemos Java instalado en el servidor!

Una vez superado este paso, procedemos a instalar tomcat5 de manera cómoda


[root@maquina opt]# yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps

Este comando descargará e instalará los paquetes necesarios. Podemos ver los ficheros que ha instalado el sistema para cada paquete con el comando

[root@maquina ~]# rpm -ql tomcat5
/etc/logrotate.d/tomcat5
/etc/rc.d/init.d/tomcat5
/etc/sysconfig/tomcat5
/etc/tomcat5
/etc/tomcat5/Catalina
/etc/tomcat5/Catalina/localhost
/etc/tomcat5/catalina.policy
/etc/tomcat5/catalina.properties
/etc/tomcat5/context.xml

..

similar al dpkg -L de Debian.

Iniciamos tomcat para comprobar que arranca correctamente

[root@maquina ~]# service tomcat5 start

Y bien, accediendo a http://IP:8080 del servidor o bien http://localhost:8080 si estamos en la máquina local deberemos ver la página de bienvenida de tomcat.

Si tenemos problemas podemos comprobar el fichero de log, por defecto situado en /var/log/tomcat5/catalina.out

Ya tenemos listo tomcat 5 sobre Sun JDK 6

Si no tienes un panel Plesk la siguiente sección no te interesa.

Componente tomcat en Plesk

El paquete Plesk es una solución comercial de hosting web automatizado. Originalmente nació en la compañía Plesk Inc, hasta que en 2003 pasó a ser un producto de SWSoft debido a su compra. Hoy día es distribuido por Parallels Inc. (sí los de Parallels Desktop for Mac), desde que Parallels y SWSoft se unieron en Enero de 2008. Trabajaremos con la última versión 8.4.0 que lanzaron el 7 de Mayo de 2008.

Nuestra licencia de Plesk tiene que soportar el componente para tomcat, quizá ya viene instalado y nos ahorramos estos pasos, de todas formas explicamos como instalarlo en caso de que esto no ocurriera, incluso de activar el componente en la licencia.

Necesitamos dos paquetes, los podemos bajar de siguiente url: http://autoinstall.plesk.com/PSA_8.4.0/dist-rpm-CentOS-5-i386/opt/java/

Para otras versiones de Plesk anteriores, indicar el directorio adecuado.

Descargamos los dos RPMs, por ejemplo con wget, tanto mod_jk como psa-tomcat-configurator, el primero es requisito del segundo por lo tanto instalamos ambos en orden.


[root@maquina opt]# wget http://autoinstall.plesk.com/PSA_8.4.0/dist-rpm-CentOS-5-i386/opt/java/
mod_jk-ap20-1.2.15-42psa.cos5.build84080425.19.i586.rpm
[root@maquina opt]# wget http://autoinstall.plesk.com/PSA_8.4.0/dist-rpm-CentOS-5-i386/opt/java/
psa-tomcat-configurator-8.4.0-cos5.build84080425.19.noarch.rpm
[root@maquina opt]# rpm -Uvh mod_jk-ap20-1.2.15-42psa.cos5.build84080425.19.i586.rpm
Preparing... ########################################### [100%]
1:mod_jk-ap20 ########################################### [100%]
[root@maquina opt]# rpm -aq|grep mod_jk
mod_jk-ap20-1.2.15-42psa.cos5.build84080425.19
[root@maquina opt]# rpm -Uvh psa-tomcat-configurator-8.4.0-cos5.build84080425.19.noarch.rpm
Preparing... ########################################### [100%]
1:psa-tomcat-configurator########################################### [100%]
Trying to start MySQL server... Trying to establish test connection... connected
done
Checking for the system groups and users necessary for Tomcat...
Checking for the group 'tomcat'...
Group 'tomcat' already exists

Checking for the user 'tomcat'...
User 'tomcat' already exists

Trying to comment CATALINA_BASE variable in the /etc/sysconfig/tomcat5... done
Trying to find JAVA_HOME variable in the /usr/share/tomcat5/conf/tomcat5.conf...
JAVA_HOME variable is already in the /usr/share/tomcat5/conf/tomcat5.conf and has correct value (/usr/lib/jvm/java)
Trying to replace TOMCAT_USER variable in the /usr/share/tomcat5/conf/tomcat5.conf... done
Making chown and chmod under JDK stuff
Trying to set up Tomcat permissions... done

Veremos toda esta salida configurando los componentes, entre estas líneas destaca:

JAVA_HOME variable is already in the /usr/share/tomcat5/conf/tomcat5.conf and has correct value (/usr/lib/jvm/java)

Como se puede ver, el componente coge la configuración de tomcat5, la JVM está en /usr/lib/jvm, veamos:

[root@maquina opt]# ls -l /usr/lib/jvm/java
lrwxrwxrwx 1 root root 26 Jun 7 19:14 /usr/lib/jvm/java -> /etc/alternatives/java_sdk
[root@maquina opt]# ls -l /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root 27 Jun 7 19:17 /etc/alternatives/java_sdk -> /usr/lib/jvm/java-1.6.0-sun

Correcto, es la Sun JDK 1.6 que acabamos de instalar.

Reiniciamos Plesk:

[root@maquina opt]# service psa restart

Ahora podeis cambiar la configuración de tomcat para adaptarla a vuestras necesidades, como consejo de optimización podeis linkar el tomcat con apache, para que sea este último el que sirva contenido en Internet.

Si accedemos a Plesk, en Servidor -> Sistema -> Inf. componentes, podremos ver:

psa-tomcat-configurator8.4.0-cos5.build84080425.19

tomcat5.5.23-0jpp.3.0.3.el5_1

que antes no teníamos.

Si el componente está soportado por nuestra licencia, podremos ir a Servidor -> Administración de servicios, y veremos a tomcat como un servicio más, el cual podemos activar/desactivar.

Y desde cada dominio, veremos un nuevo icono Servicios -> Tomcat que permite a los clientes subir aplicaciones Java al servidor en formato .war y publicarlas en Internet.

Si nuestra licencia no soporta este componente, veremos la función tomcat desactivada y sin posibilidad de activarla con un mensaje similar a “Esta función no está soportada por la licencia”, por lo que tendremos que pagar por ella, normalmente las empresas de dedicados se hacen cargo, el coste es unos 5 €/mes, también podemos comprarla nosotros mismos y activarla desde Servidor -> Administración de licencias.

Una vez comprada la licencia, ya sea mediante un tercero o nosotros mismos, iremos a Servidor -> Administración de licencias -> Obtener licencias compradas y se nos actualizará los datos para nuestra llave de licencia, con esto se activara la función tomcat en Plesk.

Otra opción es configurar tomcat a mano y que los clientes suban las aplicaciones Java por ftp o SSH.

Con esto ya dejamos listo nuestro sistema Java/Tomcat en CentOS y Plesk.