Cómo instalar Apache Tomcat en RHEL 8


Apache Tomcat es un servidor web de código abierto, ligero, potente y ampliamente utilizado desarrollado y mantenido por Apache Foundation. Es una implementación de las tecnologías Java Servlet, JavaServer Pages (JSP), Java Expression Language (EL) y Java WebSocket, y proporciona un servidor HTTP Java puro para ejecutar aplicaciones Java basadas en la web.

Este artículo lo guiará a lo largo de la instalación y configuración de Apache Tomcat 9 con acceso remoto a la interfaz web en RHEL 8 Linux.

Si está buscando tener Tomcat en RHEL/CentOS 7, siga este artículo para instalar Apache Tomcat en RHEL/CentOS 7.

Paso 1: instalar Java en RHEL 8

Para instalar Java en RHEL 8, primero actualice los paquetes del sistema e instale la versión predeterminada disponible de Java 8 o Java 11 utilizando los siguientes comandos dnf como se muestra.

# dnf update
# dnf install java-1.8.0-openjdk-devel  	#install JDK 8
OR
# dnf install java-11-openjdk-devel		#install JDK 11

Una vez que finaliza la instalación, puede verificar la versión de Java instalada en el sistema usando el siguiente comando.

# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

Paso 2: Instalar Apache Tomcat en RHEL 8

Una vez que JAVA se ha instalado en el sistema, es el momento de descargar la última versión de Apache Tomcat (es decir, 9.0.24), que es la versión estable más reciente al momento de escribir este artículo.

Si desea verificar la versión, diríjase a la página de descarga oficial de Apache y verifique si hay una versión más nueva disponible para descargar.

  1. https://tomcat.apache.org/download-90.cgi

Alternativamente, puede descargar la última versión de Apache Tomcat usando el siguiente comando wget y configurarlo como se muestra.

# cd /usr/local
# wget http://www-us.apache.org/dist/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
# tar -xvf apache-tomcat-9.0.24.tar.gz
# mv apache-tomcat-9.0.24 tomcat9

Nota: Si está disponible una versión más reciente de Apache Tomcat, asegúrese de reemplazar el número de versión anterior con la última versión.

El servidor Apache Tomcat ahora está implementado en el directorio /usr/local/tomcat9 , puede verificar el contenido ejecutando la lista del contenido del directorio también.

# pwd tomcat9/
# ls -l tomcat9/

La siguiente es una descripción de cada uno de los subdirectorios en el directorio de instalación de Apache Tomcat.

  • bin: contiene los ejecutables.
  • conf: contiene archivos de configuración.
  • lib: almacena archivos de biblioteca.
  • registro: almacena archivos de registro.
  • temp: contiene archivos temporales.
  • webaaps: almacena archivos de aplicaciones web.

Paso 3: Ejecutar Apache Tomcat en Systemd en RHEL 8

Para administrar fácilmente el demonio Apache Tomcat, debe ejecutarlo como un servicio en systemd (administrador de sistemas y servicios). El servicio se ejecutará con los permisos de un usuario del sistema llamado tomcat, que necesita para crearlo usando el comando useradd.

# useradd -r tomcat

Una vez creado el usuario de Tomcat, otórguele permisos y derechos de propiedad sobre el directorio de instalación de Tomcat y todo su contenido mediante el siguiente comando chown.

# chown -R tomcat:tomcat /usr/local/tomcat9
# ls -l /usr/local/tomcat9

A continuación, cree un archivo de unidad tomcat.service en el directorio/etc/systemd/system/usando su editor de texto favorito.

# vi /etc/systemd/system/tomcat.service

Copie y pegue la siguiente configuración en el archivo tomcat.service .

[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target

[Service]
Type=forking
User=tomcat
Group=tomcat

Environment=CATALINA_PID=/usr/local/tomcat9/temp/tomcat.pid
Environment=CATALINA_HOME=/usr/local/tomcat9
Environment=CATALINA_BASE=/usr/local/tomcat9

ExecStart=/usr/local/tomcat9/bin/catalina.sh start
ExecStop=/usr/local/tomcat9/bin/catalina.sh stop

RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target

Guarde el archivo y vuelva a cargar la configuración de systemd para aplicar los cambios recientes con el siguiente comando.

# systemctl daemon-reload

Luego, inicie el servicio Tomcat, habilítelo para que se inicie automáticamente al arrancar el sistema y verifique el estado con los siguientes comandos.

# systemctl start tomcat.service
# systemctl enable tomcat.service
# systemctl status tomcat.service

Tomcat usa el puerto 8080 y 8443 para solicitudes HTTP y HTTPS respectivamente. También puede confirmar que el demonio está activo y escuchando al verificar el puerto HTTP entre todos los puertos de escucha en el sistema usando el comando netstat.

# netstat -tlpn

Si tiene el comando firewall-cmd como se muestra.

# firewall-cmd --zone=public --permanent --add-port=8080/tcp
# firewall-cmd --zone=public --permanent --add-port=8443/tcp
# firewall-cmd --reload

Paso 4: Acceda a la interfaz web de Apache Tomcat

Ahora que ha instalado, configurado e iniciado Tomcat como un servicio y ha permitido solicitudes al demonio a través del firewall, puede probar la instalación intentando acceder a la interfaz web utilizando la URL.

http://localhost:8080
OR
http://SERVER_IP:8080

Una vez que vea la página que se muestra en la captura de pantalla, habrá instalado Tomcat correctamente.

Tomcat incluye una aplicación web llamada Administrador que se utiliza para implementar una nueva aplicación web a partir del contenido cargado de un archivo WAR, implementar una nueva aplicación web, enumerar las aplicaciones web actualmente implementadas y las sesiones que están activas actualmente para esas aplicaciones web, y mucho más.

También proporciona una aplicación Host Manager que se utiliza para administrar (crear, eliminar, etc.) hosts virtuales dentro de Tomcat.

Paso 5: Habilite la autenticación HTTP para Tomcat Manager y Host Manager

Para garantizar el acceso restringido a las aplicaciones Manager y Host Manager en un entorno de producción, debe configurar la autenticación HTTP básica en el archivo de configuración /usr/local/tomcat9/conf/tomcat-users.xml.

# vi /usr/local/tomcat9/conf/tomcat-users.xml

Copie y pegue la siguiente configuración dentro de las etiquetas y como se muestra en la captura de pantalla. Esta configuración agrega los roles admin-gui y manager-gui a un usuario llamado "admin" con una contraseña de "[email protected]".

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="[email protected]" roles="admin-gui,manager-gui"/>

Guarde los cambios en el archivo y salga.

Paso 6: Habilite el acceso remoto a Tomcat Manager y Host Manager

De forma predeterminada, el acceso a las aplicaciones Manager y Host Manager está restringido al localhost, el servidor en el que Tomcat está instalado y en ejecución. Pero puede habilitar el acceso remoto a una dirección IP o red específica, por ejemplo, su LAN.

Para habilitar el acceso remoto a la aplicación Manager, abra y edite el archivo de configuración /opt/apache-tomcat-9.0.24/webapps/host-manager/META-INF/context.xml.

# vi /usr/local/tomcat9/webapps/manager/META-INF/context.xml

Luego busque la siguiente línea.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />

cámbielo a esto para permitir el acceso de Tomcat desde la dirección IP 192.168.56.10.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.10" />

También puede permitir el acceso de Tomcat desde la red local 192.168.56.0.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |192.168.56.*" />

o permitir el acceso de Tomcat desde cualquier host o red.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1 |.*" />

Luego, guarde los cambios en el archivo y ciérrelo.

De manera similar, habilite el acceso remoto a la aplicación Host Manager en el archivo /usr/local/tomcat9/webapps/host-manager/META-INF/context.xml como se muestra arriba.

A continuación, reinicie el servicio tomcat para aplicar los cambios recientes.

# systemctl restart tomcat.service

Paso 7: Acceda a las aplicaciones web de Tomcat Manager

Para acceder a la aplicación web Tomcat Manager, puede hacer clic en el enlace como se muestra en la captura de pantalla o usar la URL.

http://localhost:8080/manager
OR
http://SERVER_IP:8080/manager

Se le pedirá que se autentique: ingrese el nombre de usuario y la contraseña que creó anteriormente para iniciar sesión en la aplicación de administrador como se muestra en la captura de pantalla.

La siguiente captura de pantalla muestra la interfaz HTML de la aplicación Manager, donde puede implementar una nueva aplicación web a partir del contenido cargado de un archivo WAR, implementar una nueva aplicación web o enumerar las aplicaciones existentes y hacer más.

Paso 8: Acceda a las aplicaciones web de Tomcat Host Manager

Para acceder al Administrador de host, vaya a cualquiera de las siguientes URL.

http://localhost:8080/host-manager
OR
http://SERVER_IP:8080/host-manager

¡Felicidades! Ha instalado y configurado correctamente Apache Tomcat en su servidor RHEL 8. Para obtener más información, consulte la documentación de Apache Tomcat 9.0.