Cómo instalar Tomcat 9 en Debian 11 Bullseye

En este artículo veremos cómo instalar Tomcat 9 en Debian 11 Bullseye, de forma que puedas desplegar aplicaciones de servidor realizadas en Java (o servlets) sobre tu servidor o VPS Debian.

Antes de instalar Tomcat 9 en Debian 11 Bullseye

Para poder seguir los pasos de esta guía de instalación de Tomcat 9 en Debian 11 Bullseye será necesario partir del siguiente escenario:

  • Una máquina Debian 11 Bullseye actualizada.
  • Un usuario con permisos de sudo.
  • Conexión a Internet.
  • Opcionalmente, otras máquinas en red desde las que probar el servicio.

Como seguramente ya tienes listo el entorno, es hora de regular la altura del escritorio y abrir una terminal.

Cómo instalar Tomcat 9 en Debian 11 Bullseye

Vamos a instalar Tomcat 9 en Debian 11 Bullseye utilizando los paquetes disponibles en los repositorios del sistema, ya que contienen versiones bastante actualizadas. Por ello, el primer paso será actualizar la información de las listas de paquetes:

~$ sudo apt update

E instalamos los paquetes necesarios con apt:

~$ sudo apt install -y tomcat9 tomcat9-admin

Tras la descarga e instalación de Tomcat 9 y sus dependencias se crea un nuevo servicio en Debian 11, el servicio tomcat9.service o tomcat9 simplemente, que queda en ejecución y habilitado para iniciar automáticamente.

Podemos comprobar el estado del servicio con el comando systemctl status tomcat9:

como instalar tomcat 9 en debian 11 bullseye

Configuración del firewall

Si quieres acceder al servicio Tomcat 9 desde red y tienes activado el firewall UFW de Debian 11 será necesario añadir las correspondientes reglas.

Para el protocolo estándar HTTP:

~$ sudo ufw allow 8080/tcp

Y si quieres ofrecer conexiones seguras, para el protocolo HTTPS:

~$ sudo ufw allow 8443/tcp

Acceso a Tomcat 9

Para acceder a Tomcat 9 desde el navegador habrá que indicar la dirección del servidor Debian 11 (IP, nombre DNS, dominio, localhost si se trata de conexión local, etc.) añadiendo el puerto del protocolo HTTP, el puerto 8080. Inicialmente no está disponible la versión segura mediante HTTPS.

Por ejemplo, la máquina Debian 11 que hemos usado para redactar este tutorial es accesible en el subdominio debian11.local.lan, así que emplearemos http://debian11.local.lan:8080 como URL.

instalar tomcat 9 en debian 11 bullseye

No se trata de la interfaz web más espectacular de la historia, pero al menos demuestra el funcionamiento de Tomcat 9 en nuestra máquina Debian 11 y ofrece enlaces hacia las aplicaciones administrativas, documentación local y ejemplos.

Cómo configurar Tomcat 9 en Debian 11 Bullseye

Vamos a configurar Tomcat 9 en Debian 11 realizando algunos pequeños ajustes, ya que aunque el servicio funciona perfectamente, sin embargo algunas características no están disponibles por defecto.

Conexiones seguras vía HTTPS

Este paso es opcional en muchos casos, pero prácticamente obligatorio si ofreces el servicio desde Internet. Para cifrar las conexiones se necesitan archivos de clave y certificados debiendo estar firmados por autoridades certificadoras en el caso de sitios en Internet. Podemos obtener este tipo de certificado mediante servicios profesionales como Namecheap:

SSL Certificate for just $8.88 with Namecheap

Si se trata de un servicio en pruebas, red local, etc. puede bastarnos con un certificado autofirmado creado por nosotros mismos.

Para ello creamos el directorio donde guardaremos el almacén de claves:

~$ sudo mkdir /etc/keys

Creamos el certificado con la herramienta keytool indicando, entre otros parámetros, un alias para dicho certificado y el almacén donde guardarlo:

~$ sudo keytool -genkey -alias tomcat9 -keyalg RSA -storetype PKCS12 -keystore /etc/keys/tomcat9.jks

El comando anterior es interactivo, de modo que solicitará la creación de una contraseña para el almacén de claves (en este ejemplo se trata de un almacén nuevo).

También pedirá información pública para incorporarla al certificado, siendo especialmente importante el nombre de organización, que debería coincidir con el dominio del servidor Debian 11 utilizado para conectar a Tomcat 9:

...
¿Cuál es el nombre de su organización?
  [Unknown]:  debian11.local.lan
...

Con el certificado creado o instalado, editamos la configuración del servicio en el archivo server.xml:

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

Dentro del bloque Service llamado «Catalina» añadiremos una directiva Connector para las conexiones seguras:

...
  <Service name="Catalina">
...
        <Connector port="8443" maxThreads="150" scheme="https" secure="true"
                SSLEnabled="true" keystoreFile="/etc/keys/tomcat9.jks"
                keystorePass="XXXXXXXX" clientAuth="false" keyAlias="tomcat9"
                sslProtocol="TLS" />
...
  </Service>
...

Hemos indicado el puerto, el protocolo, el almacén de claves, la contraseña del mismo y el alias del certificado que queremos usar, entre otros datos.

Guardamos los cambios y reiniciamos el servicio:

~$ sudo systemctl restart tomcat9

Ya podemos probar la versión segura del servicio Tomcat 9, usando HTTPS y cambiando el puerto.

Siguiendo con el ejemplo de este tutorial, ahora sería https://debian11.local.lan:8443 la nueva URL.

En el caso de usar certificados autofirmados, el navegador mostrará un aviso sobre la imposibilidad de comprobar la autenticidad de dichos certificados:

como configurar tomcat 9 en debian 11 bullseye

Normalmente el navegador permitirá de alguna forma continuar con la conexión.

tomcat 9 en debian 11 bullseye

El contenido es el mismo, pero las conexiones serán seguras a partir de este momento.

Usuarios de Tomcat 9

Las aplicaciones administrativas de Tomcat 9 requieren autenticación mediante usuario y contraseña, pero por defecto la versión para Debian 11 no ofrece usuarios.

Los crearemos editando el archivo tomcat-users.xml:

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

Dentro del bloque tomcat-users añadiremos una directiva user:

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

En este caso hemos creado un único usuario con los dos roles que se necesitan, manager-gui para la aplicación /manager y admin-gui para la aplicación /host-manager.

Una vez guardado este archivo ya podemos acceder a dichas aplicaciones.

Acceso a las aplicaciones administrativas

Desde la página principal del servicio podemos acceder a la aplicación /manager, requiriéndose usuario y contraseña:

usuarios de tomcat 9 en debian 11 bullseye

Una vez comprobadas las credenciales se mostrará la página de esta aplicación, el «Gestor de Aplicaciones Web de Tomcat«:

aplicaciones de tomcat 9 en debian 11 bullseye

Igualmente, desde la página inicial podemos abrir la aplicación /host-manager, que también necesitará autenticación al tratarse de una aplicación independiente de la anterior, mostrándose el «Gestor de Máquina Virtual de Tomcat«:

Cómo desplegar aplicaciones desde archivos WAR en Tomcat 9 para Debian 11

Si tienes una aplicación en formato WAR (en un archivo con extensión .war) lista para desplegar en el servicio Tomcat 9 de tu máquina Debian 11, tendrás que abrir la aplicación /manager o «Gestor de Aplicaciones web de Tomcat«.

En la sección «Desplegar» usaremos el control de selección de archivos de «Archivo WAR a desplegar» para localizar el archivo .war de nuestra aplicación.

desplegar aplicaciones en tomcat 9 para debian 11 bullseye

Cuando tengamos seleccionado el archivo lo cargaremos con el botón «Desplegar«. Tras unos instantes volverá a cargar la página del gestor de aplicaciones, mostrando (si todo ha ido bien) «Ok» en «Mensaje» y la nueva aplicación en la lista:

aplicaciones war en tomcat 9 para debian 11 bullseye

En la lista disponemos de controles para administrar la aplicación recién instalada. Si queremos ver la aplicación en funcionamiento podemos abrir el enlace que aparece en la primera columna.

servlets en tomcat 9 para debian 11 bullseye

¡Funciona perfectamente!

Conclusión

Ahora que sabes cómo instalar Tomcat 9 en Debian 11 Bullseye ya puedes servir aplicaciones Java o servlets tanto de terceros como tus propios desarrollos, con la posibilidad de utilizar conexiones seguras para tus usuarios.

Si tienes alguna duda, pregunta, sugerencia, notificación, etc. puedes dejar un comentario. Los comentarios están moderados para evitar el molesto SPAM, pero se revisan prácticamente a diario.

Y si este pequeño tutorial te ha servido y quieres agradecérnoslo, puedes contribuir mínimamente al mantenimiento en línea de este sitio y la creación de más y mejores guías y tutoriales.

Puedes ayudarnos dejando una propina a partir de 1 $ desde PayPal:

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

¡Gracias!

Deja un comentario

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies