Cómo instalar Apache Tomcat con Nginx Reverse Proxy en Ubuntu 24.04

Apache Tomcat o «Tomcat» es un contenedor de Servlets Java gratuito y de código abierto para código y aplicaciones Java. Proporciona un entorno de servidor HTTP «Java puro» donde puede ejecutarse código Java. Tomcat también implementa las tecnologías JavaServer Pages, Java Expression Language y WebSocket. Admite SSL para proteger datos sensibles, como la autenticación.

Esta guía te enseñará a instalar Apache Tomcat en un servidor Ubuntu 24.04. Instalarás Apache Tomcat 10 con el OpenJDK 21 de Java y, a continuación, instalarás y configurarás Nginx como proxy inverso.

Requisitos previos

Antes de continuar, asegúrate de que tienes

  • Un servidor Ubuntu 24.04.
  • Un usuario no root con privilegios de administrador.

Instalación de Java OpenJDK

Antes de instalar Apache Tomcat, debes asegurarte de que Java está instalado. La última versión de Apache Tomcat 10 requiere al menos Java 11 o posterior. En esta sección, instalarás Java OpenJDK 21 desde el repositorio oficial de Ubuntu.

Para empezar, actualiza el índice de paquetes de Ubuntu con el siguiente comando.

sudo apt update

actualizar repo

Ahora instala el Java OpenJDK con el siguiente comando. En Ubuntu 24.04, el ‘default-jdk’ se refiere al OpenJDK 21, que es la versión LTS de Java.

sudo apt install default-jdk

Introduce Y para proceder a la instalación.

instalar java

Una vez finalizada la instalación, comprueba la versión de Java mediante el siguiente comando. Deberías ver que Java OpenJDK 21 está instalado en tu servidor Ubuntu.

java --version

comprobar java

Instalación de Apache Tomcat 10

Apache Tomcat 10 está disponible por defecto en el repositorio de Ubuntu en la última versión de Ubuntu. Esto te permite instalar Tomcat fácilmente utilizando el gestor de paquetes APT.

En primer lugar, comprueba la información del paquete‘tomcat10‘ con el siguiente comando.

sudo apt info tomcat10

Lo siguiente muestra que Apache Tomcat 10.1. 16 está disponible en el repositorio de Ubuntu‘universe/java‘.

info paquete tomcat10

Ahora instala Apache Tomcat en tu sistema Ubuntu con el comando siguiente. Con este comando, también instalarás las aplicaciones web de administración de Tomcat, las herramientas para crear usuarios y ejemplos de aplicaciones web de Tomcat.

sudo apt install tomcat10 tomcat10-common tomcat10-admin tomcat10-user tomcat10-examples

Introduce Y para confirmar la instalación.

instalación de apache tomcat

El servicio ‘tomcat10’ se creará cuando finalice la instalación.

Comprueba el estado del servicio «tomcat10» con el siguiente comando:

sudo systemctl is-enabled tomcat10
sudo systemctl status tomcat10

A continuación puedes ver que el servicio «tomcat10» está activado y activo (en ejecución). El servicio «tomcat10» se iniciará automáticamente al arrancar.

comprueba el servicio tomcat

Ahora ejecuta el siguiente comando para comprobar el puerto 8080 de Apache Tomcat. Si Tomcat se está ejecutando, verás que la aplicación Java utiliza el puerto 8080.

ss -tulpn

comprueba el puerto tomcat

Por último, visita http://192.168.5.30:8080/ utilizando tu navegador web y verás la página de índice por defecto de Apache Tomcat como la siguiente:

índice tomcat

Configurar la autenticación de Apache Tomcat

En esta sección, configurarás la autenticación básica y permitirás el acceso al gestor y al administrador del host Tomcat. Habilitarás la autenticación básica de Tomcat editando el archivo ‘tomcat-users.xml’ y, a continuación, permitiendo el acceso tanto al host-manager como al manager de Tomcat a través del paquete ‘tomcat10-admin’.

Abre la configuración de usuarios de Tomcat ‘/etc/tomcat10/tomcat-users. xml’ utilizando el editor nano.

sudo nano /etc/tomcat10/tomcat-users.xml

Inserta la siguiente configuración entre ‘<tomcat-users…> …. </tomcat-users>’. En este ejemplo, crearás el usuario‘admin‘ de Apache Tomcat con la contraseña‘tomcatadmin‘ y varios roles, entre ellos ‘admin-gui’ y ‘manager-gui’.

<tomcat-users>

<!–
user: admin pass: tomcatadmin
–>
<role rolename=»manager-gui»/>
<role rolename=»manager-script»/>
<role rolename=»manager-jmx»/>
<role rolename=»manager-status»/>
<role rolename=»admin-gui»/>
<role rolename=»admin-script»/>
<user username=»admin» password=»tomcatadmin» roles=»manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script»/>

