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.
Contenido
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:
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.24/bin/apache-tomcat-10.1.24.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.24.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.24/ /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:
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:
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:
Una vez introducido el usuario y contraseña creados en pasos anteriores se mostrará la página de la aplicación:
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:
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:
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!
Actualizado a la versión 10.1.24.
Actualizado a la versión 10.1.23.
Actualizado a la versión 10.1.20.
Actualizado a la versión 10.0.27.
Actualizado a la versión 10.0.23.
Actualizado a la versión 10.0.22.
Actualizado a la versión 10.0.20.
Actualizado a la versión 10.0.17.
Actualizado a la versión 10.0.16.
Actualizado a la versión 10.0.13.
Muy buen tutorial. Muchas gracias.
¡De nada, Enrique!
Seguí los pasos de acuerdo con lo explicado, y pude conectar el servidor Tomcat. Gracias.
Actualizado a la versión 10.0.12.