GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Apache Tomcat en Debian 11 (paso a paso)

Apache Tomcat es un servidor web gratuito y de código abierto que se usa ampliamente para alojar aplicaciones web escritas en el lenguaje de programación Java. Es una implementación de Jakarta Servlet y Jakarta Expression Language (anteriormente Java Servlet y Java Expression Language) y otras tecnologías Java websocket.

Apache Tomcat no es exactamente un servidor web en el sentido de Apache o Nginx. Es un servidor de aplicaciones que proporciona un ecosistema HTTP de Java puro y lógica basada en Java para servir código Java.

En esta guía, aprenderemos cómo instalar Apache Tomcat en Debian 11 (Bullseye) paso a paso.

Paso 1)  Instalar OpenJDK

Dado que Tomcat se basa en Java, el primer paso será instalar Java, que será proporcionado por OpenJDK. Instalaremos OpenJDK 11, que es la última versión de LTS.

Para instalar OpenJDK 11, actualice las listas de paquetes.

$ sudo apt update

Luego ejecute el siguiente comando para instalar OpenJDK 11.

$ sudo apt install openjdk-11-jdk -y

Para confirmar la versión de Java instalada, ejecute el comando:

$ java -version

Paso 2) Descarga e instala Apache Tomcat

Con la instalación de Java fuera del camino, nuestro próximo paso es descargar e instalar Apache Tomcat. Al momento de redactar esta guía, la última versión de Apache Tomcat es v10.0.18.

Visite la página de descarga oficial de Apache Tomcat y obtenga el último binario o use el comando wget de la siguiente manera.

$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.18/bin/apache-tomcat-10.0.18.tar.gz

A continuación, cree un directorio en el directorio /opt.

$ sudo mkdir /opt/tomcat

A continuación, extraiga el archivo binario con el comando tar en la ruta /opt/tomcat.

$ sudo tar -xvf apache-tomcat-10*tar.gz -C /opt/tomcat --strip-components=1

Paso 3) Cree un nuevo usuario y grupo para Tomcat

Por lo general, no es una buena idea probar las aplicaciones web con el usuario raíz, ya que un atacante puede comprometer fácilmente al usuario y provocar una violación del sistema.

Considerando eso, vamos a crear un usuario no root que tendrá acceso al directorio /opt/tomcat.

Por lo tanto, cree un grupo llamado tomcat.

$ sudo groupadd tomcat

A continuación, cree el usuario tomcat y agréguelo al grupo tomcat con /opt/tomcat como directorio de inicio.

$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Paso 4) Configurar permisos de usuario

Continuando, vamos a establecer la siguiente propiedad y permisos en el directorio /opt/tomcat con los comandos chown y chomd respectivamente.

$ sudo chown -R tomcat: /opt/tomcat
$ sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'

Paso 5) Cree un archivo systemd para Apache Tomcat

Necesitamos hacer que Apache Tomcat se ejecute en segundo plano como un servicio systemd que se puede iniciar, detener y habilitar. De forma predeterminada, Tomcat no viene con un archivo de unidad systemd y, por lo tanto, lo crearemos manualmente de la siguiente manera.

$ sudo vi /etc/systemd/system/tomcat.service

Pegue el siguiente bloque de código que define el archivo de servicio systemd.

[Unit]
Description=Tomcat webs servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
RestartSec=10
Restart=always
Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom"
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

Guarde los cambios y salga del archivo. Luego vuelva a ejecutar el generador systemd y vuelva a cargar todos los archivos de la unidad.

$ sudo systemctl daemon-reload

Para confirmar la ruta predeterminada para Java, ejecute el comando

$ sudo update-java-alternatives -l

Esto coincide con la ruta especificada en el archivo de servicio de systemd, lo que significa que estamos en el camino correcto.

Paso 6) Habilitar e iniciar el demonio Tomcat

Con el archivo systemd de Tomcat en su lugar, inicie el demonio Apache Tomcat y habilítelo para que se inicie al iniciar el sistema.

