Apache Tomcat
Instalar Apache Tomcat en Linux
Apache Tomcat es un software desarrollado por Java orientado a servidores web que permite ejecutar servlets y proyectos JSP.
INSTALAR APACHE TOMCAT
Para instalar Tomcat en Linux el primer paso consiste en descargar una de sus versiones (binario) desde su página oficial y descomprimirlo en un directorio del sistema. Para ello se crea un directorio, se copia el archivo y se descomprime en dicho directorio. El código siguiente realiza este proceso después de haber descargado la versión 8.5.51 y comprimido a tar.gz.
mkdir server-tomcat
cp Descargas/apache-tomcat-8.5.51.tar.gz server-tomcat/
cd server-tomcat
tar xvzf apache-tomcat-8.5.51.tar.gz
El segundo paso es añadir Apache Tomcat a una variable de entorno.
sudo nano .profile
Se crea la variable de entorno CATALINA_HOME asignando la ruta donde se encuentra la instalación de Apache Tomcat. (Entre la variable, el signo "=" y la ruta no deben existir espacios).
#Configuración Tomcat
export CATALINA_HOME=/home/usuario/server-tomcat/apache-tomcat-8.5.51
Actualizar
apt update
El tercer paso es comprobar si funciona correctamente, accediendo al subdirectorio bin y arrancando o deteniendo el servidor.
cd /home/usuario/server-tomcat/apache-tomcat-8.5.51/bin
Arrancar servidor.
./startup.sh
Detener servidor.
./shutdown.sh
ERROR build-impl.xml:1045 Deployment error
Este error impide iniciar el navegador desde NetBeans al ejecutar un proyecto con Tomcat. Para solucionar este error es necesario sustituir el archivo org-netbeans-modules-tomcat5.jar que se encuentra en el subdirectorio enterprise/modules de la carpeta de instalación de NetBeans. Si el directorio enterprise/modules no existe es necesario crearlo y copiar dentro el archivo que se puede descargar desde aquí.
Fuente (error build-impl.xml): //issues.apache.org/jira/browse/NETBEANS-3903
Error Could not contact [localhost:8005]
Este error se soluciona revisando firewalls o probando una versión de Java o OpenJDK anterior.
ESTRUCTURA APACHE TOMCAT
La estructura de Tomcat se basa en los siguientes directorios:
bin
conf
lib
webapp
work
ESTRUCTURA DE APLICACIÓN WEB
Una aplicación web se compone de un directorio raiz, ubicado en el directorio webapps de Apache Tomcat y con un nombre que normalmente identifica el proyecto. La estructura básica del proyecto es la siguiente:
web.xml
El archivo web.xml permite configurar un archivo o ruta inicial
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
El valor (index.html) de la etiqueta welcome-file indica el archivo o ruta que se ejecuta al inicio.
context.xml
El archivo context.xml permite indicar la ruta raíz de la aplicación mediante el atributo path
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/MiProyecto">
</Context path>
Para comprobar si la configuración es correcta se inicia el servidor y se accede a la aplicación mediante la ruta indicada.
Iniciar servidor
./startup.sh
Acceder a aplicación
Para acceder a la aplicación se introduce la dirección en el navegador
GESTOR DE APACHE TOMCAT
Apache Tomcat incorpora en la instalación un gestor de aplicaciones propio. Este gestor permite varias opciones como iniciar, detener, instalar, eliminar y acceder a las aplicaciones. Este gestor se encuentra restringido por defecto, para obtener acceso es requerida la configuración del rol manager-gui en el archivo tomcat-users.xml (conf/tomcat-users.xml)
Configurar tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd">
<role rolename="manager-gui"/>
<user password="admin" roles="manager-gui" username="admin"/>
</tomcat-users>
Se crea el rol manager-gui y al crear el usuario se le asigna el rol manager-gui. Para que el servidor reconozca la configuración es necesario detener e iniciar el servicio.
Acceder desde una máquina externa
A partir de versiones de Apache Tomcat 8.5 o superiores, la configuración por defecto no permite acceder desde una máquina externa al gestor de aplicaciones. Para permitir el acceso es necesario configurar los archivos context relacionados con el gestor de aplicaciones:
Se modifica el atributo allow de la etiqueta Valve, ya sea, añadiendo una IP determinada o permitiendo acceso a cualquier IP.
Etiqueta Valve por defecto:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
Configuración añadiendo una IP determinada:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.85.123.82" />
Configuración permitiendo acceso a cualquier IP:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$"/>
Para poder comentar es necesario iniciar sesión