Instalar Apache Tomcat en Linux


Aprende a descargar e instalar apache tomcat 11 en linux, realiza la primera configuracion

Instalar Apache Tomcat en Linux
oscar Escrito por oscar 01 December 2025 2 0

Apache Tomcat es un servidor de aplicaciones Java ampliamente utilizado para ejecutar aplicaciones web desarrolladas con tecnologías como Servlets, JSP y Spring Boot. Es una de las herramientas más utilizadas en entornos empresariales y educativos debido a su estabilidad, facilidad de configuración y compatibilidad con Java.

En esta guía aprenderás paso a paso cómo instalar Apache Tomcat en Linux utilizando diferentes distribuciones como Ubuntu, Debian, Rocky Linux, AlmaLinux, CentOS y Fedora.

¿Qué es Apache Tomcat?

Apache Tomcat es un contenedor de servlets: Su función principal es ejecutar aplicaciones Java web basadas en:

El sitio oficial de Apache Tomcat es: https://tomcat.apache.org/

Requisitos Previos

Antes de instalar Apache Tomcat necesitas:

Verificar si Java está instalado

Ejecuta el siguiente comando:

java -version

Si Java está instalado verás una salida similar:

openjdk version "21"

Instalar Java en Linux

Si a un no tiene Java, revisa los siguientes posts. Recomiendo las versiones Java 17 en adelante.

Descargar Apache Tomcat

Apache Tomcat puede descargarse directamente desde el sitio oficial.

Puedes consultar las versiones disponibles aquí: https://tomcat.apache.org/whichversion.html.

Para estas prueba de instalación, vamos a trabajar con Apache Tomcat 11 https://tomcat.apache.org/download-11.cgi.

Crear directorio para Tomcat

Vamos a crear un directorio para descargar Apache Tomcat.

sudo mkdir -p /opt/tomcat

Descargar Tomcat desde la terminal

Ejemplo usando Tomcat 11:

cd /tmp

Luego realizamos la descarga

wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.24/bin/apache-tomcat-11.0.24.tar.gz

Extraer archivos

Procedemos a esterar el contenido dento del directorio creado.

sudo tar -xvzf apache-tomcat-10.1.42.tar.gz -C /opt/tomcat --strip-components=1

Crear Usuario para Apache Tomcat

Por seguridad se recomienda ejecutar Tomcat con un usuario dedicado.

sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

Asignar permisos

Procedemos a cambiar el usuario y grupo propietario a directorio donde dejamos tomcat.

sudo chown -R tomcat:tomcat /opt/tomcat

 Cambia el propietario y el grupo propietario de todos los archivos y directorios que se encuentran dentro de /opt/tomcat, asignándolos al usuario tomcat y al grupo tomcat.

sudo chmod -R u+x /opt/tomcat/bin

Dentro del directorio bin se encuentran los scripts que controlan el servidor: como startup.sh, sin el permiso de ejecución 

Configurar Apache Tomcat como Servicio Systemd

Crear un servicio permite iniciar, detener y reiniciar Tomcat fácilmente.

Revisa el posts Introducción a systemd, donde explicamos a detalle sobre Systemd

Crear archivo del servicio

sudo nano /etc/systemd/system/tomcat.service

Agregar el siguiente contenido:

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/default-java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

Recargar systemd

sudo systemctl daemon-reload

Habilitar Tomcat al iniciar

sudo systemctl enable tomcat

Iniciar Apache Tomcat

sudo systemctl start tomcat

Verificar estado del servicio

sudo systemctl status tomcat

Abrir Puerto en el Firewall

Tomcat utiliza por defecto el puerto 8080.

Ubuntu y Debian con UFW

sudo ufw allow 8080/tcp

Rocky Linux, AlmaLinux y CentOS

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

Acceder a Apache Tomcat

Una vez iniciado el servicio puedes acceder desde el navegador usando: http://IP_DEL_SERVIDOR:8080

Ejemplo: http://192.168.1.100:8080

Si todo funciona correctamente aparecerá la página inicial de Apache Tomcat.

Configurar Usuarios Administrativos

Para acceder al panel administrativo debes configurar usuarios.

Editar archivo tomcat-users.xml

sudo nano /opt/tomcat/conf/tomcat-users.xml

Agregar antes de la etiqueta cierre:

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

<user username="admin" password="TuPasswordSeguro" roles="manager-gui,admin-gui"/>

Reiniciar Tomcat

sudo systemctl restart tomcat

Acceso al Panel Administrativo

Manager App: http://IP_DEL_SERVIDOR:8080/manager/html

Host Manager: http://IP_DEL_SERVIDOR:8080/host-manager/html

Comandos Útiles de Apache Tomcat

Detener servicio

sudo systemctl stop tomcat

Reiniciar servicio

sudo systemctl restart tomcat

Ver logs en tiempo real

sudo tail -f /opt/tomcat/logs/catalina.out

Verificar puertos abiertos

sudo ss -tulnp | grep 8080

Cómo Desplegar Aplicaciones WAR

Las aplicaciones Java normalmente se despliegan en formato WAR.

Copiar archivo WAR

sudo cp mi-aplicacion.war /opt/tomcat/webapps/

Tomcat desplegará automáticamente la aplicación.

Acceder a la aplicación

http://IP_DEL_SERVIDOR:8080/mi-aplicacion

Problemas Comunes

Tomcat no inicia

Verifica:

Puerto 8080 ocupado

Verifica qué proceso usa el puerto:

sudo lsof -i :8080

Cambiar puerto de Tomcat

Editar:

sudo nano /opt/tomcat/conf/server.xml

Buscar: Connector port="8080"

Cambiar por otro puerto: Connector port="9090"

Conclusión

Apache Tomcat es uno de los servidores Java más utilizados para ejecutar aplicaciones empresariales y proyectos web modernos. Realizando correctamente la instalación, configuración de usuarios y apertura de puertos podrás desplegar aplicaciones Java de manera estable y segura en Linux.

Además, combinar Tomcat con frameworks como Spring Boot, Spring MVC o Jakarta EE permite construir aplicaciones robustas para entornos productivos.


Comentario

Debe aceptar antes de enviar