Cómo instalar Tomcat 10 en Ubuntu 20.04 LTS

En esta entrada vamos a ver cómo instalar Tomcat 10 en Ubuntu 20.04 LTS Focal Fossa paso a paso, de modo que podremos desplegar aplicaciones Java para servidor ajustadas a las especificaciones de la plataforma Jakarta EE 9, utilizando las capacidades de tu servidor o VPS Ubuntu.

Antes de instalar Tomcat 10 en Ubuntu 20.04 LTS Focal Fossa

Con el fin de poder seguir los pasos de esta guía de instalación de Tomcat 10 en Ubuntu 20.04 LTS Focal Fossa será necesario partir del siguiente escenario:

  • Un sistema Ubuntu 20.04 LTS Focal Fossa actualizado.
  • Entorno de ejecución de Java 11.
  • Acceso a línea de comandos con un usuario con permisos de sudo.
  • Conexión a Internet.

Si no dispones todavía del entorno necesario, es posible que te interese nuestra guía de instalación de Java en Ubuntu 20.04 LTS.

Cómo descargar Tomcat 10 para Ubuntu 20.04 LTS

Vamos a descargar Tomcat 10 para Ubuntu 20.04 LTS Focal Fossa desde la página de descargas del sitio oficial, donde encontraremos la última versión estable:

como descargar tomcat 10 para ubuntu 20.04 lts focal fossa

Encontraremos el paquete en varios formatos, siendo el más interesante para Ubuntu 20.04 el formato .tar.gz, que podremos descargar directamente desde el navegador o, si trabajamos remotamente, desde consola con el comando wget:

~$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.23/bin/apache-tomcat-10.1.23.tar.gz

Cómo instalar Tomcat 10 en Ubuntu 20.04 LTS

Vamos a instalar Tomcat 10 en Ubuntu 20.04 LTS preparando la plataforma como un servicio más que corra en el sistema utilizando su propio usuario y grupo. Para ello, seguiremos los siguientes pasos.

Archivos de la plataforma

Creamos el nuevo usuario tomcat:

~$ sudo useradd -U -m -d /opt/tomcat -k /dev/null -s /bin/false tomcat

A continuación descomprimimos el paquete que acabamos de descargar directamente en su ubicación definitiva:

~$ sudo tar xf apache-tomcat-10.1.23.tar.gz -C /opt/tomcat/

Asignamos como propietario de los archivos de Tomcat 10 el usuario tomcat que hemos creado:

~$ sudo chown -R tomcat: /opt/tomcat/

Como el nombre del directorio de instalación de Tomcat 10 contiene números de versión, podemos crear un enlace simbólico sin números para facilitar la instalación y configuración:

~$ sudo ln -s /opt/tomcat/apache-tomcat-10.1.23/ /opt/tomcat/apache-tomcat

Configurar e iniciar el servicio

Para poder lanzar Tomcat 10 como servicio de Ubuntu 20.04 LTS, creamos un archivo de unidad para Systemd:

~$ sudo nano /etc/systemd/system/tomcat10.service

El contenido será el siguiente:

[Unit]
Description=Tomcat 10.1 servlet container para Ubuntu 20.04 LTS Focal Fossa
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/apache-tomcat"
Environment="CATALINA_HOME=/opt/tomcat/apache-tomcat"
Environment="CATALINA_PID=/opt/tomcat/apache-tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/apache-tomcat/bin/startup.sh
ExecStop=/opt/tomcat/apache-tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

Una vez guardado el archivo, podemos iniciar el servicio con el comando systemctl:

~$ sudo systemctl start tomcat10

Para comprobar el estado del servicio en cualquier momento, usaremos el comando systemctl status tomcat10:

Si queremos que Tomcat 10 inicie automáticamente en cada arranque de Ubuntu 20.04, tendremos que habilitar el servicio:

~$ sudo systemctl enable tomcat10

Firewall

Si tenemos activado el firewall UFW y queremos hacer accesible la plataforma Tomcat 10 desde red, tendremos que añadir la excepción para el puerto correspondiente:

~$ sudo ufw allow 8080/tcp

Cómo acceder a Tomcat 10

Para acceder a Tomcat 10 en Ubuntu 20.04 desde un navegador web indicaremos la dirección del servidor (IP, nombre DNS, dominio, etc.) y el puerto de conexión, el 8080 por defecto.

Por ejemplo, la máquina Ubuntu 20.04 sobre la que hemos preparado este tutorial es accesible en el subdominio ubuntu2004.local.lan, por lo que utilizamos http://ubuntu2004.local.lan:8080 como URL:

instalar tomcat 10 en ubuntu 20.04 lts focal fossa

Cómo configurar Tomcat 10 en Ubuntu 20.04 LTS

Acceso desde red a las aplicaciones administrativas

