Linux: Instalar Tomcat

Linux: Instalar Tomcat: ¿Qué es Tomcat?

Tomcat es un software open-source desarrollado en Java que funciona como servidor web con soporte para servlets y JSPs.

Para que funcione Tomcat, se requiere Java runtime environment (JRE).

Tomcat es mantenido por a Apache Software Foundation.

Veamos paso a paso como instalar Tomcat en una distribución de Linux.

En este ejemplo realizaremos la instalación en una distribución basada en RedHat.

1. Linux: Instalar Tomcat: Prerequisitos:

Tomcat requiere Java 8 o superior, así que instalamos la versión de Java que incorpora la distribución:

yum install -y java curl tar

Una vez instalado, verificamos la versión de Java:

[root@wa ~]# java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)


2. Linux: Instalar Tomcat: Cuenta de servicio

Evitamos que tomcat funcione como root y cremos un usuario específico sin Shell:

useradd -d /opt/tomcat -s /bin/nologin tomcat

3. Linux: Instalar Tomcat: Descargamos Tomcat

Vía web, conseguimos la URL de descarga aquí:

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

Buscamos la “Core”, “tar.gz”:

Linux: Instalar Tomcat

Una vez disponemos del enlace, lo descargamos con curl y lo situamos en: /root/INSTALL

mkdir /root/INSTALL

cd /root/INSTALL

curl https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gz -o apache-tomcat-9.0.54.tar.gz

4. Linux: Instalar Tomcat: Descargamos Tomcat

tar -zxvf apache-tomcat-*.tar.gz

mv apache-tomcat-*/* /opt/tomcat/

chown -R tomcat:tomcat /opt/tomcat/

5. Linux: Instalar Tomcat: Creamos fichero de systemD

Configuramos Tomcat para su inicio automático.

En primer lugar, buscaremos la ruta de instalación de Java y anotaremos la ruta hasta el directorio: jre (marcado en naranja)

[root@wa ~]# alternatives --list  | grep ^java
java                    auto    /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el8_4.x86_64/jre/bin/java

Creamos fichero de servicio Tomcat e indicaremos la ruta anteriormente anotada (naranja).

vi /etc/systemd/system/tomcat.service

[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.312.b07-1.el8_4.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

Importante: Al actualizar Java desde el repositorio de la distribución, cambiará los últimos números de la versión, así que deberemos cambiar la ruta de este fichero de configuración.

6. Linux: Instalar Tomcat: Desactivamos SELinux

sed -i 's/ELINUX=enforcing/ELINUX=disabled/g' /etc/selinux/config

[root@wa ~]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


Reiniciamos para que se aplique el cambio en el selinux:

reboot

7. Linux: Instalar Tomcat: Iniciamos servicio:

systemctl start tomcat

systemctl status tomcat


Si al iniciar aparece el siguiente error:

Linux: Instalar Tomcat

Vemos en los logs, ejecutando: journalctl -xe que es problema de permisos:

Linux: Instalar Tomcat

Significa que no hemos reiniciado después de deshabilitar SELinux.

8. Linux: Instalar Tomcat: Habilitamos inicio servicio automático


systemctl enable tomcat

9. Linux: Instalar Tomcat: Prueba servicio a la escucha


netstat -antup | grep 8080

10. Linux: Instalar Tomcat: Configuración usuarios


Solo los usuarios con el rol de: “manager-gui” o “admin-gui” tienen acceso a la administración.

vi /opt/tomcat/conf/tomcat-users.xml

Añadimos lo siguiente antes de cerrar: </tomcat-users>

<role rolename="admin-gui,manager-gui"/>
<user username="tomcat" password="XXXXXXXXXXX" roles="manager-gui,admin-gui"/>

Linux: Instalar Tomcat

11. Linux: Instalar Tomcat: Configuramos restricción por IP acceso webmanager

 
* Por defecto solo se permiten accesos desde localhost.

vi /opt/tomcat/webapps/manager/META-INF/context.xml

Buscamos la línea:

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

y modificamos:

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.*.*" />
 
Linux: Instalar Tomcat

12. Linux: Instalar Tomcat: Configuramos restricción por IP acceso Hostmanager:


* Por defecto solo se permiten accesos desde localhost.

vi /opt/tomcat/webapps/host-manager/META-INF/context.xml

Buscamos la línea:

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

y modificamos:

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

Linux: Instalar Tomcat

13. Linux: Instalar Tomcat: Deshabilitamos firewall Linux:


systemctl stop firewalld

systemctl disable firewalld

 

14. Linux: Instalar Tomcat: Prueba


systemctl restart tomcat

http://IP-Server-Tomcat:8080/

Linux: Instalar Tomcat

Podemos probar los accesos administrativos y ver que requieren el usuario y password indicado en el punto 10:

Linux: Instalar Tomcat

No hay comentarios:

Publicar un comentario