Cómo instalar Tomcat 10 en Fedora

En esta entrada veremos cómo instalar Tomcat 10 en Fedora 39, 38 y 37 paso a paso, de modo que podamos trabajar con la nueva versión de esta plataforma para servir aplicaciones Java basadas en el estándar Jakarta EE 9 desde tu servidor o VPS Fedora.

Antes de instalar Tomcat 10 en Fedora

Para poder seguir los pasos de esta guía de instalación de Tomcat 10 en Fedora 39, 38 y 37 es importante cumplir los siguientes requisitos:

  • Una máquina Fedora 39, 38 ó 37 actualizada.
  • Entorno de ejecución de Java, o JRE.
  • Un usuario con permisos de sudo.
  • Acceso a Internet.

Si no dispones aún del entorno necesario, puede ser de utilidad consultar previamente nuestra guía de instalación de Java en Fedora 39, 38 y 37.

También necesitaremos algunas herramientas del sistema que podemos obtener desde los repositorios de Fedora, así que actualizamos la información de los mismos:

~$ sudo yum update

E instalamos las herramientas necesarias:

~$ sudo yum install -y tar wget

Cómo descargar Tomcat 10 para Fedora

Vamos a descargar Tomcat 10 para Fedora desde el sitio web del proyecto, donde podremos encontrar la última versión estable:

como descargar tomcat 10 en fedora 39, 38 y 37

Encontraremos el paquete para descargar en varios formatos, siendo el .tar.gz el que nos interesa en esta ocasión. Podemos realizar la descarga directamente desde el navegador o, si trabajamos remotamente, desde consola con el comando wget:

~$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.20/bin/apache-tomcat-10.1.20.tar.gz

Cómo instalar Tomcat 10 en Fedora

Para instalar Tomcat 10 en Fedora tendremos que realizar una serie de tareas que detallamos a continuación.

Empezaremos creando el usuario con el que correrá el servicio:

~$ sudo useradd -m -U -d /opt/tomcat -s /bin/false -k /dev/null tomcat10

Descomprimimos el paquete que acabamos de descargar directamente en la ubicación definitiva de la plataforma:

~$ sudo tar xf apache-tomcat-10.1.20.tar.gz -C /opt/tomcat/

Como el nombre del subdirectorio que se crea contiene números de versión, lo renombramos para facilitar la instalación y mantenimiento:

~$ sudo mv /opt/tomcat/apache-tomcat-10.1.20 /opt/tomcat/apache-tomcat

Y cambiamos la propiedad de los archivos de Tomcat 10 concediéndosela al usuario de Fedora que hemos creado antes:

~$ sudo chown -R tomcat10: /opt/tomcat/apache-tomcat/

Configuración del servicio

Para hacer funcionar Tomcat 10 como un servicio de Fedora tendremos que crear un archivo de configuración para Systemd:

~$ sudo nano /etc/systemd/system/tomcat10.service

El contenido puede ser similar al siguiente:

[Unit]
Description=Tomcat 10.1 servlet container para Fedora
After=network.target

[Service]
Type=forking
User=tomcat10
Group=tomcat10
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, todo está listo para iniciar por vez primera el servicio:

~$ sudo systemctl start tomcat10

Podemos comprobar el estado del servicio en cualquier momento con el comando systemctl status tomcat10:

como instalar tomcat 10 en fedora 39, 38 y 37

Para que Tomcat 10 pueda iniciar en cada arranque de Fedora lo habilitamos también con el comando systemctl:

~$ sudo systemctl enable tomcat10

Firewall

Con el fin de poder acceder a la plataforma desde red es necesario abrir los puertos correspondientes en el firewall.

Para conexiones sobre protocolo HTTP hay que habilitar el puerto 8080:

~$ sudo firewall-cmd --permanent --add-port=8080/tcp

Si vamos a utilizar conexiones seguras SSL también habrá que habilitar también el puerto 8443:

~$ sudo firewall-cmd --permanent --add-port=8443/tcp

Aplicamos los cambios recargando la configuración del firewall:

~$ sudo firewall-cmd --reload

Acceder

Para acceder a Tomcat 10 en Fedora desde un navegador indicaremos la dirección del servidor (IP, nombre DNS, dominio, etc.) y el puerto de conexión.

Por ejemplo, la máquina Fedora 39 sobre la que hemos realizado este tutorial es accesible en el subdominio fedora.local.lan, y trabajaremos con conexiones HTTP estándar sobre el puerto 8080, por lo que empleamos http:/fedora.local.lan:8080/ como URL:

instalar tomcat 10 en fedora 39, 38 y 37

Se mostrará la aplicación principal de la plataforma dentro de la que encontraremos enlaces al resto de aplicaciones incluidas como, por ejemplo, la aplicación de documentación local (aplicación /docs) y las aplicaciones administrativas («Server Status«, «Manager App» y «Host Manager«).

