Cómo instalar Tomcat 9 en Ubuntu 18.04 LTS

En esta entrada vamos a ver cómo instalar Tomcat 9 en Ubuntu 18.04 LTS Bionic Beaver paso a paso, con lo que al final de este tutorial podrás servir tus propias aplicaciones Java desde tu servidor o VPS Ubuntu.

Antes de instalar Tomcat 9 en Ubuntu 18.04 LTS

Para poder seguir con éxito esta guía de instalación de Tomcat 9 en Ubuntu 18.04 necesitas partir de estos mínimos requerimientos:

  • Una máquina Ubuntu 18.04 actualizada.
  • Un usuario con permisos de sudo.
  • Conexión a Internet.

Tomcat 9 funciona perfectamente con las versiones 8 y 11 de Java OpenJDK de Ubuntu 18.04, de modo que si tenemos cualquiera de las dos instaladas las aceptará sin problema, y si no tenemos entorno de Java se instalará Java OpenJDK 11. Si quieres saber más sobre esto quizás te interese consultar la guía de instalación de Java en Ubuntu 18.04.

Cómo instalar Tomcat 9 en Ubuntu 18.04

Vamos a instalar Tomcat 9 en Ubuntu 18.04 desde los repositorios de la propia distribución, ya que los paquetes disponibles nos ofrecen la versión 9.0.16, mientras que en la web oficial la última versión que se ofrece es la 9.0.62 (en el momento de actualizar esta guía).

Por tanto, el primer paso, como de costumbre, es actualizar la información de las listas de paquetes de los repositorios:

~$ sudo apt update

Puede ser interesante, aunque opcional, aprovechar para actualizar los paquetes ya instalados:

~$ sudo apt upgrade -y

El paquete que buscamos es tomcat9, así que usaremos el comando apt para instalarlo:

~$ sudo apt install -y tomcat9

Tras la descarga e instalación del paquete tomcat9 y de todas sus dependencias, se crea un nuevo servicio en nuestro sistema Ubuntu 18.04, llamado tomcat9.service, aunque también puedes usar la versión corta del nombre, tomcat9.

El servicio tomcat9 se inicia inmediatamente tras la instalación, y se habilita para su inicio automático con el arranque de Ubuntu 18.04. Podemos comprobar el estado del servicio con el comando systemctl status tomcat9:

como instalar tomcat 9 en ubuntu 18.04 lts bionic beaver

Esta comprobación está muy bien, pero seguramente quieres ver algo más tangible.

Configurar el firewall UFW para Tomcat 9 en Ubuntu 18.04

Si tienes activado el firewall UFW estará bloqueando las conexiones externas, así que si quieres acceder desde otra máquina de la red al servicio Tomcat 9 de tu sistema Ubuntu 18.04 tendrás que añadir una excepción. Como el servicio tomcat9 escucha conexiones en el puerto 8080 TCP añadiremos esta regla para UFW:

~$ sudo ufw allow 8080/tcp

Conectar a Tomcat 9 en Ubuntu 18.04

Vamos a usar el navegador para conectar con el servidor Tomcat 9, para ello basta con usar como URL la dirección IP o nombre de máquina del sistema Ubuntu 18.04 especificando el puerto 8080. Por ejemplo, la máquina sobre la que se prueba esta guía responde al dominio ubuntu64.local.lan, así que http://ubuntu64.local.lan:8080/ sería una URL válida:

instalar tomcat 9 en ubuntu 18.04 lts bionic beaver

Realmente no es un resultado muy impresionante, pero esta página nos informa de que Tomcat 9 está funcionando como se espera.

Otra cosa que podemos ver es enlaces a la documentación local, a las aplicaciones de ejemplo y a los administradores de aplicaciones y del servidor. Sin embargo, ninguno de estos enlaces nos llevará a ningún sitio, ya que cada una de estas funcionalidades se instala con su propio paquete:

  • tomcat9-docs: Documentación local.
  • tomcat9-examples: Ejemplos.
  • tomcat9-admin: Administración de aplicaciones.

Si te interesa alguna de estas funcionalidades basta con instalar el paquete correspondiente. Por ejemplo, podemos instalar los tres paquetes:

~$ sudo apt install -y tomcat9-docs tomcat9-examples tomcat9-admin

Nada más terminar de instalar estos paquetes las funcionalidades correspondientes estarán disponibles.

Por ejemplo, estaría disponible localmente toda la documentación de Tomcat 9 visitando el correspondiente enlace:

instalacion de tomcat 9 en ubuntu 18.04 lts bionic beaver

