Apache Tomcat es un servidor web Java HTTP de código abierto desarrollado por Apache Software Foundation (ASF). Tomcat ayuda a implementar Java Servlet y JavaServer Pages (JSP) y los sirve como un servidor web HTTP.
En esta publicación, veremos cómo instalar Apache Tomcat 10/9 en CentOS 8 / RHEL 8.
Requisitos
Instalar Java
Tomcat requiere que Java 8 o superior esté instalado en su máquina. Puede instalar cualquier versión estable de Oracle JDK u OpenJDK.
LEER :Cómo instalar Oracle JAVA en CentOS 8/RHEL 8
Para esta publicación, estoy usando OpenJDK.
yum install -y java curl tar
Verifique la instalación de Java emitiendo el siguiente comando.
java -version
Salida:
openjdk version "1.8.0_275" OpenJDK Runtime Environment (build 1.8.0_275-b01) OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)
Crear cuenta de servicio de Tomcat
Como práctica recomendada, el servicio Tomcat no debe ejecutarse como usuario raíz. Por lo tanto, cree un usuario normal de Linux para ejecutar el servicio Tomcat.
useradd -d /opt/tomcat -s /bin/nologin tomcat
Instalar Apache Tomcat
Descargar Tomcat
Descarga Apache Tomcat del sitio web oficial y guárdalo en tu directorio de trabajo.
Al momento de escribir este artículo, Tomcat v9.0.22 está disponible para su instalación.
Navegador
Descarga Apache Tomcat 10
Descarga Apache Tomcat 9.0
Terminal
### Apache Tomcat 10.x curl https://downloads.apache.org/tomcat/tomcat-10/v10.0.4/bin/apache-tomcat-10.0.4.tar.gz -o apache-tomcat-10.0.4.tar.gz ### Apache Tomcat 9.x curl https://downloads.apache.org/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz -o apache-tomcat-9.0.44.tar.gz
Configurar Tomcat
Extraiga el tarball de Tomcat y muévalo al directorio deseado (/opt/tomcat).
tar -zxvf apache-tomcat-*.tar.gz mv apache-tomcat-*/* /opt/tomcat/
Cambie la propiedad del directorio al usuario tomcat.
chown -R tomcat:tomcat /opt/tomcat/
Crear archivo Systemd
Podemos configurar systemd para iniciar el servicio Tomcat por usted, y también nos ayuda a iniciar automáticamente el servicio Apache Tomcat al iniciar el sistema.
El archivo de servicio systemd de Tomcat requiere una ubicación de instalación de Java. Entonces, enumere las versiones de Java disponibles en su sistema usando el siguiente comando.
alternatives --list | grep ^java
Salida:
java auto /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre/bin/java
En este momento, solo tengo Java 1.8 en mi sistema.
Cree un archivo de servicio systemd de tomcat.
vi /etc/systemd/system/tomcat.service
Agregue la siguiente información al archivo de servicio systemd. Cambie los valores según su entorno.
[Unit] Description=Apache Tomcat Web Application Container Wants=network.target After=network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el8_0.x86_64/jre Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment='CATALINA_OPTS=-Xms512M -Xmx1G -Djava.net.preferIPv4Stack=true' Environment='JAVA_OPTS=-Djava.awt.headless=true' ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh SuccessExitStatus=143 User=tomcat Group=tomcat UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
SELinux
Considere deshabilitar SELinux si bloquea el inicio de Tomcat.
setenforce 0 sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config
Iniciar Apache Tomcat
Vuelva a cargar el demonio systemd.
systemctl daemon-reload
Para iniciar el servicio Tomcat; ejecutar:
systemctl start tomcat
Compruebe el estado de Tomcat, ejecute:
systemctl status tomcat
Habilite el servicio Tomcat para que se inicie automáticamente al iniciar el sistema.
systemctl enable tomcat
De forma predeterminada, Tomcat se ejecuta en el puerto 8080. Utilice el comando netstat para verificar si el servicio está escuchando en el puerto 8080 o no.
netstat -antup | grep 8080
Salida:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 2904/java
Cortafuegos
Permita el puerto 8080 en el firewall para que podamos acceder a Apache Tomcat desde redes externas.
firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
Configurar la interfaz de usuario web de Apache Tomcat
Apache Tomcat se puede administrar a través del Administrador web.
Con Web Manager, puede
- Implementar nuevas aplicaciones
- Implementar nuevas aplicaciones en el contexto especificado
- Lista de las aplicaciones activas o inactivas
- Iniciar y detener las aplicaciones web
Además, Tomcat tiene Host Manager para administrar sus hosts virtuales.
Administración de usuarios
Tanto The Web como Host Manager están protegidos con contraseña, requieren un nombre de usuario y una contraseña para acceder.
Solo el usuario con el “manager-gui ” y “administrador-gui El rol ” tiene permiso para acceder a la Web y al administrador de Host respectivamente.
Estos usuarios y funciones se definen en tomcat-users.xml .
vi /opt/tomcat/conf/tomcat-users.xml
Coloque las siguientes dos líneas justo encima de la última línea.
<role rolename="admin-gui,manager-gui"/> <user username="admin" password="tomcat" roles="manager-gui,admin-gui"/>
Permitir acceso
Por razones de seguridad, solo se puede acceder a Web y Host Manager desde localhost, es decir, desde el propio servidor.
Para habilitar el acceso al administrador web y de alojamiento desde sistemas remotos, debe agregar su red a la lista de permitidos.
Para hacerlo, sigue los pasos.
Administrador web
vi /opt/tomcat/webapps/manager/META-INF/context.xml
Actualice la siguiente línea con la IP de origen desde la que está accediendo a Web and Host Manager.
Permitir a todos
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Permitir red de organización
También puede permitir solo la red de su organización. Por ejemplo:para permitir solo la red 192.168.1.0/24, puede usar los siguientes valores.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Administrador de alojamiento
vi /opt/tomcat/webapps/host-manager/META-INF/context.xml
Actualice la siguiente línea con la IP de origen desde la que accede al Host Manager.
Permitir a todos
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|.*" />
Permitir red de organización
También puede permitir solo la red de su organización. Por ejemplo:para permitir solo la red 192.168.1.0/24, puede usar los siguientes valores.
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.1.*" />
Reinicie el servicio Tomcat.
systemctl restart tomcat
Acceder a Tomcat
Abra el navegador web y diríjalo a:
http://ip.add.re.ss:8080Ahora obtendrá la página predeterminada de Tomcat.
Aplicación de administrador (manager-gui):– Se requiere inicio de sesión. Nombre de usuario:admin, Contraseña:tomcat.
Aquí, puede implementar una aplicación, implementar una aplicación en un contexto específico, iniciar, detener, recargar y anular la implementación de una aplicación.
Además, puedes ver el Tomcat estado del servidor .
Administrador de host (admin-gui):– Se requiere inicio de sesión. Nombre de usuario:admin, Contraseña:tomcat.
Aquí puede administrar los hosts virtuales de Tomcat.
Conclusión
Eso es todo. Espero que haya aprendido a instalar Tomcat 10/9 en CentOS 8/RHEL 8. Ahora está listo para su primera aplicación web. Como recomendación de seguridad, considere implementar SSL/TLS para Tomcat