GNU/Linux >> Tutoriales Linux >  >> Linux

Apache con Tomcat, una guía de instalación y configuración paso a paso

En este artículo, le mostraremos cómo instalar y configurar Tomcat 10 en Ubuntu y cómo podemos integrarlo con Apache HTTP Server utilizando el conector mod_jk.

Apache Tomcat es un servidor web de código abierto y un contenedor de servlet que se utiliza para implementar y servir aplicaciones web Java. La mayoría de los frameworks web Java modernos se basan en servlets, por ejemplo, JavaServer Faces, Struts, Spring, etc.

Apache Tomcat también proporciona de forma predeterminada un conector HTTP en el puerto 8080, es decir, Tomcat también se puede utilizar como servidor HTTP. Pero el rendimiento de Tomcat no es tan bueno como el rendimiento de un servidor web designado, como el servidor Apache HTTP.

En la mayor parte de la producción, Tomcat se usa junto con Apache HTTP Server. Apache HTTP Server atiende contenido estático como HTML, imágenes, etc., y reenvía las solicitudes de contenido dinámico a Tomcat.

Esta guía de instalación y configuración se aplica a Apache con Tomcat 10 en Ubuntu.

1. Instalar Java

Primero, como siempre, actualice sus paquetes:

sudo apt update

Debe tener Java instalado en su sistema para ejecutar el servidor Tomcat. Tomcat 10 requiere Java SE 8 o una versión superior instalada en su sistema. Ejecute el siguiente comando e instale el paquete OpenJDK 11 JDK:

sudo apt install openjdk-11-jdk

Compruebe la versión activa actual de Java:

java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

2. Crear usuario del sistema Tomcat

Ejecutando un servidor Tomcat bajo la raíz usuario es un riesgo de seguridad. Por lo tanto, recomendamos crear una cuenta de usuario separada para ejecutar el servidor Tomcat.

El siguiente comando creará un usuario y un grupo con el nombre tomcat en su sistema:

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

3. Instalar y configurar Apache Tomcat 10

Tomcat es una herramienta independiente de la plataforma y, siempre que Java esté instalado, la instalación es un proceso sencillo. Primero, debe descargar la versión deseada del sitio web oficial y luego descomprimirla en su sistema de archivos.

Ahora descargue la última versión binaria de Tomcat desde la página oficial de descargas de Tomcat.

wget https://apache.mirrors.nublue.co.uk/tomcat/tomcat-10/v10.0.8/bin/apache-tomcat-10.0.8.tar.gz

Una vez que se complete la descarga, extrae el archivo tar en /opt/tomcat directorio:

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

A continuación, establezca los permisos de archivo adecuados:

sudo chown -R tomcat:tomcat /opt/tomcat/
sudo chmod -R u+x /opt/tomcat/bin

Debe crear un usuario para el administrador de aplicaciones web en el servidor Tomcat. Se debe configurar una nueva cuenta de usuario para usar Apache Tomcat Web Application Manager.

Para ello, edite tomcat-users.xml archivo en su editor:

sudo vim /opt/tomcat/conf/tomcat-users.xml

Pegue el siguiente código dentro de <tomcat-users> </tomcat-users> etiquetas Asegúrate de cambiar PASSWORD para acceso de administrador y administrador.

<!-- user manager can access only manager section -->
<role rolename="manager-gui" />
<user username="manager" password="PASSWORD" roles="manager-gui" />

<!-- user admin can access manager and admin section both -->
<role rolename="admin-gui" />
<user username="admin" password="PASSWORD" roles="manager-gui,admin-gui" />

Tomcat proporciona una consola de administración basada en web. El servidor Tomcat predeterminado no permite el acceso remoto para las aplicaciones Manager y Host Manager. Sin embargo, solo puede acceder a ellos desde localhost.

Para habilitar las conexiones remotas, siga las instrucciones a continuación.

Cree un archivo conf/Catalina/localhost/manager.xml :

sudo vim /opt/tomcat/conf/Catalina/localhost/manager.xml

Agrega el siguiente contenido:

<Context privileged="true" antiResourceLocking="false" docBase="{catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

También debe crear un archivo xml para la aplicación web del administrador de host para permitir el acceso a hosts remotos.

sudo vim /opt/tomcat/conf/Catalina/localhost/host-manager.xml

Agrega el siguiente contenido:

<Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/host-manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

4. Crear un servicio Tomcat Systemd