Igualmente se encuentran disponibles toda una serie de ejemplos de aplicaciones o servlets, páginas JSP, aplicaciones WebSocket, etc., con las que podremos ver Tomcat 9 en acción:

tomcat 9 para ubuntu 18.04 lts bionic beaver

Por último también podremos acceder desde sus enlaces a la administración de las aplicaciones y del servidor Tomcat 9, pero es necesario identificarse como usuario:

instalando tomcat 9 en ubuntu 18.04 lts bionic beaver

A continuación veremos cómo crear usuarios para administrar Tomcat 9.

Cómo configurar Tomcat 9 en Ubuntu 18.04

En el momento de configurar Tomcat 9 en Ubuntu 18.04 debemos saber que el directorio de configuración está en la ruta /etc/tomcat9/.

Cambiar el puerto de conexión de Tomcat 9

Para cambiar el puerto de conexión de Tomcat 9 en Ubuntu 18.04 debemos editar el archivo server.xml:

~$ sudo nano /etc/tomcat9/server.xml

Buscaremos la directiva Connector port:

...
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
...

Vemos que tiene el valor por defecto, 8080. Podemos cambiarlo por el valor que necesitemos (siempre que el puerto esté libre en el sistema). Por ejemplo, si no hay un servicio web que lo utilice, podríamos usar el puerto 80, que es el puerto HTTP estándar, de modo que al conectar a Tomcat 9 no habría que indicar el puerto de conexión en el navegador:

...
    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
...

En el caso de usar otros valores sí que habría que indicar el puerto escogido al conectar desde un navegador.

Sea como sea, guardados los cambios y cerrado el archivo, habrá que reiniciar el servicio Tomcat 9 para aplicar este ajuste:

~$ sudo systemctl restart tomcat9

No olvides actualizar la configuración del firewall si lo tienes activado y quieres permitir conexiones externas.

Durante el resto del tutorial usaremos el puerto por defecto de Tomcat 9, es decir, el 8080.

Cómo crear administradores

Por defecto no se incluyen usuarios en la instalación de Tomcat 9 en Ubuntu 18.04, así que debemos crearlos. El archivo /etc/tomcat9/tomcat-users.xml es el responsable de gestionar los usuarios de Tomcat 9.

La forma en que funcionan los usuarios en Tomcat 9 es mediante roles, que determinan las capacidades del usuario que los tiene asignados.

Para administrar aplicaciones es necesario el rol manager-gui, mientras que para administrar el servidor el rol que se necesita es admin-gui. Podemos crear dos usuarios distintos, cada uno con un rol, o podemos crear un único usuario con ambos roles. En este ejemplo optaremos por la segunda opción, pero en tu caso puedes hacerlo de la forma que más te convenga.

Vamos a editar el archivo tomcat-users.xml:

~$ sudo nano /etc/tomcat9/tomcat-users.xml

Si examinas detenidamente el contenido del archivo, verás que se trata de un bloque <tomcat-users> vacío, ya que sólo contiene comentarios.

Dentro del bloque definiremos los roles que nos interesan mediante directivas role:

...
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
...

Con la directiva user definiremos el usuario o usuarios que necesitemos, indicando nombre, contraseña y roles:

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

No es recomendable usar admin como nombre de administrador, por razones obvias.

Un buen sitio para colocar estas definiciones es justo antes del cierre del bloque tomcat-users, después de los comentarios:

...

        <role rolename="manager-gui"/>
        <role rolename="admin-gui"/>
        <user username="usuario" password="XXXXXXXX" roles="manager-gui,admin-gui"/>
</tomcat-users>

Guardamos los cambios y cerramos el archivo.

No es necesario reiniciar o recargar la configuración del servicio tomcat9, podemos acceder directamente al gestor de aplicaciones web de Tomcat 9 facilitando el usuario y contraseña que acabamos de crear:

tomcat 9 en ubuntu 18.04 lts bionic beaver

Desde esta página podremos detener e iniciar las aplicaciones, borrar datos, desplegar nuevas aplicaciones, etc.

Igualmente ya podemos acceder también al administrador del servidor Tomcat 9:

como configurar tomcat 9 en ubuntu 18.04 lts bionic beaver

Desde aquí podremos crear máquinas virtuales de Tomcat 9 en nuestro servidor Ubuntu 18.04 y gestionarlas.

Cómo cambiar el límite de tamaño de los archivos WAR

