Apache Tomcat 9, instalación y configuración básica en Ubuntu 18.04
Apache Tomcat 9, instalación y configuración básica en Ubuntu 18.04

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Este post lo voy a dejar colgado por que estoy inmerso en la prueba de unas “cosillas” que he programado. Para realizar estas pruebas he tenido que instalar Apache Tomcat 9 en mi equipo, y ya puesto, pues dejo el artículo de rigor de cómo he realizado la instalación en Ubuntu 18.04.

Como digo, en el siguiente artículo vamos a ver cómo podemos instalar Tomcat 9 en Ubuntu 18.04. Apache Tomcat es una implementación de código abierto de las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket. Es una de las aplicaciones y servidores web más utilizados. Tomcat es fácil de usar y tiene un ecosistema robusto con multitud de complementos.

Instalación de Apache Tomcat 9

Antes de meternos en profundidad con la instalación de Tomcat 9, tendremos que instalar OpenJDK.

Instalar OpenJDK

OpenJDK es la implementación de código abierto de la Plataforma Java. La instalación del paquete OpenJDK en Ubuntu 18.04 es bastante sencilla:

install jdk default apache tomcat 9

sudo apt install default-jdk

Crear usuario de Tomcat

Ahora vamos a crear un nuevo usuario y grupo de sistema con el directorio de inicio /opt/tomcat que ejecutará el servicio de Tomcat:

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Descargar Tomcat

Utilizaremos wget y unzip para descargar y extraer el archivo de Tomcat. Si no tienes estos programas instalados ejecuta el siguiente comando:

sudo apt install unzip wget

Vamos a descargar la última versión de Tomcat 9.0.x de la página de descargas de Tomcat. En el momento de escribir estas líneas, la última versión es 9.0.10. Antes de continuar con el siguiente paso, debes consultar la página de descarga para verificar cual es la última versión.

página de descarga de apache tomcat 9

Cuando tengamos claro cual es el archivo a descargar, nos vamos a mover al directorio /tmp y descargar el archivo zip con wget.

descargar apache tomcat 9

cd /tmp

wget http://apache.rediris.es/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.zip

Una vez que se complete la descarga, extraeremos el archivo zip y lo vamos a mover al directorio /opt/tomcat:

unzip apache-tomcat-*.zip

sudo mv apache-tomcat-*/ /opt/tomcat/

Para tener más control sobre las versiones y actualizaciones, crearemos un enlace simbólico que apuntará al directorio de instalación de Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-* /opt/tomcat/latest

Más adelante, si deseas actualizar tu instalación de Tomcat, puedes desempaquetar la versión más reciente y cambiar el enlace simbólico para que apunte a la última versión.

El usuario de tomcat que configuramos anteriormente necesita tener acceso al directorio de tomcat, por lo que cambiaremos la propiedad del directorio al usuario y grupo de tomcat:

sudo chown -R tomcat: /opt/tomcat

También haremos que los scripts dentro del directorio bin sean ejecutables:

sudo chmod +x /opt/tomcat/latest/bin/*.sh

Crear un archivo de unidad systemd

Para ejecutar Tomcat como un servicio, vamos a crear un nuevo archivo de unidad llamado tomcat.service dentro del directorio /etc/systemd/system/ con el siguiente contenido:

[Unit]
Description=Tomcat 9 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

archivo apache tomcat 9 service

Verificar el servicio Apache Tomcat 9

apache tomcat 9 status

Notificaremos a systemd que creamos un nuevo archivo de unidad e iniciaremos el servicio Tomcat ejecutando:

sudo systemctl daemon-reload

sudo systemctl start tomcat

Se puede verificar el estado del servicio con el siguiente comando:

sudo systemctl status tomcat

Si no hay errores, puedes habilitar el servicio Tomcat para que se inicie automáticamente en el momento del arranque:

sudo systemctl enable tomcat

Ajustar el Firewall

apache tomcat 9 ufw 8080

Si tu equipo o servidor está protegido por un firewall y quieres acceder a la interfaz de tomcat desde el exterior de tu red local, deberás abrir el puerto 8080.

Para permitir el tráfico en el puerto 8080 escribe el siguiente comando:

sudo ufw allow 8080/tcp

Cuando se ejecuta una aplicación Tomcat en un entorno de producción, lo más probable es que tengas un equilibrador de carga o un proxy inverso. Por eso es una buena práctica restringir el acceso al puerto 8080 solo a tu red interna.

Configurar Tomcat Web Manager Interface

Ahora que tenemos Tomcat instalado en nuestro Ubuntu, el siguiente paso es crear un usuario que tenga acceso a la interfaz de administración web. Los usuarios de apache Tomcat 9 y sus roles se definen en el archivo tomcat-users.xml.

Si abres el archivo, verás que está lleno de comentarios y ejemplos que describen cómo configurar el archivo.

sudo vim /opt/tomcat/latest/conf/tomcat-users.xml

archivo apache tomcat 9 users

Para agregar un nuevo usuario que pueda acceder a la interfaz web de tomcat (manager-gui y admin-gui) necesitamos definir el usuario en el archivo tomcat-users.xml como se muestra a continuación. Asegúrate de cambiar el nombre de usuario y la contraseña por algo más seguro:

<tomcat-users>
<!--
    comentarios
-->
   <role rolename="admin-gui"/>
   <role rolename="manager-gui"/>
   <user username="admin" password="admin123" roles="admin-gui,manager-gui"/>
</tomcat-users>

De forma predeterminada, la interfaz de administración web de Tomcat está configurada para permitir el acceso solo desde el host local. Si necesitas acceder a la interfaz web desde una IP remota abre los siguientes archivos y comenta o elimina las líneas marcadas en las capturas:

sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml

archivo host manager context apache tomcat 9

sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

archivo host-manager context apache tomcat 9

Si necesitas acceder a la interfaz web solo desde una IP específica, en lugar de comentar los bloques, agrega tu IP pública a la lista. Digamos que tu IP pública es 22.22.22.22 y quieres permitir el acceso solo desde esa IP:

sudo vim /opt/tomcat/latest/webapps/manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|22.22.22.22" />
</Context>

El otro archivo a editar sería:

sudo vim /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|22.22.22.22" />
</Context>

La lista de direcciones IP permitidas se separan mediante una barra vertical |. Puedes agregar direcciones IP únicas o usar expresiones regulares.

Probar la instalación

Abre tu navegador y escribe: http://tu-dominio-o-ip:8080. Suponiendo que la instalación sea exitosa, aparecerá una pantalla como la siguiente:

pantalla de inicio de apache tomcat 9.0.10

El panel del administrador de aplicaciones web de Tomcat está disponible en http://tu-dominio-o-ip: 8080/manager/html. Desde aquí puede implementar, anular la implementación, iniciar, detener y volver a cargar tus aplicaciones.

administrador de aplicaciones de apache tomcat 9Documentación oficial

El gestor de máquina virtual de Tomcat está disponible en http://tu-dominio-o-ip: 8080/host-manager/html. Desde aquí puede crear, eliminar y administrar hosts virtuales de Tomcat.

gestor de máquinas virtuales de apache tomcat 9

Con esto damos por finalizada con éxito la instalación de Tomcat 9 en tu sistema Ubuntu 18.04.

Puedes visitar la Documentación oficial de Apache Tomcat 9 y obtener más información sobre las características de Apache Tomcat.







¿Qué te ha parecido este post?

¡Haz clic en una estrella para calificarla!

Puntuación media 4.7 / 5. Recuento de votos: 3

¡No hay votos hasta ahora! Sé el primero en calificar esta publicación.

No te pierdas otros artículos ...

¡Síguenos en las redes sociales!

¡Lamentamos que esta publicación no te haya sido útil!

¡Permítanos mejorar esta publicación!

¿Cuéntanos cómo podemos mejorar esta publicación?

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.