</tomcat-users>

When finished, save and exit the file.

Ahora abre la configuración para el Tomcat ‘host-manager‘ y‘manager‘ con el comando editor nano que aparece a continuación.

sudo nano /usr/share/tomcat10-admin/host-manager/META-INF/context.xml
sudo nano /usr/share/tomcat10-admin/manager/META-INF/context.xml

Comenta la siguiente configuración añadiendo‘<!– … –>’. Con esto, permitirás el acceso remoto al ‘host-manager‘ y almanager’ de Apache Tomcat.

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

Guarda y sal del archivo.

Después de editarlo, ejecuta el siguiente comando para reiniciar el servicio ‘tomcat10’ y aplicar los nuevos cambios a tu instalación de Apache Tomcat.

sudo systemctl restart tomcat10

Por último, visita http://192.168.5.30:8080/host-manager/ para acceder al gestor de hosts virtuales de Apache Tomcat y http://192.168.5.30:8080/manager/ para el gestor de Tomcat.

Escribe el usuario«admin» y la contraseña«tomcatadmin» cuando se te solicite.

iniciar sesión en apache tomcat

Si la autenticación se realiza correctamente, deberías obtener la página del gestor de host y del gestor de Apache Tomcat como la siguiente:

Gestor de Apache Tomcat.

gestor tomcat

Gestor de host de Apache Tomcat.

gestor tomcat

Configurar Nginx como proxy inverso

En esta guía, instalarás el servidor web Nginx y lo configurarás como proxy inverso para tu instalación de Apache Tomcat. Utilizando un proxy inverso, podrás acceder fácilmente a tu aplicación Tomcat a través de tu nombre de dominio local.

Para instalar el servidor web Nginx en tu Ubuntu, ejecuta lo siguiente:

sudo apt install nginx -y

instalar nginx

Cuando finalice la instalación, crea una nueva configuración de bloque de servidor‘/etc/nginx/sites-available/tomcat10‘ que se utilizará como proxy inverso para Apache Tomcat.

sudo nano /etc/nginx/sites-available/tomcat10

Añade la configuración que aparece a continuación y cambia tu nombre de dominio local utilizando la opción nombre_servidor.

server {
 listen 80;

server_name tomcat10.hwdomain.io;
access_log /var/log/nginx/tomcat-access.log;
error_log /var/log/nginx/tomcat-error.log;

location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080/;
}
}

Guarda y sal del archivo cuando hayas terminado.

Ahora ejecuta el siguiente comando para activar la configuración del bloque de servidor ‘tomcat10’ y prueba tu sintaxis Nginx.

sudo ln -s /etc/nginx/sites-available/tomcat10 /etc/nginx/sites-enabled/
sudo nginx -t

Si la sintaxis de Nginx es correcta y adecuada, verás una salida‘syntax is ok … test is successful‘.

nginx proxy inverso tomcat

A continuación, ejecuta el siguiente comando para reiniciar el servicio Nginx y aplicar el bloque de servidor ‘tomcat10’. A continuación, comprueba el estado del servicio Nginx para asegurarte de que se está ejecutando.

sudo systemctl restart nginx
sudo systemctl status nginx

La salida siguiente muestra que el servidor web Nginx se está ejecutando. Y puedes acceder a tu instalación de Apache Tomcat utilizando un nombre de dominio como ‘tomcat10.hwdomain.io‘.

comprobar servicio nginx

Puedes añadir la siguiente configuración al archivo ‘hosts’ de tu máquina local. Para los usuarios de Linux o Mac, añade lo siguiente al archivo ‘/etc/hosts‘. En cuanto a los usuarios de Windows, añade la siguiente configuración al archivo ‘C:\Windows\System32\drivers\etc\hosts‘.

192.168.5.30 tomcat10.hwdomain.io

Por último, visita http://tomcat10.hwdomain.io utilizando tu navegador web. Si la instalación del proxy inverso Nginx se ha realizado correctamente, verás la página de índice de Apache Tomcat como la siguiente:

índice tomcat

Visita http://tomcat10.hwdomain.io/host-manager/ para acceder al host-manager de Apache Tomcat y http://tomcat10.hwdomain.io/manager/ para acceder al manager de Apache Tomcat. Verás que ambas aplicaciones se ejecutan bajo el proxy inverso Nginx.

Conclusión

¡Enhorabuena! Has instalado con éxito Apache Tomcat en el servidor Ubuntu 24.04. Has instalado Tomcat 10 con el OpenJDK 21 de Java en Ubuntu. Además, has instalado y configurado Nginx como proxy inverso para Apache Tomcat.

También te podría gustar...