Cómo instalar Tomcat en Ubuntu 20.04 usando Ansible

Apache Tomcat se utiliza a menudo como servidor de aplicaciones para aplicaciones estrictamente basadas en web. Básicamente, ejecuta servlets Java y genera páginas web que incluyen codificación JSP.

La instalación manual en Tomcat requiere mucho tiempo. Con Ansible podemos automatizar fácilmente el proceso de instalación.

En este tutorial aprendemos a instalar Tomcat sobre Ubuntu 20.04 usando Ansible.

Requisitos previos:

Aquí vamos a utilizar:

  • Un nodo de control – donde vamos a instalar y configurar el ansible. Desde el nodo de control, vamos a iniciar el libro de jugadas de Ansible para instalar Tomcat 9.
  • Necesitas tener una apertura Conexión SSH al host remoto.
  • Un nodo de host – donde ansible instalará e iniciará Tomcat 9.
  • Tanto el nodo de control como el host tienen direcciones IP privadas y ambas máquinas son Ubuntu 20.04

Instalación de Ansible en el nodo de control en Ubuntu 20.04

Primero, actualice su sistema con el comando estándar:

PS sudo actualización apta

Después de la actualización, instale ansible ejecutando el siguiente comando:

$ sudo apt install ansible -y

Para verificar dónde está instalado y ubicado el ansible, ejecute el comando:

$ which ansible

Debería ver algo como esto:

Ubicación del sistema de archivos Ansible

Si incluye un directorio en / usr / bin

$ ls /usr/bin

Encontrará los paquetes instalados de Ansible:

Paquetes instalados de Ansible en / usr / binPaquetes instalados de Ansible

Para verificar la versión de Ansible instalado, ejecute el comando:

$ ansible --version

Obtendría una salida similar a esta:

ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

Como puede ver, además de la versión ansible, también obtendrá:

  • Dónde se coloca el archivo de configuración ansible
  • Dónde se colocan los módulos y la ruta de búsqueda configurada
  • ¿Dónde está la ubicación del módulo ansible python?
  • Ubicación ejecutable y versión de Python

El archivo de configuración principal se almacena en / etc / ansible / hosts Archivo.

Debe agregar su host local o la IP del servidor al archivo, o si tiene una dirección IP privada, debe agregarla.

Abra el archivo de hosts con su editor favorito:

$ sudo nano /etc/anisble/hosts

Verá el archivo de configuración de hosts, algo como esto:

Configuración de hosts Ansible en / etc / ansible / hostsArchivo / etc / ansible / hosts

Como puede ver, hay una sección que pertenece a la # Ej 1 sección, agregue allí su dirección IP de host remoto sin # expresión.

A continuación, para verificar que tiene un host con esta dirección IP, ejecute el siguiente comando:

$ sudo ansible all -i hosts --list-hosts

Obtendrá la lista de hosts, algo como este resultado en la imagen:

Salida de hosts AnsibleLista de hosts anisbles

El siguiente paso es agregar la clave SSH pública del nodo de control de Ansible a la máquina host remota.
Este paso es esencial para permitir que Ansible instale Tomcat en un servidor remoto.

Genere sus claves ssh con el siguiente comando:

$ sudo ssh-keygen

Después de generar claves, verá dónde se almacenan las claves. Para nosotros ahora solo es importante la clave pública.

Generando kyps SSHClaves SSH generadas

Ahora necesitamos copiar la clave pública a un servidor. Recuerde que estamos haciendo esto porque necesitamos permitir que Ansible instale Tomcat en el servidor remoto desde el nodo de Control.

NOTA: Solo se copia la clave pública en el servidor. La clave privada nunca debe copiarse en otra máquina.

Utilice un comando como el siguiente para copiar la clave SSH:

$ sudo ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

¿Dónde están el usuario = linóxido y el host = dirección IP para el inicio de sesión remoto SSH?

Después de copiar la clave a la máquina remota, deberá ingresar su contraseña para la conexión ssh remota.

Ahora todo está configurado y listo para ejecutar ansible-playbook.

Instale Tomcat 9 en un nodo de host remoto usando Ansible

Ahora ve a / etc / ansible y crea un archivo allí llamado tomcat-setup.yaml. Puede ver y copiar el archivo del Repositorio de Github:

— – nombre: instalar hosts del servidor tomcat: todos se convierten en: tareas verdaderas: – nombre: instalar OpenJDK apt: name: openjdk-11-jre-headless – nombre: descargar paquetes del servidor tomcat get_url: url: https: // mirrors. estointernet.in/apache/tomcat/tomcat-9/v9.0.44/bin/apache-tomcat-9.0.44.tar.gz dest: / usr / local – nombre: extraer paquetes tomcat desarchivar: src: / usr / local / apache-tomcat-9.0.44.tar.gz dest: / usr / local remote_src: yes – nombre: iniciar el shell de servicios tomcat: nohup /usr/local/apache-tomcat-9.0.44/bin/startup.sh

Como puede ver en el archivo tomcat-setup.yaml, hay cuatro tareas:

1) Instalar OpenJDK
2) Descargue los paquetes de Tomcat Server y colóquelos en el lugar de destino.
3) Extraiga los paquetes de Tomcat, desde el lugar de origen al de destino.
4) Inicie el servicio Tomcat con la ayuda del script startup.sh

Inicie el ansible-playbook con el comando:

$ sudo ansible-playbook -i hosts tomcat-setup.yaml

Verá algo como este resultado:

Estado de salida de Ansible tomcat-setup.yamlestado de ansible tomcat-setup.yaml

Después de comprobar que todo está bien. Vaya a su máquina host remota y verifique que JAVA esté instalado y verifique si el servicio Tomcat se está ejecutando con estos comandos:

$ sudo java -version

Producción:

versión de java en el host remotoversión de java en el host remoto

Y verifique si Tomcat 9 se descargó correctamente y se inició con el comando:

$ ps -ef | grep tomcat

Producción:

Estado del servicio de Tomcat estado del servicio tomcat en el host remoto

Visite la URL del servidor en puerto 8080 para probar la instalación y configuración de Tomcat 9.

Servidor web Tomcat:

https://<domain_or_IP_address>:8080

Panel de control del administrador de aplicaciones web de Tomcat:

https://<domain_or_IP_address>:8080/manager/html

Panel de control del administrador de host virtual de Tomcat:

https://<domain_or_IP_address>:8080/host-manager/html

Ahora debería poder implementar su aplicación en el servidor Tomcat 9 que se ejecuta en una máquina Linux Ubuntu 20.04.

Conclusión

En este tutorial, aprendimos cómo instalar Tomcat 9 usando Ansible en el nodo remoto. Esta fue una example de cómo instalar un servidor Tomcat en un solo nodo host desde el nodo de control. Con Ansible puede instalar tantos servidores Tomcat como desee en tantos nodos de host como desee.