Necesitamos crear un script de inicio para administrar Tomcat como un servicio systemd. Vamos a crear un tomcat.service archivo.

sudo vim /etc/systemd/system/tomcat.service

Pegue lo siguiente en el archivo:

[Unit]
Description=Tomcat
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"
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

Vuelva a cargar el demonio systemd para aplicar los cambios:

sudo systemctl daemon-reload

Configure Tomcat para que se inicie automáticamente al arrancar:

sudo systemctl enable tomcat

5. Instale el servidor Apache HTTP

Apache está disponible en los repositorios de software predeterminados de Ubuntu. Para instalarlo, escriba el siguiente comando:

sudo apt install apache2

6. Configurar Tomcat para trabajar con Apache

Para integrar los procesos del servidor Apache Tomcat con el servidor Apache HTTP, necesitamos el módulo mod_jk , que implementa la interfaz entre Tomcat y Apache, combinada con algunos pequeños pasos para configurar Apache y Tomcat según nuestras necesidades.

6.1 Instalar el módulo mod_jk

Instalación y configuración de mod_jk es la clave para que el servidor web y el servidor de aplicaciones funcionen juntos. Entonces, vamos a instalarlo:

sudo apt install libapache2-mod-jk

6.2 Configurando mod_jk con Apache y Tomcat.

Deberá habilitar el conector AJP en Tomcat para que el servidor Apache pueda redirigir las solicitudes a Tomcat. Hiciste esto editando el server.xml de Tomcat archivo.

sudo vim /opt/tomcat/conf/server.xml

Asegúrese de que el Conector AJP a continuación esté activo y no comentado.

<Connector protocol="AJP/1.3" port="8009" secretRequired="false" redirectPort="8443" />

Necesitamos configurar el servidor Apache HTTP para cargar e inicializar el módulo JK.

Necesitamos crear el /etc/apache2/workers.properties expediente. Este archivo define una lista de "trabajadores" de Tomcat a los que Apache puede pasar solicitudes.

sudo vim /etc/apache2/workers.properties

y pegue lo siguiente en el archivo:

# Define 1 real worker using ajp13
worker.list=worker1

# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

A continuación, haga referencia a este archivo en el archivo de configuración principal de Apache apache2.conf :

sudo vim /etc/apache2/apache2.conf

Agregamos estas líneas al final:

JkWorkersFile /etc/apache2/workers.properties

# Where to put jk shared memory
JkShmFile /var/log/apache2/mod_jk.shm

# Where to put jk logs
JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]
JkLogLevel info

# Select the timestamp log format
JkLogStampFormat "[ %a %b %d %H:%M:%S %Y ] "

6.3 Configure qué URL administrar con Apache

En este punto, deberá configurar Apache para indicarle qué URL procesar y transferir a Tomcat y qué URL desea que Apache procese.

sudo vim /etc/apache2/sites-enabled/000-default.conf

Agregue la siguiente línea debajo de DocumentRoot entrada. Esto hace posible solicitar JRS a través del servidor web Apache.

JkMount /examples worker1
JkMount /examples/* worker1

7. Cómo verificar que está funcionando

Reinicie los servicios de Apache y Tomcat:

sudo systemctl restart apache2
sudo systemctl restart tomcat

Una vez que inicie el servidor, abra su navegador de Internet y vaya a la URL http://server_ip_address:8080 . Tomcat se instaló correctamente si ve una página similar a la de la imagen a continuación.

Una forma sencilla de verificar que la integración entre Apache HTTP Server y Tomcat está funcionando es solicitar uno de los archivos de ejemplo que Tomcat debería ofrecer.

Apunte su navegador a http://server_ip_address/examples/ y ejecute algunas de las aplicaciones de muestra.

¡Felicidades! Ha integrado con éxito Tomcat con Apache HTTP Server.


Linux
  1. Cómo configurar un servidor web Apache

  2. Instalación de WordPress en Ubuntu Linux con Apache y MySQL

  3. Kali Linux en VirtualBox:una guía de instalación paso a paso

  4. Guía de instalación paso a paso de VMware ESXi con capturas de pantalla

  5. Guía para principiantes de Samba (instalación y configuración)

Instalación y Configuración del Servidor Corporativo Univention

Apache Cassandra:características e instalación

Cómo instalar y configurar ModEvasive con Apache en Ubuntu 18.04

Instalación y primeros pasos con Git

Guía y configuración del gestor de arranque LILO Linux

Guía para principiantes del servidor Apache HTTP:instalación y configuración