GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Tomcat 9 en Debian 10 Linux

Apache Tomcat es un servidor de aplicaciones basado en JAVA de código abierto que implementa las tecnologías Java Servlet, JavaServer Pages, Java Expression Language y Java WebSocket. Es uno de los servidores web y de aplicaciones más utilizados en el mundo en la actualidad.

Este tutorial explica cómo instalar Apache Tomcat 9.0 en Debian 10 Buster y configurar la interfaz de administración web de Tomcat.

Requisitos previos #

Las instrucciones asumen que ha iniciado sesión como raíz o usuario con privilegios sudo.

Instalando OpenJDK #

Tomcat 9.0 requiere la instalación de Java SE 8 o posterior en el servidor.

Ejecute el siguiente comando para instalar el paquete OpenJDK:

sudo apt install default-jdk

Creación de un usuario de Tomcat #

Ejecutar Tomcat como usuario root es un riesgo de seguridad y no se recomienda. Crearemos un nuevo usuario que se usará para ejecutar el servicio Tomcat.

Ejecute el siguiente comando para crear un nuevo usuario y grupo del sistema con un directorio de inicio de /opt/tomcat :

sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

Descargando Tomcat #

Al momento de escribir, la última versión de Tomcat es 9.0.27 . Antes de continuar con el siguiente paso, debe consultar la página de descarga de Tomcat 9 para ver si hay una versión más nueva disponible.

Cambie a /tmp y descargue la última versión binaria de Tomcat:

cd /tmpwget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

Cuando se complete la descarga, extraiga el archivo comprimido con gzip:

tar -xf apache-tomcat-9.0.27.tar.gz

Mueva los archivos de origen de Tomcat a /opt/tomcat directorio:

sudo mv apache-tomcat-9.0.27 /opt/tomcat/

Tomcat 9 se actualiza periódicamente. Para tener más control sobre las versiones y actualizaciones, cree un enlace simbólico llamado latest que apunta al directorio de instalación de Tomcat:

sudo ln -s /opt/tomcat/apache-tomcat-9.0.27 /opt/tomcat/latest

Más tarde, cuando actualice Tomcat, simplemente descomprima la versión más nueva y cambie el enlace simbólico para que apunte a la última versión.

Cambiar la propiedad del /opt/tomcat directorio al usuario y grupo tomcat , para que el usuario pueda tener acceso al directorio de instalación:

sudo chown -R tomcat: /opt/tomcat

Haz los scripts dentro del bin directorio ejecutable:

sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

Creando archivo de unidad SystemD #

Abra su editor de texto y cree un nuevo archivo llamado tomcat.service con los siguientes contenidos:

sudo nano /etc/systemd/system/tomcat.service
/etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9.0 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"

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

Notifique a systemd que existe un nuevo archivo de unidad e inicie el servicio Tomcat escribiendo:

sudo systemctl daemon-reloadsudo systemctl start tomcat

Verifique el estado del servicio Tomcat escribiendo:

sudo systemctl status tomcat
● tomcat.service - Tomcat 9.0 servlet container
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: 
   Active: active (running) since Sat 2019-11-09 13:53:51 PST; 5s ago
  Process: 5752 ExecStart=/opt/tomcat/latest/bin/startup.sh (code=exited, status
 Main PID: 5759 (java)

Si no hay errores, habilite el servicio Tomcat para que se inicie automáticamente en el momento del arranque:

sudo systemctl enable tomcat

Puede iniciar, detener y reiniciar Tomcat igual que cualquier otro servicio de unidad systemd:

sudo systemctl start tomcatsudo systemctl stop tomcatsudo systemctl restart tomcat

Ajuste del cortafuegos #

Si tiene un firewall ejecutándose en su sistema Debian y desea acceder a la interfaz de Tomcat desde el exterior de su red local, deberá abrir el puerto 8080 :

sudo ufw allow 8080/tcp

Al ejecutar una aplicación Tomcat en un entorno de producción, lo más probable es que tenga un equilibrador de carga o un proxy inverso, y es una buena práctica restringir el acceso al puerto 8080 solo a su red interna.

Configuración de la interfaz de administración web de Tomcat #

Ahora que Tomcat está instalado, el siguiente paso es crear un usuario con acceso a la interfaz de administración web.

Los usuarios de Tomcat y sus funciones se definen en tomcat-users.xml archivo.

Si abre el archivo, notará que está lleno de comentarios y ejemplos que describen cómo configurar el archivo:

sudo nano /opt/tomcat/latest/conf/tomcat-users.xml

Definiremos el nuevo usuario en el tomcat-users.xml archivo, como se muestra a continuación. El usuario tendrá acceso a la interfaz web de Tomcat (manager-gui y admin-gui). Asegúrese de cambiar el nombre de usuario y la contraseña por algo más seguro:

/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>

De manera predeterminada, la interfaz de administración web de Tomcat permite el acceso solo desde el servidor local. Si desea acceder a la interfaz web desde una IP remota o desde cualquier lugar que no se recomienda porque es un riesgo de seguridad, puede abrir los siguientes archivos y realizar los siguientes cambios.

Si necesita acceder a la interfaz web desde cualquier lugar, abra los siguientes archivos y comente o elimine las líneas resaltadas en amarillo:

/opt/tomcat/latest/webapps/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>
/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 necesita 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 32.32.32.32 y quieres permitir el acceso solo desde esa IP:

/opt/tomcat/latest/webapps/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|32.32.32.32" />
</Context>
/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|32.32.32.32" />
</Context>

La lista de direcciones IP permitidas es una lista separada por una barra vertical | . Puede agregar direcciones IP individuales o usar expresiones regulares.

Reinicie el servicio Tomcat para que los cambios surtan efecto:

sudo systemctl restart tomcat

Probar la instalación #

Abra su navegador y escriba:http://<your_domain_or_IP_address>:8080

Si la instalación es exitosa, aparecerá una pantalla similar a la siguiente:

El panel del administrador de aplicaciones web de Tomcat está disponible en http://<your_domain_or_IP_address>:8080/manager/html . Desde aquí, puede implementar, anular la implementación, iniciar, detener y recargar sus aplicaciones.

El panel del administrador de host virtual de Tomcat está disponible en http://<your_domain_or_IP_address>:8080/host-manager/html . Desde aquí, puede crear, eliminar y administrar hosts virtuales de Tomcat.


Debian
  1. Cómo instalar Logstash en Debian Linux

  2. Cómo instalar Tomcat 9 en Debian 9 Stretch Linux

  3. Cómo instalar Elasticsearch en Debian Linux

  4. Cómo instalar VirtualBox en Debian Linux

  5. Cómo instalar Tomcat 8 en Debian 8

Cómo instalar sudo en Debian o Ubuntu Linux

Cómo instalar MariaDB 10 en Debian 11 Bullseye Linux

Cómo instalar NextCloud en Debian 11 Bullseye Linux

Cómo instalar Tomcat en Debian 10 Buster

Cómo instalar Go en Debian 11

Cómo instalar Apache Tomcat en Debian 10