Acabamos de comprobar cómo es posible acceder a la página principal de Tomcat 10 en el servidor Ubuntu 20.04 desde una máquina en red. Sin embargo, las aplicaciones de administración (aplicaciones /manager y /host-manager) y la de documentación local (aplicación /docs) por defecto sólo son accesibles localmente. Si trabajamos de forma remota es posible que queramos acceder desde red a estas aplicaciones, por lo que si ese es el caso realizaremos ciertos ajustes en el archivo context.xml de cada aplicación.

Editamos el archivo context.xml de la aplicación /docs (documentación local):

~$ sudo nano /opt/tomcat/apache-tomcat/webapps/docs/META-INF/context.xml

Buscamos la siguiente sección dentro del bloque Context principal:

...
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
...

Y la desactivamos encerrándola dentro de un bloque de comentarios:

...
<!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
...

Guardamos los cambios y ya es posible acceder desde red a la aplicación de documentación:

instalacion de tomcat 10 en ubuntu 20.04 lts focal fossa

Para las aplicaciones administrativas haríamos los mismos cambios en sus respectivos archivos context.xml; por ejemplo, para la aplicación /manager:

~$ sudo nano /opt/tomcat/apache-tomcat/webapps/manager/META-INF/context.xml

Y para la aplicación /host-manager:

~$ sudo nano /opt/tomcat/apache-tomcat/webapps/host-manager/META-INF/context.xml

Usuarios en Tomcat 10

Las aplicaciones administrativas están protegidas mediante control de acceso de usuarios. Por tanto debemos crear un usuario con los roles admin-gui y manager-gui (los requeridos por las aplicaciones administrativas), editando el archivo tomcat-users.xml:

~$ sudo nano /opt/tomcat/apache-tomcat/conf/tomcat-users.xml

Dentro del bloque tomcat-users añadiremos una línea como la siguiente:

...
        <user username="instalador" password="XXXXXXXX" roles="admin-gui,manager-gui"/>
</tomcat-users>

Obviamente, puedes usar el nombre de usuario que desees, puedes crear un usuario para cada rol, etc.

Acceso a las aplicaciones administrativas de Tomcat 10

Desde la página principal de Tomcat 10 tenemos dos enlaces a la aplicación /manager y otro a la aplicación /host-manager. Si, por ejemplo, decidimos entrar en «Server Status» (/manager/status) se mostrará un diálogo de inicio de sesión:

configuracion de tomcat 10 en ubuntu 20.04 lts focal fossa

Una vez introducido el usuario y contraseña creados en pasos anteriores se mostrará la página de la aplicación:

tomcat 10 sobre ubuntu 20.04 lts focal fossa

Si posteriormente visitamos el enlace «Manager App» (/manager/html) desde la página inicial, como en realidad se trata de la misma aplicación, no será necesario iniciar sesión:

tomcat 10 para ubuntu 20.04 lts focal fossa

En cambio, si entramos en «Host Manager» (/host-manager/html) sí habrá que introducir usuario y contraseña, tras lo cual se mostrará la página de la aplicación:

tomcat 10 en ubuntu 20.04 lts focal fossa

Cómo desplegar aplicaciones en Tomcat 10 sobre Ubuntu 20.04

Si disponemos de una aplicación Java de servidor en formato de archivo .war que queremos desplegar, visitaremos el gestor de aplicaciones web de Tomcat 10, «Manager App» (/manager/html).

Buscaremos la sección «Desplegar» y «Archivo WAR a desplegar«, donde a través del botón «Seleccionar archivo» seleccionaremos el archivo .war.

Una vez seleccionado el archivo, desplegaremos la aplicación mediante el botón «Desplegar«.

Se recargará la página del gestor de aplicaciones y, si todo ha ido bien, se mostrará como mensaje «OK» y aparecerá la nueva aplicación en la lista.

Podremos gestionar la nueva aplicación mediante sus correspondientes controles (parar, recargar, replegar, etc.), y también podremos lanzarla desde el enlace mostrado en la lista.

¡Así de fácil!

Conclusión

Ahora que sabes cómo instalar Tomcat 10 en Ubuntu 20.04 LTS Focal Fossa ya puedes desplegar aplicaciones Java de terceros o tus propios desarrollos desde tu servidor o VPS Ubuntu, tanto para red local como a través de Internet.

¡Apoya comoinstalar.me!

Si ya has hecho funcionar Tomcat 10 en tu máquina gracias a esta guía y quieres agradecérmelo, puedes hacerlo dejando una propina de 1 $ desde PayPal:

O, si te sientes especialmente agradecido, puedes invitarme a un cappuccino:

¡Gracias!

Valora esta entrada

4.7/5 - (12 votos)

13 comentarios en «Cómo instalar Tomcat 10 en Ubuntu 20.04 LTS»

Deja un comentario