===== El servidor de aplicaciones. Apache Tomcat =====
{{ tomcat.png }}
==== Instalación ==== El servidor de aplicaciones [[http://tomcat.apache.org|Apache Tomcat]] no dispone de instalador por lo que la manera habitual de instalarlo es descargar la versión que queramos (actualmente la última versión es la 9) y descomprimirlo en la carpeta que queramos. santi@zenbook:$ tar xvzf apache-tomcat-9.0.1.tar.gz x apache-tomcat-9.0.1/conf/ x apache-tomcat-9.0.1/conf/catalina.policy x apache-tomcat-9.0.1/conf/catalina.properties x apache-tomcat-9.0.1/conf/context.xml x apache-tomcat-9.0.1/conf/jaspic-providers.xml x apache-tomcat-9.0.1/conf/jaspic-providers.xsd x apache-tomcat-9.0.1/conf/logging.properties x apache-tomcat-9.0.1/conf/server.xml x apache-tomcat-9.0.1/conf/tomcat-users.xml x apache-tomcat-9.0.1/conf/tomcat-users.xsd x apache-tomcat-9.0.1/conf/web.xml x apache-tomcat-9.0.1/bin/ . . . . . . ==== Arranque y parada ==== Para iniciarlo, dispone de un script ''startup.sh'' que lo lanzará en segundo plano: santi@zenbook:$ ./startup.sh Using CATALINA_BASE: /Users/Santi/apache-tomcat-7.0.67 Using CATALINA_HOME: /Users/Santi/apache-tomcat-7.0.67 Using CATALINA_TMPDIR: /Users/Santi/apache-tomcat-7.0.67/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home Using CLASSPATH: /Users/Santi/apache-tomcat-7.0.67/bin/bootstrap.jar:/Users/Santi/apache-tomcat-7.0.67/bin/tomcat-juli.jar Tomcat started. Y también de un script ''shutdown.sh'' que lo detiene: santi@zenbook:$ ./shutdown.sh Using CATALINA_BASE: /Users/Santi/apache-tomcat-7.0.67 Using CATALINA_HOME: /Users/Santi/apache-tomcat-7.0.67 Using CATALINA_TMPDIR: /Users/Santi/apache-tomcat-7.0.67/temp Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home Using CLASSPATH: /Users/Santi/apache-tomcat-7.0.67/bin/bootstrap.jar:/Users/Santi/apache-tomcat-7.0.67/bin/tomcat-juli.jar === Instalación en Debian utilizando apt === Si trabajamos con Debian existe la posibilidad de instalar Tomcat utilizando la herramienta //apt//. En el ejemplo siguiente instalamos el servidor de aplicaciones y todas herramientas y documentación (vienen como paquetes a parte en Debian): santi@zenbook:$ sudo apt-get install tomcat8 tomcat8-* En este caso, si queremos iniciar/detener/reiniciar el servidor, puesto que éste se encontrará ahora instalado como un servicio en nuestro sistema Linux tendremos que hacerlo como habitualmente se hace: santi@zenbook:$ sudo service tomcat8 start santi@zenbook:$ sudo service tomcat8 restart santi@zenbook:$ sudo service tomcat8 stop También tenemos que tener en cuenta que, en este caso, todos los ficheros de configuración de //Apache Tomcat// se encuentran en ''/etc/tomcat8''. ==== Configuración básica ==== En cualquier caso, al tratarse de un servidor de aplicaciones, lo habitual es que //escuche// en el puerto 8080, aunque hay que tener en cuenta que se puede cambiar en el caso de que en el equipo donde se encuentra instalado no haya un servidor web y además queramos que nuestra aplicación web quede expuesta al exterior. Nos interesará, por tanto, modificar el puerto al 80 para mayor comodidad a la hora de acceder a nuestra aplicación desde el navegador. Para cambiar el puerto donde //Apache Tomcat// escuchará tenemos que editar el fichero ''conf/server.xml'' y cambiar el número del conector del protocolo HTTP: . . . . . . Independientemente del puerto que hayamos configurado, si accedemos a la página principal del servidor de aplicaciones nos encontraremos la portada:
{{ tomcat_home.png?450 }} Home Apache Tomcat
Desde donde podemos acceder a diferentes secciones donde podemos monitorizar/configurar algunos aspectos del servidor
{{ tomcat_status.png?450 }} Estado del servidor
{{ tomcat_apps.png?450 }} Listado de aplicaciones web desplegadas
{{ tomcat_vhosts.png?450 }} Listado de hosts virtuales configurados
Pero antes de poder acceder a las diferentes secciones del servidor desde el navegador hay que tener en cuenta que, por seguridad, dicho acceso se encuentra restringido y tendremos que registrar usuarios en ''conf/tomcat-users.xml'' con nombre de usuario, contraseña y los roles con los que accederan. Podemos crear un usuario para cada rol o bien un usuario que tenga varios de ellos (incluso todos). Cada rol definido por //Tomcat// da acceso a una de las partes del servidor: * **manager-status**: Da acceso a la sección donde monitorizar el estado de Tomcat * **manager-gui**: Da acceso al listado de aplicaciones y a poder desplegarlas desde la web * **admin-gui**: Da acceso a la parte de administración de hosts virtuales La forma en como podemos editar el fichero y crear nuevos usuarios puede verse en el siguiente fragmento del fichero configuración extraido de una instalación limpia de //Tomcat// y modificado con un usuario ''tomcat'' y contraseña ''tomcat'' con todos los roles. ---- (c) 2023 Santiago Faci