$ sudo systemctl daemon-reload
$ sudo systemctl start tomcat
$ sudo systemctl enable tomcat

Luego verifique que Apache Tomcat se esté ejecutando

$ systemctl status tomcat

A partir de la salida, podemos ver que el demonio Tomcat se está ejecutando, lo que implica que nuestra configuración está bien.

Paso 7) Agregue el usuario administrador de Tomcat y configure roles

Necesitamos configurar un usuario administrativo para acceder a las secciones 'estado del servidor', 'administrador de host' y 'aplicación de administrador' en la página web de Tomcat. De lo contrario, nos encontraremos con un error en el navegador.

Para ello, editaremos el archivo de configuración de usuario de Tomcat.

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

Pegue las siguientes líneas de código justo antes de la etiqueta . Siéntase libre de especificar sus propios valores de nombre de usuario y contraseña.

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<user username="linuxtechi" password="<enetr-password-here>" roles="admin,admin-gui,manager,manager-gui"/>

Guarde los cambios y cierre el archivo de configuración.

Paso 8) Administrar el acceso remoto a Apache Tomcat

De forma predeterminada, solo puede acceder a la interfaz web de Tomcat desde el sistema host. Por lo tanto, debemos configurar el acceso remoto a Tomcat Manager editando manualmente el archivo de configuración context.xml.

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

Desplácese hacia abajo y comente estas líneas simplemente agregando al final.

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

Guarda el archivo y cierra. A continuación, debemos permitir el acceso remoto a Host Manager. Por lo tanto, edite el archivo context.xml del administrador de Host.

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

Nuevamente, comente el siguiente bloque de texto agregando al final.

<!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

Guarde los cambios y salga del archivo de configuración. Para aplicar todos los cambios realizados, reinicie Tomcat.

$ sudo systemctl restart tomcat

Paso 9) Acceso a Apache Tomcat

Tomcat ahora está completamente configurado y se puede acceder de forma remota. Queda un paso más. Si está ejecutando un firewall UFW, considere abrir el puerto 8080, que es el puerto predeterminado en el que escucha Apache Tomcat.

$ sudo ufw allow 8080
$ sudo ufw reload

Finalmente, para acceder a la interfaz web de Tomcat, inicie su navegador y diríjase a la siguiente dirección.

http://server-ip-addres:8080
or
http://youdomain.com:8080

Esto debería llevarlo a la página de inicio predeterminada del servidor web Tomcat, como se muestra.

Para acceder a la página "Estado del servidor", haga clic en "Estado del servidor". Aparecerá una ventana emergente solicitando las credenciales de usuario. Proporcione las credenciales de inicio de sesión de administrador especificadas en el paso 6 y haga clic en "Iniciar sesión".

Del mismo modo, se le solicitarán las mismas credenciales cuando acceda al Administrador de aplicaciones de Tomcat, al que se puede acceder haciendo clic en "Administrador de aplicaciones" en la interfaz web predeterminada.

Al hacer clic en 'Administrador de host', accederá a la sección Administrador de host virtual, como se muestra.

Conclusión

Y es una envoltura. En esta guía, lo guiamos a través de la instalación en el servidor web Apache Tomcat en Debian 11. ¡Todo lo mejor para alojar sus aplicaciones Java!


Debian
  1. Cómo instalar Tomcat 8.5 en Debian 9

  2. Cómo instalar Apache Maven en Debian 10

  3. Cómo instalar Apache Maven en Debian 11

  4. Cómo instalar Apache Cassandra en Debian 11 / Debian 10

  5. Cómo instalar Tomcat 8 en Debian 8

Cómo instalar Apache Guacamole en Debian 11

Cómo instalar Apache Tomcat en Debian 11

Cómo instalar Apache NetBeans en Debian 11 / Debian 10

Cómo instalar Apache Subversion en Debian 9

Cómo instalar Apache Kafka en Debian 9

Cómo instalar Apache Tomcat en Debian 10