GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Apache Tomcat 10 en Debian 10

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

  • Un servidor que ejecuta Debian 10.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en el servidor.

Cómo empezar

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 usando 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 acceso remoto de Tomcat

De forma predeterminada, Tomcat está configurado para acceder solo desde el sistema local. Por lo tanto, deberá configurar Tomcat para poder acceder a él desde el sistema remoto.

Primero, edite el context.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, luego edite el context.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

Elimina 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:

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 detectar 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.example.com . Será redirigido a la siguiente página:

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

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de control de la aplicación Manager en la siguiente página:

Para acceder al Administrador de host, haga clic en 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:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver el panel de control de Tomcat Host Manager en la siguiente página:

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. Siéntase libre de preguntarme si tiene alguna pregunta.


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