Introducción
Tomcat es un paquete de implementación de Java de código abierto desarrollado por Apache Software Foundation. Aprenda a instalar Tomcat 9 en CentOS 7 en este tutorial.
Requisitos previos
- Una cuenta de usuario con sudo privilegios
- Acceso a una ventana de terminal/línea de comando (Ctrl-Alt-F2)
Comprobar si Java está instalado
Tomcat se basa en una instalación de Java existente. Compruebe si su sistema tiene Java instalado. Introduzca lo siguiente en una ventana de terminal:
java -version
Debería ejecutar al menos JDK 1.8.0. Si el sistema informa que hay una versión anterior o que no tiene instalado Java, instale Java ingresando:
sudo yum install java-1.8.0-openjdk-devel
Crear usuario y grupo de Tomcat
Tomcat no debe ejecutarse como root . Cree un nuevo usuario y grupo ingresando:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
Descargar Tomcat 9
Tomcat 9.0.20 es la última versión en el momento en que se escribió esto. Una versión posterior puede estar disponible en la página de descarga oficial. Alternativamente, ingrese lo siguiente:
cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
Extraiga el archivo .tar.gz
Para extraer el archivo tar.gz de Tomcat a /opt/tomcat , ingresa lo siguiente:
sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1
Modificar los permisos de usuario de Tomcat
El nuevo usuario de Tomcat necesita privilegios de ejecución sobre el directorio.
Introduzca lo siguiente:
sudo chown -R tomcat:tomcat /opt/tomcat
sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'
Crear un archivo de unidad del sistema
La creación de un archivo de unidad de sistemas permite que Tomcat se ejecute como un servicio.
1. Busque la ubicación de Java con el siguiente comando:
readlink -f $(which java)
Copie la carpeta principal de /jre/bin/java para el siguiente paso.
1. Para crear un tomcat.service archivo, use el comando:
sudo nano /etc/systemd/system/tomcat.service
2. En el archivo, ingrese lo siguiente:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=oneshot
RemainAfterExit=yes
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-1.el7_9.x86_64/"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Pegue la ruta del paso anterior en Environment="JAVA_HOME=<path>"
línea.
3. Guarde y cierre el archivo.
4. Actualizar el sistema:
sudo systemctl daemon-reload
5. Configure el servicio Tomcat para que se inicie en el arranque:
sudo systemctl enable tomcat
6. Inicie el servicio Tomcat:
sudo systemctl start tomcat
7. Verifique que el servicio Tomcat esté instalado y ejecutándose:
sudo systemctl status tomcat
Ajustar el cortafuegos
El servicio Tomcat necesita acceso a
Permita el tráfico ingresando los comandos:
firewall-cmd --zone=public --permanent --add-port=8080/tcp
El mensaje success
imprime en la terminal. Vuelva a cargar el cortafuegos para aplicar la opción:
firewall-cmd --reload
Debería poder ver el servidor Tomcat en un navegador web.
Ingrese esta dirección web en una ventana del navegador:
http://server_ip:8080
Por ejemplo, si ejecuta Tomcat en un servidor local, utilice:
http://localhost:8080
Configurar la interfaz de administración web
1. Para crear un usuario para acceder a la interfaz de administración web, edite el archivo de usuario ingresando:
sudo nano /opt/tomcat/conf/tomcat-users.xml
2. Elimine todo del archivo y agregue lo siguiente:
<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="good_password" roles="admin-gui,manager-gui"/>
</tomcat-users>
Reemplazar buena_contraseña con una contraseña segura de su elección.
Guarda el archivo y cierra. Ahora debería poder acceder a la interfaz de administración web en un navegador web. Visite http://server_ip:8080/manager/html para usar la interfaz.
Configurar acceso remoto (opcional)
De forma predeterminada, solo se puede acceder a Tomcat desde la máquina local en la que está instalado. Este paso le permite otorgar acceso a una dirección IP específica.
1. Edite el siguiente archivo:
sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml
2. Agregue lo siguiente:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
3. Guarde el archivo y salga.
4. Repita el proceso para el segundo archivo:
sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml
5. Agregue lo siguiente:
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />
6. Guardar y salir.
Esto otorgará acceso a cualquier sistema en el 192.168.0.* rango de direcciones IP.
Puede cambiar la dirección IP a un rango específico para su intranet. Alternativamente, puede usar la dirección IP de un solo sistema.
El asterisco actúa como un comodín para permitir múltiples direcciones IP. Otorgar acceso completo puede dejar vulnerabilidades de seguridad. En su lugar, habilite solo los sistemas con una necesidad comercial para acceder a Tomcat.