pescobar.apache_tomcat

Estado del Build Ansible Galaxy

pescobar.apache_tomcat

Rol de Ansible para instalar y configurar Apache Tomcat en CentOS/RHEL.

Fork de tomcat-ansible-role

Requisitos

  • Versiones de Tomcat soportadas por este rol:
    • 7.0
    • 8.0
    • 8.5
    • 9.0 (9.0.1 o posterior)
  • CentOS/RHEL 7
  • SELinux deshabilitado

Instalación

$ ansible-galaxy install pescobar.apache_tomcat

Ejemplo de Playbook (instalando Java desde RPMS de CentOS)

- hosts: servidores

  vars:

    tomcat_users:
      - username: "tomcat"
        password: "t3mpp@ssw0rd"
        roles: "tomcat,admin,manager,manager-gui"
      - username: "exampleuser"
        password: "us3rp@ssw0rd"
        roles: "tomcat"        

  roles:
    - role: pescobar.apache_tomcat

Ejemplo de Playbook (instalando Java usando rol externo)

- hosts: servidores

  vars:
    
    tomcat_install_java: false   # instalamos java usando el rol pescobar.java_openjdk
    tomcat_java_home: /opt/java  # instalamos java usando el rol pescobar.java_openjdk

    tomcat_users:
      - username: "tomcat"
        password: "t3mpp@ssw0rd"
        roles: "tomcat,admin,manager,manager-gui"
      - username: "exampleuser"
        password: "us3rp@ssw0rd"
        roles: "tomcat"        

  roles:
    - role: pescobar.java_openjdk
    - role: pescobar.apache_tomcat

Variables del Rol

La variable principal:

  • tomcat_version: versión de tomcat a instalar

Algunas variables que requieren revisión:

  • tomcat_install_java: True
    Por defecto se instalará OpenJDK Java. Cambia a "False" si no deseas que se instale OpenJDK Java con este rol.
  • tomcat_java_version: 1.8
    Versión de OpenJDK Java a instalar. El valor predeterminado es "1.8". Actualmente, la última versión de OpenJDK Java es "11".
  • tomcat_install_path: /opt
    Ubicación donde se instalará tomcat. El valor predeterminado es "/opt".
  • Gestión de memoria de la JVM:
    Puedes establecer el tamaño mínimo y máximo del heap de memoria con las variables JVM -Xms y -Xmx como un porcentaje de la memoria total del sistema. Por ejemplo, para un sistema con 2GB de RAM, usando los valores predeterminados: Xms=307m (15% de 2048MB), Xmx=1126m (55% de 2048MB).
    • tomcat_jvm_memory_percentage_xms: 15
    • tomcat_jvm_memory_percentage_xmx: 55
  • tomcat_allow_manager_access_only_from_localhost: False
    Si se establece en "True", la aplicación de administración de tomcat solo será accesible desde localhost por razones de seguridad. (Este comportamiento es predeterminado para Tomcat 8.5 y 9.0)
  • tomcat_allow_host_manager_access_only_from_localhost: False
    Si se establece en "True", la aplicación de administración de hosts de tomcat solo será accesible desde localhost por razones de seguridad. (Este comportamiento es predeterminado para Tomcat 8.5 y 9.0)
  • tomcat_users: Lista de usuarios de tomcat a crear. Ver ejemplo para el formato esperado.
  • tomcat_debug_mode: False
    Cámbialo a "True" para configurar tomcat que permita la depuración remota. El puerto de depuración predeterminado está configurado en tcp/8000 (puedes cambiarlo a través de la variable correspondiente).

Permisos de archivo:

  • tomcat_permissions_production: False
    Para una instalación en producción, establece esta variable en "True" para mayor seguridad. Para desarrollo o instalaciones de baja seguridad/más fáciles, establece esta variable en "False". El valor predeterminado es "False".
    • Si se establece en "True", todos los archivos de tomcat son propiedad de root con el grupo tomcat. El propietario tiene privilegios de lectura/escritura, el grupo solo tiene lectura y el mundo no tiene permisos. Las excepciones son los logs, el directorio temporal y el directorio de trabajo que son propiedad del usuario tomcat y no de root.
    • Si se establece en "False", todos los archivos de tomcat son propiedad de tomcat con el grupo tomcat. El propietario y el grupo tienen privilegios de lectura/escritura y el mundo solo tiene permisos de lectura.
  • tomcat_webapps_auto_deployment: True
    Para mejor seguridad, la auto-deploy debe estar deshabilitada y las aplicaciones web deben ser desplegadas como directorios expandidos. Si la auto-deploy está deshabilitada, cambia esto a "False". Esta variable solo tiene sentido para instalaciones en producción (si tomcat_permissions_production es "True"). El valor predeterminado es "True".
    • Si se establece en "True", el subdirectorio webapps es propiedad de tomcat con el grupo tomcat.
    • Si se establece en "False", el subdirectorio webapps es propiedad de root con el grupo tomcat.
  • tomcat_permissions_ensure_on_every_run: True
    Si se establece en "True", se aseguran los permisos de archivo en cada ejecución del playbook. Si se establece en "False", los permisos de archivo se establecen solo cuando se instala tomcat (en la primera ejecución del playbook).

Puertos de Tomcat:

  • tomcat_port_connector: 8080
  • tomcat_port_shutdown: 8005
  • tomcat_port_redirect: 8443
  • tomcat_port_ajp: 8009
  • tomcat_port_debug: 8000

Algunos valores predeterminados (probablemente no requieren cambios):

  • tomcat_service_name: tomcat
  • tomcat_service_enabled_on_startup: True
  • tomcat_java_home: /usr/lib/jvm/jre
  • tomcat_downloadURL: https://archive.apache.org/dist
  • tomcat_user: tomcat
  • tomcat_group: tomcat
  • tomcat_temp_download_path: /tmp/ansibletomcattempdir

Variables opcionales (por defecto indefinidas):

  • Puedes establecer un uid de usuario y gid de grupo personalizados para homogeneidad entre múltiples servidores. Por ejemplo:
    • tomcat_user_uid: 500
    • tomcat_group_gid: 500

En caso de desinstalación:

  • tomcat_state: absent
    • Para desinstalar tomcat que fue instalado usando este rol, establece esta variable en "absent". El valor predeterminado es "present".
  • tomcat_uninstall_create_backup: True
    Por defecto, en un enfoque más cuidadoso, se creará un archivo tar de respaldo en "tomcat_install_path" antes de la eliminación.
  • tomcat_uninstall_remove_java: False
    Cámbialo a "True" para desinstalar Java después de desinstalar tomcat.
  • Por defecto, el usuario y el grupo de tomcat serán eliminados. Cambia a "False" para preservarlos después de desinstalar tomcat.
    • tomcat_uninstall_remove_user: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    Para anular los valores anteriores y desinstalar todo, establécelo en "True".
Acerca del proyecto

Ansible role to install and configure Apache Tomcat on CentOS/RHEL

Instalar
ansible-galaxy install pescobar.apache_tomcat
Licencia
gpl-2.0
Descargas
59.3k
Propietario
Systems engineer. Linux/HPC/Cloud/BioInfo