Tomcat es un servidor, normalmente montado sobre Apache, y que nos permite trabajar en un entorno Java. Con este planteamiento, debemos hacer notar que Tomcat queda configurado como un servicio de apache, que escucha en el puerto 8080 y que va a tener su propio directorio de trabajo
Con todo esto, lo que hacemos es que el servidor apache va a estar escuchando, como siempre, el puerto 80, y cuando llegue una petición que el considere adecuada, la derivara a Tomcat
Estos días, y debido a la preparación de un curso de Spring, he tenido que instalar un servidor Toncat y he decidido ir documentando los pasos, aunque solo sea para que la próxima vez que lo tenga que hacer, tenga toda esta documentación organizada y accesible.
En este primer articulo, vamos a hacer la instalación de Tomcat sobre un servidor Linux con la distribución debian squezze.Para ello, asumimos que tenemos ya instalado Apache2, phpMyAdmin, y Mysql y nos funcionan sin problemas.
Ante todo, y como siempre que vamos a instalar nuevosprogramas en Linux, nos aseguramos que lo que tenemos este actualizado, para ello,lanzamos (con permisos de root)
# aptitude update
para actualizar las listas de programas de los repositorios y
# aptitude safe-upgrade
para descargar las actualizaciones de los programas que actualmente tenemos. Esta orden nos dará lalista de programas a descargar/actualizar y si nos parece correcta, le decimos si (S) y esperamos su finalizacion.
Una vez tenemos actualizado Debian y los programas que teníamos debemos instalar el JDK de java. Observar que se trata del kit de desarrollo (JDK), y no solamente de la maquina virtual (JRE). Para ello, nos bastara con hacer
# aptitude install sun-java6-jdk
Podemos comprobar que la instalación ha ido bien con:
# java -version
java version «1.6.0_26»
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
Aquí vemos la respuesta que debemos recibir. Esta respuesta puede cambiar ligeramente en función de la versión de Java que instalemos, y las características de nuestra maquina, pero siempre sera algo semejante.
Ahora, descargamos la ultima versión de Tomcat desde http://tomcat.apache.org .Para ello, navegamos hasta esa dirección y comprobamos cual es la ultima versión, en estos momentos es la 7.0.39, con lo que escribimos en nuestro terminal:
# wget http://apache.rediris.es/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.tar.gz
y esperamos que se descargue el paquete. Una vez termine la descarga, deberemos descomprimirlo, moverlo a su directorio definitivo, por ejemplo ‘/usr/share’ y crear un enlace fácilmente reconocible
# tar -xvzf apache-tomcat-7.0.39.tar.gz
# mv apache-tomcat-7.0.39 /usr/share
# ln -s /usr/share/apache-tomcat-7.0.39/ /usr/share/tomcat7
En Tomcat, la gestión del servicio se gestiona a través del script incluido llamado catalina. Para poder utilizar a catalina sin necesidad de especificar la ruta, añadimos a catalina al PATH:
# ln -s /usr/share/tomcat7/bin/catalina.sh /usr/sbin/catalina
Podemos iniciar el servidor. y estos son los mensajes que recibimos.
# /usr/sbin/catalina start Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Si todo ha ido bien, ahora nos podemos conectar con nuestro servidor en la dirección que tuviéramos, indicando el puerto 8080, (p.ej. http://127.0.0.1:8080) y veremos la pagina de bienvenida
En este punto tenemos instalado tomcat y es perfectamente capaz de trabajar como servidor independiente desde el puerto 8080. Pero como a nosotros nos gustaria integralo con Apache, vamos a iniciar el proceso.
Tomcat, por defecto busca los ficheros en la carpeta /usr/share/tomcat7/webapps/ROOT (directorio de instalación/webapps/ROOT. Si vamos a trabajar en un entorno en donde parte del trabajo lo va ahacer Apache, y donde pueden coexistir paginas java (jsp) y HTML, quizas sea mejor que unifiquemos los directorios de documentos; para ello tenemos que editar /usr/share/tomcat7/server.xml y en donde ponga «host name» dejaremos:
name=”localhost” appBase=”/var/www”
siendo «/var/www» nuestro directorio apache
A continuación, deberemos preparar a Apache para que funcione como proxy de Tomcat. Para ello vamos a activar 3 módulos:
# a2enmod proxy
Enabling module proxy.# a2enmod proxy_ajp
Considering dependency proxy for proxy_ajp:
Module proxy already enabled
Enabling module proxy_ajp.# a2enmod proxy_balancer
Considering dependency proxy for proxy_balancer:
Module proxy already enabled
Enabling module proxy_balancer.
y restauramos Apache para que cargue los nuevos modulos
root@gestionproyectos:~# /etc/init.d/apache2 restart
Pasamos a modificar el VirtualHost en que que deseemos activar Tomcat, normalmente en /etc/apache2/sites-enabled/
Dentro de <VirtualHost> debemos indicar
<Proxy balancer://tomcat_cluster>
Order allow,deny
Allow from all
BalancerMember ajp://localhost:8009
</Proxy>
ProxyPreserveHost On
ProxyPass /phpmyadmin/ !
ProxyPass / balancer://tomcat_cluster/
ProxyPassReverse / balancer://tomcat_cluster/
Todo ello nos permite indicar:
Proxy balancer://tomcat_cluster –>Definimos un cluster con nombre “Tomcat_cluster”
BalancerMember ajp://localhost:8009 –> le asignamos un miembro a Tomcat_cluster, dandole protocolo, ip y puerto
ProxyPass / balancer://tomcat_cluster/ –>Le decimos que “/” y todo lo que cuelgue de ella, sea pasado al cluster del tomcat para que sea el quien lo procese.
ProxyPass /phpmyadmin/ ! –> Menos lo que cuelgue de phpmyadmin que seguirá siendo procesado por apache
ProxyPreserveHost On –> Mantiene la cabecera http host original, en vez de reescribirla
Por ultimo comprobamos que el directorio raiz de VirtualHost coincida (o no, según nos guste) con el de Tomcat)… y listo.
Ya puestos, podemos instalar un administrador para Tomcat con
# aptitude install tomcat6-admin
Aceptamos, y ya tenemos nuestro administrador, aunque antes de poderlo utilizar, deberemos crear el usuario y la contraseña necesaria.
Para ello, vamos a /usr/share/apache-tomcat7/conf/tomcar-users.xml y le indicamos un usuario y una contraseña
Bibliografia
http://tomcat.apache.org/download-60.cgi
http://elrincondelsoft.blogspot.com.es/2011/12/instalacion-de-tomcat-y-despliegue-de.html
http://blog.openalfa.com/como-instalar-un-contenedor-tomcat-7-en-debian/
8 comentarios