En esta entrada veremos cómo instalar Tomcat 10 en Fedora 36, 35 y 34 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 36, 35 y 34
Para poder seguir los pasos de esta guía de instalación de Tomcat 10 en Fedora 36, 35 y 34 es importante cumplir los siguientes requisitos:
- Una máquina Fedora 36, 35 ó 34 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 36, 35 y 34.
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 36, 35 y 34
Vamos a descargar Tomcat 10 para Fedora 36, 35 y 34 desde el sitio web del proyecto, donde podremos encontrar la última versión estable:
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.1/bin/apache-tomcat-10.1.1.tar.gz
Cómo instalar Tomcat 10 en Fedora 36, 35 y 34
Para instalar Tomcat 10 en Fedora 36, 35 y 34 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.1.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.1 /opt/tomcat/apache-tomcat
Y cambiamos la propiedad de los archivos de Tomcat 10 concediéndosela al usuario de Fedora 36, 35 y 34 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 36, 35 y 34 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 3x 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
:
Para que Tomcat 10 pueda iniciar en cada arranque de Fedora 36, 35 y 34 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 36, 35 y 34 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 36 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:
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):
Este es un ejemplo de aplicación a la que se puede acceder fácilmente, sin restricción de acceso por origen ni necesidad de autenticación de usuarios, pero no todas las aplicaciones incluidas funcional igual.
Cómo configurar Tomcat 10 en Fedora 36, 35 y 34
Para configurar Tomcat 10 en Fedora 36, 35 y 34 tendremos que trabajar sobre diversos archivos de cofiguración, tanto específicos de la plataforma como de las aplicaciones respectivas.
Aplicaciones administrativas
Por defecto las aplicaciones administrativas incluidadas 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 manager:
~$ sudo nano /opt/tomcat/apache-tomcat/webapps/manager/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.
Este ajuste también habría que realizarlo para la aplicación host-manager, editando su propio archivo context.xml:
~$ sudo nano /opt/tomcat/apache-tomcat/webapps/host-manager/META-INF/context.xml
Usuarios de Tomcat 10
Algunas aplicaciones exigen autenticación de usuarios que tengan asignados ciertos roles. Para crear usuarios de Tomcat 10 en Fedora 36, 35 y 34 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):
Tendremos que introducir las credenciales del usuario que creamos anteriormente, tras lo cual se mostrará la página de la aplicación:
Si a continuación accedemos a la aplicación «Manager App» o Gestor de Aplicaciones Web de Tomcat (aplicación manager/html):
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á:
Cómo instalar aplicaciones Java en Tomcat 10 para Fedora 36, 35 y 34
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:
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 36, 35 y 34 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!
Actualizado a la versión 10.1.1.
Actualizado a la versión 10.0.23.
Actualizado a la versión 10.0.22 sobre Fedora 36.
Actualizado a la versión 10.0.20.
Actualizado a la versión 10.0.16 con soporte para Fedora 35.
Actualizado a la versión 10.0.14.
Actualizado a la versión 10.0.12.