Este tutorial describe cómo instalar y configurar Tomcat 9 en Ubuntu 20.04.
Apache Tomcat es un servidor web de código abierto y un contenedor de servlets de Java. Es una de las opciones más populares para crear aplicaciones y sitios web basados en Java. Tomcat es liviano, fácil de usar y tiene un sólido ecosistema de complementos.
Instalación de Java
Tomcat 9 requiere la instalación de Java SE 8 o posterior en el sistema. Instalaremos OpenJDK 11 , la implementación de código abierto de la plataforma Java.
Ejecute los siguientes comandos como root o usuario con privilegios sudo o root para actualizar el índice de paquetes e instalar el paquete OpenJDK 11 JDK:
sudo apt updatesudo apt install openjdk-11-jdk
Una vez completada la instalación, verifíquela comprobando la versión de Java:
java -versionLa salida debería ser algo como esto:
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
Creación de un usuario del sistema
Ejecutar Tomcat con el usuario raíz es un riesgo de seguridad. Crearemos un nuevo usuario y grupo del sistema con el directorio de inicio /opt/tomcatque ejecutará el servicio Tomcat. Para hacerlo, ingrese el siguiente comando:
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcatDescargando Tomcat
La distribución binaria de Tomcat está disponible para su descarga desde la página de descargas de Tomcat .
En el momento de escribir este artículo, la última versión de Tomcat es 9.0.35. Antes de continuar con el siguiente paso, consulte la página de descarga de Tomcat 9 para ver si hay una versión más nueva disponible.
Utilícelo para descargar el archivo zip de Tomcat en eldirectorio:wget /tmp
VERSION=9.0.35wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz -P /tmp
Una vez que se complete la descarga, extraiga el archivo tar en el /opt/tomcatdirectorio::
sudo tar -xf /tmp/apache-tomcat-${VERSION}.tar.gz -C /opt/tomcat/Tomcat se actualiza periódicamente con parches de seguridad y nuevas funciones. Para tener más control sobre las versiones y actualizaciones, crearemos un enlace simbólico llamado latest, que apunta al directorio de instalación de Tomcat:
sudo ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/latestMás tarde, cuando actualice Tomcat, descomprima la versión más nueva y cambie el enlace simbólico para que apunte a ella.
El usuario del sistema que se creó previamente debe tener acceso al directorio de instalación de tomcat. Cambie la propiedad del directorio a usuario y grupo tomcat:
sudo chown -R tomcat: /opt/tomcatLos scripts de shell dentro del bindirectorio de Tomcat deben ser ejecutables :
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'Estos scripts se utilizan para iniciar, detener y administrar la instancia de Tomcat.
Crear archivo de unidad SystemD
En lugar de usar los scripts de shell para iniciar y detener el servidor Tomcat, lo configuraremos para que se ejecute como un servicio.
Abra su editor de texto y cree un tomcat.servicearchivo de unidad en el /etc/systemd/system/directorio:
sudo nano /etc/systemd/system/tomcat.servicePegue la siguiente configuración:
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
JAVA_HOMEvariable si la ruta a su instalación de Java es diferente.Guarde y cierre el archivo y notifique a systemd que existe un nuevo archivo de unidad:
sudo systemctl daemon-reloadHabilite e inicie el servicio Tomcat:
sudo systemctl enable --now tomcatConsulta el estado del servicio:
sudo systemctl status tomcatEl resultado debe mostrar que el servidor Tomcat está habilitado y ejecutándose:
● tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2020-05-25 17:58:37 UTC; 4s ago
Process: 5342 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 5362 (java)
...
Puede iniciar, detener y reiniciar Tomcat igual que cualquier otro servicio systemd:
sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat
Configuración del cortafuegos
Si su servidor está protegido por un firewall y desea acceder a Tomcat desde el exterior de su red local, debe abrir el puerto 8080.
Use el siguiente comando para abrir el puerto necesario:
sudo ufw allow 8080/tcp8080solo desde su red interna.Configuración de la interfaz de administración web de Tomcat
En este punto, debería poder acceder a Tomcat con un navegador web en el puerto 8080. No se puede acceder a la interfaz de administración web porque aún no hemos creado un usuario.
Los usuarios y roles de Tomcat se definen en el tomcat-users.xmlarchivo. Este archivo es una plantilla con comentarios y ejemplos que muestran cómo crear un usuario o rol.
En este ejemplo, crearemos un usuario con los roles "admin-gui" y "manager-gui". La función "admin-gui" permite al usuario acceder a la /host-manager/htmlURL y crear, eliminar y administrar hosts virtuales. El rol "manager-gui" permite al usuario implementar y cancelar la implementación de la aplicación web sin tener que reiniciar todo el contenedor a través de la /host-manager/htmlinterfaz.
Abra el tomcat-users.xmlarchivo y cree un nuevo usuario, como se muestra a continuación:
sudo nano /opt/tomcat/latest/conf/tomcat-users.xml<tomcat-users>
<!--
Comments
-->
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>Asegúrese de cambiar el nombre de usuario y la contraseña a algo más seguro.
De manera predeterminada, la interfaz de administración web de Tomcat está configurada para permitir el acceso a las aplicaciones Manager y Host Manager solo desde el host local. Para acceder a la interfaz web desde una IP remota, deberá eliminar estas restricciones. Esto puede tener varias implicaciones de seguridad y no se recomienda para los sistemas de producción.
Para habilitar el acceso a la interfaz web desde cualquier lugar, abra los siguientes dos archivos y comente o elimine las líneas resaltadas en amarillo.
Para la aplicación Administrador:
sudo nano /opt/tomcat/latest/webapps/manager/META-INF/context.xmlPara la aplicación Host Manager:
sudo nano /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>Si desea acceder a la interfaz web solo desde una IP específica, en lugar de comentar los bloques, agregue su IP pública a la lista.
Digamos que su IP pública es 41.41.41.41y desea permitir el acceso solo desde esa IP:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|41.41.41.41" />
</Context>La lista de direcciones IP permitidas es una lista separada por una barra vertical |. Puede agregar direcciones IP individuales o usar expresiones regulares.
Una vez hecho esto, reinicie el servicio Tomcat para que los cambios surtan efecto:
sudo systemctl restart tomcatPruebe la instalación de Tomcat
Abre tu navegador y escribe:http://<your_domain_or_IP_address>:8080
Suponiendo que la instalación sea exitosa, debería aparecer una pantalla similar a la siguiente:
El administrador de aplicaciones web de Tomcat está disponible en: http://<your_domain_or_IP_address>:8080/manager/html.
El administrador de host virtual de Tomcat está disponible en: http://<your_domain_or_IP_address>:8080/host-manager/html.
Conclusión#
Le mostramos cómo instalar Tomcat 9.0 en Ubuntu 20.04 y cómo acceder a la interfaz de administración de Tomcat.
Para obtener más información sobre Apache Tomcat, visite la página de documentación oficial .
Si encuentra un problema o tiene comentarios, deje un comentario a continuación.

0 Comentarios