Cómo instalar Apache Tomcat 10 en Debian 10

gato apache

Apache Tomcat es de código abierto y el servidor de aplicaciones web más popular utilizado para alojar aplicaciones basadas en Java. Viene con Java Servlet, JavaServer Pages (JSP), Java EL y proporciona un entorno para ejecutar códigos Java. Tomcat ofrece un amplio conjunto de características que incluyen, ligero, altamente flexible, bien documentado, ofrece un nivel adicional de seguridad, maduro y más.

En este tutorial, explicaremos cómo instalar Apache Tomcat 10 en un servidor Debian 10.

requisitos previos

  • Un servidor que ejecuta Debian 10.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Una contrase√Īa de root est√° configurada en el servidor.

Empezando

Antes de comenzar, actualice los paquetes de su sistema a la √ļltima versi√≥n con el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, puede continuar con el siguiente paso.

Instalar Java

Apache Tomcat es una aplicación basada en Java. Por lo tanto, deberá instalar Java en su servidor. Puede instalar Java con el siguiente comando:

apt-get install default-jdk -y

Después de la instalación, verifique la versión de Java usando el siguiente comando:

java --version

El siguiente resultado le mostrará la versión de Java instalada en su servidor.

openjdk 11.0.11 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

Una vez que haya terminado, puede continuar con el siguiente paso.

Instalar Apache Tomcat

Al momento de escribir este tutorial, la √ļltima versi√≥n disponible de Apache Tomcat es 10.0.7.

Primero, agregue el usuario para ejecutar Apache Tomcat usando el siguiente comando:

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

A continuación, descargue Apache Tomcat 10 con el siguiente comando:

wget https://mirrors.estointernet.in/apache/tomcat/tomcat-10/v10.0.7/bin/apache-tomcat-10.0.7.tar.gz

Una vez que se complete la descarga, extraiga el archivo descargado al directorio /opt/tomcat usando el siguiente comando:

tar -xzvf apache-tomcat-10.0.7.tar.gz -C /opt/tomcat --strip-components=1

A continuación, establezca la propiedad adecuada en el directorio /opt/tomcat con el siguiente comando:

chown -R tomcat:tomcat /opt/tomcat/

Una vez que haya terminado, puede continuar con el siguiente paso.

Crear usuario administrador web de Tomcat

A continuación, deberá crear un usuario administrador para acceder a la interfaz de administración de Tomcat. Puede crearlo editando el archivo tomcat-users.xml:

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

Agregue las siguientes l√≠neas antes de la √ļltima l√≠nea:

<role rolename="manager-gui" />
<user username="manager" password="pasword" roles="manager-gui" />

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

Guarde y cierre el archivo después de terminar. Ahora puede continuar con el siguiente paso.

Permitir el acceso remoto de Tomcat

De forma predeterminada, Tomcat est√° configurado para acceder solo desde el sistema local. Por lo tanto, deber√° configurar Tomcat para que se pueda acceder desde el sistema remoto.

Primero, edite el contexto.xml archivo para permitir el acceso remoto a la aplicación del administrador de Tomcat:

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

Elimina o comenta las siguientes líneas:

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

Guarde y cierre el archivo y luego edite el contexto.xml archivo para permitir el acceso remoto a la aplicación del administrador de host de Tomcat:

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

Eliminar las siguientes líneas:

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

Guarde y cierre el archivo cuando haya terminado. Ahora puede continuar con el siguiente paso.

Crear un archivo de unidad Systemd para Tomcat

A continuación, deberá crear un archivo de unidad systemd para administrar el servicio Tomcat. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/tomcat.service

Agregue las siguientes líneas:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64"
Environment="JAVA_OPTS=-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 y cierre el archivo, luego vuelva a cargar el demonio systemd para aplicar los cambios:

systemctl daemon-reload

A continuación, inicie el servicio Tomcat y habilítelo para que se inicie al reiniciar el sistema con el siguiente comando:

systemctl start tomcat
systemctl enable tomcat

Ahora puede verificar el estado del servicio Tomcat usando el siguiente comando:

systemctl status tomcat

Deberías obtener el siguiente resultado:

? tomcat.service - Tomcat
   Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 04:58:39 UTC; 15s ago
  Process: 5706 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 5713 (java)
    Tasks: 29 (limit: 2359)
   Memory: 154.7M
   CGroup: /system.slice/tomcat.service
           ??5713 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties -Djava.ut

Jul 01 04:58:39 tomcat systemd[1]: Starting Tomcat...
Jul 01 04:58:39 tomcat startup.sh[5706]: Tomcat started.
Jul 01 04:58:39 tomcat systemd[1]: Started Tomcat.

En este punto, Tomcat se inicia y escucha en el puerto 8080. Puede verificarlo con el siguiente comando:

ss -antpl | grep 8080

Deberías obtener el siguiente resultado:

LISTEN   0        100                          *:8080                  *:*       users:(("java",pid=5713,fd=43))

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar Nginx para Tomcat

A continuación, se recomienda utilizar Nginx como proxy inverso para acceder a la aplicación Tomcat.

Primero, instale el servidor web Nginx usando el siguiente comando:

apt-get install nginx -y

Una vez que Nginx esté instalado, cree un nuevo archivo de configuración de host virtual de Nginx: Anuncio

nano /etc/nginx/conf.d/tomcat.conf

Agregue las siguientes líneas:

server {
  listen 80;

  server_name    tomcat.example.com;
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8080/;
  }
}

Guarde y cierre el archivo cuando haya terminado, luego verifique el Nginx para cualquier error de sintaxis con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie Nginx para aplicar los cambios:

systemctl restart nginx

También puede verificar el estado del servicio Nginx usando el siguiente comando:

systemctl status nginx

Si todo está bien, debería ver el siguiente resultado:

? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2021-07-01 05:00:32 UTC; 6s ago
     Docs: man:nginx(8)
  Process: 6322 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 6323 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 6324 (nginx)
    Tasks: 2 (limit: 2359)
   Memory: 2.7M
   CGroup: /system.slice/nginx.service
           ??6324 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           ??6325 nginx: worker process

Jul 01 05:00:32 tomcat systemd[1]: Starting A high performance web server and a reverse proxy server...
Jul 01 05:00:32 tomcat systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Jul 01 05:00:32 tomcat systemd[1]: Started A high performance web server and a reverse proxy server.

Una vez que haya terminado, puede continuar con el siguiente paso.

Acceder a la aplicación Tomcat

Ahora, abra su navegador web y acceda a la aplicación Tomcat usando la URL http://tomcat.ejemplo.com. Será redirigido a la siguiente página:

gato apache

Haga clic en el Administrar aplicación. Debería ver la página de inicio de sesión de la aplicación Manager:

Inicio de sesión

Proporcione su nombre de usuario y contrase√Īa de administrador y haga clic en el Iniciar sesi√≥n bot√≥n. Deber√≠a ver el panel de control de la aplicaci√≥n Manager en la siguiente p√°gina:

Administrador de aplicaciones web de Tomcat

Para acceder al Host Manager, haga clic en el Administrador de host desde la página de inicio de Tomcat. Debería ver la página de inicio de sesión de Tomcat Host Manager:

Inicio de sesión del Administrador de host de Tomcat

Proporcione su nombre de usuario y contrase√Īa de administrador y haga clic en el Iniciar sesi√≥n bot√≥n. Deber√≠a ver el panel de control de Tomcat Host Manager en la siguiente p√°gina:

Administrador de host virtual de Tomcat

Conclusión

¡Felicidades! Ha instalado con éxito Apache Tomcat 10 en el servidor Debian 10. Ahora puede crear una aplicación Java y alojarla utilizando Apache Tomcat. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *