Un servidor de aplicaciones Apache Tomcat es un contenedor de aplicaciones JSP o Servlets. Instalarlo es realmente sencillo, aprovechando que hace poco liberaron la beta de la versión 7 voy a mostrar en unos sencillos pasos cómo se instala. Por supuesto, en la página oficial se puede encontrar la documentación oficial del proyecto.

El primer paso es descargar el archivo desde aquí y descomprimirlo en la carpeta que queramos. En mi caso lo voy a descomprimir en mi HOME:

abian@alberto:~$ unzip apache-tomcat-7.0.0.zip

La estructura de carpetas del tomcat es muy similar a la de otros servidores:

abian@alberto:~$ ls -l apache-tomcat-7.0.0/
total 116
drwxr-xr-x 2 abian abian  4096 2010-06-13 15:53 bin
drwxr-xr-x 3 abian abian  4096 2010-07-20 12:57 conf
drwxr-xr-x 2 abian abian  4096 2010-06-13 15:53 lib
-rw-r–r– 1 abian abian 57851 2010-06-13 15:53 LICENSE
drwxr-xr-x 2 abian abian  4096 2010-07-20 12:57 logs
-rw-r–r– 1 abian abian  1228 2010-06-13 15:53 NOTICE
-rw-r–r– 1 abian abian  9012 2010-06-13 15:53 RELEASE-NOTES
-rw-r–r– 1 abian abian  6831 2010-06-13 15:53 RUNNING.txt
drwxr-xr-x 2 abian abian  4096 2010-07-20 12:57 temp
drwxr-xr-x 7 abian abian  4096 2010-06-13 15:53 webapps
drwxr-xr-x 3 abian abian  4096 2010-07-20 12:57 work

Las carpetas en las que me voy a centrar son bin (contiene los binarios del servidor), conf (contiene los archivos de configuración) y webapps (contiene las aplicaciones desplegadas en el servidor).

Para desplegar o replegar aplicaciones es muy cómodo utilizar la aplicación manager de tomcat. Para poder acceder a dicha aplicación se necesita un usuario y un password que formen parte del rol “manager-gui“, la configuración de dichas credenciales se encuentra en el archivo conf/tomcat-users.xml y su contenido debe ser el siguiente:

<?xml version=’1.0′ encoding=’utf-8’?>
<tomcat-users>
<user username=”user” password=”changeme” roles=”manager-gui”/>
</tomcat-users>

Se puede escoger cualquier nombre de usuario, recomiendo no utilizar “tomcat”, “admin”, “administrator” para evitar posibles ataques de ingeniería social o diccionario, aunque en mi opinión la seguridad no es uno de los fuertes de este fichero porque el password se guarda en texto plano… Lo único importante de este archivo es que el usuario que se elija como administrador pertenezca al rol “manager-gui”.

El siguiente paso es dar permisos de ejecución a los scripts de arranque y parada del tomcat. Para ello hay que ir a la carpeta bin y modificar dichos permisos:

abian@alberto:~/apache-tomcat-7.0.0/bin$ chmod u+x *.sh
abian@alberto:~/apache-tomcat-7.0.0/bin$ ls -l *.sh
-rwxr–r– 1 abian abian 16091 2010-06-13 15:53 catalina.sh
-rwxr–r– 1 abian abian  1624 2010-06-13 15:53 digest.sh
-rwxr–r– 1 abian abian  4117 2010-06-13 15:53 setclasspath.sh
-rwxr–r– 1 abian abian  1563 2010-06-13 15:53 shutdown.sh
-rwxr–r– 1 abian abian  1956 2010-06-13 15:53 startup.sh
-rwxr–r– 1 abian abian  4663 2010-06-13 15:53 tool-wrapper.sh
-rwxr–r– 1 abian abian  1567 2010-06-13 15:53 version.sh

Por defecto, el servidor tomcat utiliza el puerto 8080 para servir las aplicaciones web y el puerto 8009 para el conector AJP. Por supuesto, estos puertos se pueden cambiar modificando el archivo conf/server.xml.

Ahora ya se puede iniciar el servidor ejecutando el script startup.sh de la carpeta bin:

abian@alberto:~/apache-tomcat-7.0.0/bin$ ./startup.sh
Using CATALINA_BASE:   /home/abian/apache-tomcat-7.0.0
Using CATALINA_HOME:   /home/abian/apache-tomcat-7.0.0
Using CATALINA_TMPDIR: /home/abian/apache-tomcat-7.0.0/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-sun
Using CLASSPATH:       /home/abian/apache-tomcat-7.0.0/bin/bootstrap.jar:/home/abian/apache-tomcat-7.0.0/bin/tomcat-juli.jar

Para comprobar que la instalación ha funcionado correctamente hay que abrir un navegador web y conectarse a la dirección http://127.0.0.1:8080, debería aparecer algo como lo que muestro a continuación:

tomcat home page

página principal de tomcat

Al hacer click en el link de “Tomcat manager” pedirá el usuario y la contraseña que fue establecida anteriormente, tras introducir la información aparecerá la pantalla del manager:

tomcat manager

tomcat manager

La última prueba para ver que realmente está todo bien instalado es entrar en la página con los ejemplos de JSP o de Servlets y ejecutarlos http://127.0.0.1:8080/examples/.

Para pararlo se utilza el script shutdown.sh que se encuentra en la carpeta bin:

abian@alberto:~/apache-tomcat-7.0.0/bin$ ./shutdown.sh
Using CATALINA_BASE:   /home/abian/apache-tomcat-7.0.0
Using CATALINA_HOME:   /home/abian/apache-tomcat-7.0.0
Using CATALINA_TMPDIR: /home/abian/apache-tomcat-7.0.0/temp
Using JRE_HOME:        /usr/lib/jvm/java-6-sun
Using CLASSPATH:       /home/abian/apache-tomcat-7.0.0/bin/bootstrap.jar:/home/abian/apache-tomcat-7.0.0/bin/tomcat-juli.jar

¿Algunas recomendaciones extras?

  • Para que sea más cómoda la administración del tomcat se puede crear un pequeño script en /etc/initi.d/tomcat7.0 con el siguiente contenido:
    #!/bin/bash
    case $1 in
    start)
    sh /home/abian/apache-tomcat-7.0.0/bin/startup.sh
    ;;
    stop)
    sh /home/abian/apache-tomcat-7.0.0/bin/shutdown.sh
    ;;
    restart)
    sh /home/abian/apache-tomcat-7.0.0/bin/shutdown.sh
    sh /home/abian/apache-tomcat-7.0.0/bin/startup.sh
    ;;
    *)
    #Default case: restart de daemon
    sh /home/abian/apache-tomcat-7.0.0/bin/shutdown.sh
    sh /home/abian/apache-tomcat-7.0.0/bin/startup.sh
    ;;
    esac
    exit 0

    Este script nos va a permitir arrancar tomcat utilizando el comando
    sudo /etc/init.d/tomcat7.0 start
    o pararlo utilizando:
    sudo /etc/init.d/tomcat7.0 stop

  • Para que arranque automáticamente al encender el ordenador hay que crear un enlace simbólico en /etc/rc2.d apuntando al script creado en el punto anterior:

    abian@alberto:/etc/rc2.d$ ls -l S99tomcat
    lrwxrwxrwx 1 root root 21 2010-07-20 13:01 S99tomcat -> /etc/init.d/tomcat7.0
    abian@alberto:/etc/rc2.d$

tomcat manager

tomcat manager

About these ads