Tomcat 9 para Ubuntu 18.04 presenta un límite por defecto de 50 MB en el tamaño de los archivos WAR que podemos cargar para desplegar aplicaciones. Si el archivo WAR de tu aplicación supera ese tamaño no podrás desplegar la aplicación, así que habrá que realizar el ajuste correspondiente en la aplicación manager/, editando su archivo web.xml:

~$ sudo nano /usr/share/tomcat9-admin/manager/WEB-INF/web.xml

Buscamos la siguiente sección:

...
    <multipart-config>
      <!-- 50MB max -->
      <max-file-size>52428800</max-file-size>
      <max-request-size>52428800</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
...

Y cambiamos el valor por defecto de 50 MB (expresado en bytes) por el nuevo valor. Por ejemplo, para 150 MB indicaríamos el valor 157286400:

...
    <multipart-config>
      <!-- 150MB max -->
      <max-file-size>157286400</max-file-size>
      <max-request-size>157286400</max-request-size>
      <file-size-threshold>0</file-size-threshold>
    </multipart-config>
...

Los cambios quedan aplicados de inmediato, tras guardar el archivo, aunque conviene refrescar la página del gestor de aplicaciones.

Cómo desplegar una aplicación web a partir de un archivo WAR

Para comprobar que nuestro servicio Tomcat 9 en Ubuntu 18.04 es capaz de desplegar aplicaciones web a partir de arhivos .war, accederemos al administrador de aplicaciones de Tomcat 9 y en la sección «Desplegar«, en la caja «Archivo WAR a desplegar» seleccionaremos el archivo WAR que hemos generado o descargado con el botón «Seleccionar archivo«.

Si no tienes ningún archivo WAR a mano puedes descargar una sencilla aplicación de prueba.

configurar tomcat 9 en ubuntu 18.04 lts bionic beaver

Una vez seleccionado el archivo .war pulsaremos el botón «Desplegar» y el administrador de aplicaciones cargará el archivo en el servidor y lo desplegará.

Se recargará la página del administrador de aplicaciones y veremos al principio de la misma un escueto mensaje «OK» y en la lista de aplicaciones un enlace a la nueva aplicación desplegada:

instalar apache tomcat 9 en ubuntu 18.04 lts bionic beaver

Siguiendo el enlace (en una nueva pestaña en este ejemplo) se abrirá la nueva aplicación:

Puedes «replegar» o desinstalar esta aplicación web desde el administrador de aplicaciones, usando su correspondiente botón «Replegar«. La aplicación desaparecerá de la lista.

Conclusión

Ya sabes cómo instalar y configurar Tomcat 9 en Ubuntu 18.04 LTS Bionic Beaver, por lo que tu servidor o VPS Ubuntu está listo para alojar potentes aplicaciones corporativas o tus propios desarrollos. La instalación del servidor es sencilla desde el repositorio de Ubuntu y se irá actualizando en el futuro.

En caso de que tengas alguna duda, pregunta, sugerencia o notificación puedes dejar un comentario.

¡Apoya este sitio!

¿Definitivamente te ha resultado de utilidad esta guía de instalación de Tomcat 9 en Ubuntu 18.04 LTS Bionic Beaver? Si ha sido así y quieres expresar tu agradecimiento de alguna forma, cualquier mínima contribución con el mantenimiento de este sitio es bienvenida.

Puedes ayudarnos dejando a partir de 1 $ de propina en PayPal:

O, si te sientes especialmente generoso, puedes invitarnos a un café:

¡Gracias!

Valora esta entrada

5/5 - (2 votos)

6 comentarios en «Cómo instalar Tomcat 9 en Ubuntu 18.04 LTS»

  1. Hola.

    ¡Gracias por la información! Agradeceré que puedan indicarme cómo instalar el módulo mod-jk y cómo interconectar Apache 2 con Tomcat. Gracias.

    Responder
  2. Seguí todos los pasos, pero cuando quiero montar un archivo «war» me sale:

    «La conexión con el servidor fue restablecida mientras se cargaba la página.»

    Tengo el firewall de firefox desactivado (sin proxy).

    Responder
    • ¡Hola, Fernando! ¿Es posible que tu archivo .war supere los 50 MB de tamaño? Si es así debes configurar el gestor de aplicaciones para que permita un tamaño mayor. Acabo de actualizar el tutorial para incluir precisamente ese tipo de ajuste, espero que te sirva.

      Responder
  3. Por favor, agregar comentarios sobre el cambio de puerto, ya que muchas aplicaciones utilizan el puerto 8080, sería importante mencionar cómo hacer este cambio y cómo reinicar el Tomcat luego de cambiar el puerto.

    Gracias

    Responder

Deja un comentario