Estas aplicaciones son directamente accesibles si conectamos desde la máquina local (localhost) en la que hemos instalado Tomcat 10). Para poder acceder desde red hay que realizar algunos ajustes en sus respectivas configuraciones. Además, las aplicaciones administrativas usan acceso mediante usuario y contraseña.

Cómo configurar Tomcat 10 en Fedora

Para configurar Tomcat 10 en Fedora tendremos que trabajar sobre diversos archivos de cofiguración, tanto específicos de la plataforma como de las aplicaciones respectivas.

Acceso desde red a la aplicación de documentación y aplicaciones administrativas

Por defecto las aplicaciones de documentación y administrativas incluidas en el paquete de Tomcat 10 sólo son accesibles localmente, así que si trabajamos remotamente y queremos acceder desde red habrá que realizar algún ajuste en sus correspondientes archivos context.xml. Por ejemplo, para la aplicación de documentación /docs:

~$ sudo nano /opt/tomcat/apache-tomcat/webapps/docs/META-INF/context.xml

Buscamos la directiva Valve:

...
 <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 XML:

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

Guardando los cambios la nueva configuración queda aplicada inmediatamente.

Ahora ya podemos acceder a la aplicación de documentación:

instalacion de tomcat 10 en fedora 39, 38 y 37

Otro tanto habría que hacer con la aplicación /managerSever Status» y «Manager App«) y con la aplicación /host-managerHost Manager«).

Para /manager editaríamos el siguiente archivo:

~$ 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

Los cambios serían iguales que los que hemos hecho antes para /docs.

Usuarios de Tomcat 10

Algunas aplicaciones exigen autenticación de usuarios que tengan asignados ciertos roles. Para crear usuarios de Tomcat 10 en Fedora editaremos el archivo tomcat-users.xml de la plataforma:

~$ sudo nano /opt/tomcat/apache-tomcat/conf/tomcat-users.xml

Y añadimos una directiva user dentro del bloque tomcat-users:

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

En esta directiva indicamos el nombre del usuario (es recomendable que sea distinto de admin), su contraseña y al menos los roles admin-gui y manager-gui.

Hecho esto ya podemos acceder a cualquiera de las aplicaciones administrativas, por ejemplo «Server Status» o Estado de Servidor (aplicación manager/status):

instalando tomcat 10 en fedora 39, 38 y 37

Tendremos que introducir las credenciales del usuario que creamos anteriormente, tras lo cual se mostrará la página de la aplicación:

tomcat 10 en fedora 39, 38 y 37

Si a continuación accedemos a la aplicación «Manager App» o Gestor de Aplicaciones Web de Tomcat (aplicación manager/html):

tomcat 10 para fedora 39, 38 y 37

Pero si después accedemos a la aplicación «Host Manager» (host-manager) o Gestor de Máquina Virtual de Tomcat 10, habrá que volver a realizar la autenticación de usuario, ya que esta es una aplicación distinta de las anteriores. Hecho esto, esta aplicación también se mostrará:

tomcat 10 sobre fedora 39, 38 y 37

Cómo instalar aplicaciones Java en Tomcat 10 para Fedora

Si disponemos de una aplicación de servidor empaquetada en un archivo con formato WAR (extensión .war) y queremos desplegarla en Tomcat 10 abriremos el Gestor de Aplicaciones Web y en la sección «Desplegar / Archivo WAR a desplegar» seleccionaremos el archivo mediante el control integrado:

desplegar aplicaciones en tomcat 10 para fedora 39, 38 y 37

Una vez seleccionado el archivo lo subiremos a la plataforma utilizando el botón «Desplegar«.

El gestor de aplicaciones volverá a cargar de nuevo y, si todo ha ido bien, mostrará «OK» en la sección «Mensaje» y la aplicación aparecerá junto al resto en la lista:

Para comprobar que la aplicación funciona bastará con utilizar el correspondiente enlace que se muestra en la columna «Ruta«:

¡Así de sencillo!

Conclusión

Ahora que sabes cómo instalar Tomcat 10 en Fedora 39, 38 y 37 ya puedes desplegar esta plataforma para servir aplicaciones basadas en Jakarta EE 9 desde tu servidor o VPS, tanto si se trata de tus propios desarrollos o de aplicaciones de terceros.

¡Apoya comoinstalar.me!

¿Ya funciona la plataforma en tu máquina? Si es así y quieres agradecérmelo puedes hacerlo dejando una propina a partir de 1 $ desde PayPal:

O, si estás especialmente agradecido, puedes invitarme a un cappuccino:

¡Gracias!

Valora esta entrada

5/5 - (7 votos)

8 comentarios en «Cómo instalar Tomcat 10 en Fedora»

Deja un comentario