Configuración
Apache Tomcat
A continuación se exponen algunos puntos a considerar sobre la configuración de Apache Tomcat, dando por hecho
que ya se tiene una instalación del mismo en $HOME/www/tomcat01/apache-tomcat-8.5.34
.
Archivos/directorios importantes
-
bin/
: directorio con script o ejecutables. Los archivos con extensión.sh
son usados en sistemas operativos basados en Unix (GNU/Linux y Mac OS) mientras que los archivos con extensión.bat
en Microsoft Windows. -
conf/
: archivos de configuración. -
logs/
: directorio con archivos de registros (logs) generados durante la ejecución de Apache Tomcat. -
webapps/
: directorio con aplicaciones web. En Apache Tomcat a una aplicación web se le conoce como contexto, de tal forma que cada apliación web es un contexto distinto. -
bin/catalina.sh
: script de shell para iniciar/detener a Apache Tomcat. -
conf/server.xml
: archivo principal de configuración de Apache Tomcat. Uno de los aspectos que se pueden configurar son los puertos TCP y direcciones IP en el que Apache Tomcat operará.
Aceptando conexiones solo de manera local (Loopback)
Por default Apache Tomcat está escuchando en todas las interfaces de red disponibles (:::8080) en el puerto TCP 8080 para el protocolo HTTP. Suponiendo que ya se encuentre en ejecución Apache Tomcat:
alumno@servidor:~/www/tomcat01/apache-tomcat-8.5.34/bin $ netstat -plutn | grep java
tcp 0 0 127.0.0.1:8005 :::* LISTEN 7645/java
tcp 0 0 :::8009 :::* LISTEN 7645/java
tcp 0 0 :::8080 :::* LISTEN 7645/java
Para hacer que Apache Tomcat escuche (o atienda solicitudes de conexión) en la interfaz de red loopback
(localhost o dirección IP 127.0.0.1) se asigna el valor 127.0.0.1
al atributo address
del elemento <Connector>
para el protocolo HTTP/1.1 en el archivo conf/server.xml
ubicado dentro del directorio de instalación de Apache Tomcat:
<Connector port="9191" protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
redirectPort="8443" />
IMPORTANTE: cuando edites el archivo conf/server.xml
es recomendable que ejecutes el comando
sh catalina.sh configtest
para validar el archivo de configuración principal. En caso de que al terminar
la ejecución del anterior comandos recibas un mensaje similar a Configuration error detected! es indicación de que
tienes un error de sintaxis en el archivo conf/server.xml
.
Deten a Apache Tomcat si ya está en ejecución e inicialo:
alumno@servidor:~/www/tomcat01/apache-tomcat-8.5.34/bin $ netstat -plutn | grep java
tcp 0 0 127.0.0.1:8080 :::* LISTEN 3659/java
tcp 0 0 127.0.0.1:8005 :::* LISTEN 3658/java
tcp 0 0 :::8009 :::* LISTEN 3657/java
Configurando los puertos TCP
Suponiendo que se quiera hacer uso de los siguientes puertos TCP:
- para conexiones HTTP: 9191
- para detener a Apache Tomcat: 9292
- para Apache JServ Protocol: 9393
se realizan los siguientes pasos:
Edita el archivo
conf/server.xml
:- Localiza la línea
<Connector port="8080" protocol="HTTP/1.1"
(línea 70 apro.), cambia el valor del atributo port de8080
a9191
. - Localiza la línea
<Server port="8005" shutdown="SHUTDOWN">
(línea 20 aprox.), cambia el valor del atributo port de8005
a9292
. - Localiza la línea
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
(línea 115 aprox.), cambia el valor del atributo port de8009
a9393
.
IMPORTANTE: cuando edites el archivo
conf/server.xml
es recomendable que ejecutes el comandosh catalina.sh configtest
para validar el archivo de configuración principal. En caso de que al terminar la ejecución del anterior comandos recibas un mensaje similar a Configuration error detected! es indicación de que tienes un error de sintaxis en el archivoconf/server.xml
.Deten a Apache Tomcat si ya está en ejecución.
- Localiza la línea
Inicia a Apache Tomcat:
alumno@servidor:~/www/tomcat01/apache-tomcat-8.5.34/bin $ sh catalina.sh start Using CATALINA_BASE: /home/alumno/www/tomcat01/apache-tomcat-8.5.34 Using CATALINA_HOME: /home/alumno/www/tomcat01/apache-tomcat-8.5.34 Using CATALINA_TMPDIR: /home/alumno/www/tomcat01/apache-tomcat-8.5.34/temp Using JRE_HOME: /usr/lib64/java Using CLASSPATH: /home/alumno/www/tomcat01/apache-tomcat-8.5.34/bin/bootstrap.jar: /home/alumno/www/tomcat01/apache-tomcat-8.5.34/bin/tomcat-juli.jar Tomcat started.
Verifica la actual ejecución de Apache Tomcat:
alumno@servidor:~/www/tomcat01/apache-tomcat-8.5.34/bin $ netstat -plutn | grep java tcp 0 0 :::9191 :::* LISTEN 5988/java tcp 0 0 127.0.0.1:9292 :::* LISTEN 5988/java tcp 0 0 :::9393 :::* LISTEN 5988/java
Accede a http://127.0.0.1:9191 para verificar la ejecución de Apache Tomcat.
Configurando Manager App
Apache Tomcat cuenta con una aplicación web de administración (Manager App) con la cual podrás administrar ciertos aspectos de la instancia de Apache Tomcat en ejecución.
Edita el archivo
conf/tomcat-users.xml
, agrega<user username="alumno" password="12345" roles="standard,manager-gui" />
una línea antes de la etiqueta de cierre</tomcat-users>
.Deten a Apache Tomcat e inicialo una vez más.
Accede con el navegador web a http://127.0.0.1:9191/manager (suponiendo que el puerto TCP 91l91 ha sido configurado previamente) y ante la ventana emergente ingresa los datos alumno y 12345 como User Name y Password respectivamente, configurados en el paso 1.
Eclipse IDE for Java EE Developers
Los siguientes pasos abordan la configuración del IDE Eclipse para que mediante él se administre la configuración, el inicio y detención de una instancia de Apache Tomcat.
OBSERVACIONES:
- Es posible tener varias instancias de Apache Tomcat instaladas y en ejecución al mismo tiempo. Para esto es cuestión de administrar los directorios en donde son instalados así como el puerto TCP a usar.
- Eclipse puede ayudarnos a trabajar de una forma más comoda con varias instancias de Apache Tomcat así como distintos proyectos o aplicaciones web.
- Al momento de iniciar a Eclipse se te cuestiona por el workspace. Un workspace es un directorio donde residirán
tus proyectos. Puedes acceder a Window > Preferences > General > Startup and Shutdown > Workspaces para configurar
los workspaces. Sugiero definir el directorio
$HOME/www/eclipse/jee
como Workspace, crealo de ser necesario.
Apache Tomcat
Crea el directorio $HOME/www/eclipse/tomcat
y en él instala a Apache Tomcat:
alumno@servidor:~ $ mkdir $HOME/www/eclipse/tomcat
alumno@servidor:~ $ cd $HOME/www/eclipse/tomcat
alumno@servidor:~/www/eclipse/tomcat $ wget -c http://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5.34.zip
alumno@servidor:~/www/eclipse/tomcat $ unzip apache-tomcat-8.5.34.zip
En este caso el directorio de instalación de Apache Tomcat es $HOME/www/eclipse/tomcat/apache-tomcat-8.5.34
que le será indicado a Eclipse en los siguientes pasos.
OBSERVACIÓN: en el directorio $HOME/www/eclipse/tomcat/
podrás mantener tantas versiones o instancias de Apache Tomcat como
requieras.
Eclipse
Accede a Window > Preferences > Server > Runtime Environments y da click al botón Add.
Ante la ventana New Server Runtime Environment, selecciona bajo el nodo Apache la opción Apache Tomcat v8.5, desactiva la opción Create a new local server y da click al botón Next.
Ante la ventana Tomcat Server ingresa apache-tomcat-8.5.34 en el campo Name y en el campo Tomcat installation directory el directorio de instalación de Apache Tomcat, en este caso
$HOME/www/eclipse/tomcat/apache-tomcat-8.5.34
, y da click al botón Finish. Regresarás a la ventana Preferences, da click al botón OK para cerrarla.Accede a Window > Show Views > Servers, lo que resaltará a la pestaña con título Servers. Da click sobre No servers are available. Click this link to create a new server.
Ante la ventana Define a New Server selecciona bajo el nodo Apache la opción Apache Tomcat v8.5, rellena los campos con la siguiente información:
- Server's host name: localhost
- Server name: apache-tomcat-8.5.34
- Server runtime environment: apache-tomcat-8.5.34
Observa que los datos dependen de lo hecho en el paso 3.
Accede a Window > Show Views > Servers, da click derecho sobre el servidor recien creado apache-tomcat-8.5.34 y accede a Properties.
Ante la ventana Properties for apache-tomcat-8.5.34 da click una sola vez sobre el botón Switch Location a un costado de Location, da click al botón Apply y finalmente al botón OK para cerrar la ventana.
Accede a Window > Show Views > Project Explorer y abre, dando doble click izquierdo, el nodo Servers > apache-tomcat-8.5.34.server, selecciona la opción Use Tomcat installation (takes control of Tomcat installation), cierra la pestaña, se te preguntará si quieres guardar los cambios, da click en YES.
Observación: en esta misma sección puede llevarse a cabo la modificado el puerto TCP usado por Apache Tomcat 8080 (default).
Inicia a Apache Tomcat accediendo a Window > Show Views > Servers, da click derecho sobre el servidor apache-tomcat-8.5.34 y da click sobre Start.
Recordatorio: Apache Tomcat por default está configurado para ocupar el puerto TCP 8080 por lo que no debe existir algún otro proceso ocupando dicho puerto TCP.
Accede con el navegador web a http://127.0.0.1:8080 y obtendrás el mensaje If you're seeing this, you've successfully installed Tomcat. Congratulations! lo cual se interpretará como la correcta ejecución de Apache Tomcat por parte de Eclipse.
Deten a Apache Tomcat accediendo a Window > Show Views > Servers, da click derecho sobre el servidor apache-tomcat-8.5.34 y selecciona Stop.
OBSERVACIONES:
- El paso 9 realizado sería similar a la ejecución del comando
sh catalina.sh start
en la línea de comandos. - El paso 11 realizado sería similar a la ejecución del comando
sh catalina.sh stop
en la línea de comandos.