abdennour.tomcat_ansible_role

Estado de Construcción Ansible Galaxy

tomcat-ansible-role

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

Requisitos

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

Instalación

$ ansible-galaxy install zaxos.tomcat-ansible-role

Ejemplo de Playbook

- hosts: servers
  become: true
  vars:
    tomcat_version: 8.5.23
    
    tomcat_permissions_production: True
    
    tomcat_users:
      - username: "tomcat"
        password: "t3mpp@ssw0rd"
        roles: "tomcat,admin,manager,manager-gui"
      - username: "exampleuser"
        password: "us3rp@ssw0rd"
        roles: "tomcat"        
  roles:
    - role: zaxos.tomcat-ansible-role

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 esta rol instale OpenJDK Java.
  • tomcat_java_version: 1.8
    Versión de OpenJDK Java a instalar. El valor por defecto es "1.8". Actualmente, la última versión de OpenJDK Java es "11".
  • tomcat_install_path: /opt
    Ubicación en la que se instalará tomcat. El valor por defecto es "/opt".
  • Gestión de memoria de JVM:
    Puedes establecer el tamaño mínimo y máximo de la memoria heap con las siguientes variables JVM -Xms y -Xmx como porcentaje de la memoria total del sistema. Por ejemplo, para un sistema con 2GB de RAM, utilizando los valores por defecto: 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 gestión de tomcat solo será accesible desde localhost por razones de seguridad. (Este comportamiento es el valor por defecto 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 gestión de host de tomcat solo será accesible desde localhost por razones de seguridad. (Este comportamiento es el valor por defecto para Tomcat 8.5 y 9.0)
  • tomcat_users: Lista de usuarios de tomcat a crear. Consulta el ejemplo para el formato esperado.
  • tomcat_debug_mode: False
    Cámbialo a "True" para configurar tomcat para permitir depuración remota. El puerto de depuración por defecto se establece en tcp/8000 (puedes cambiarlo mediante la variable correspondiente).

Permisos de archivos:

  • tomcat_permissions_production: False
    Para la instalación en producción, configura esta variable en "True" para mayor seguridad. Para desarrollo o una instalación de menor seguridad/más sencilla, configúralo en "False". El valor por defecto es "False".
    • Si se establece en "True", todos los archivos de tomcat son propiedad de root con grupo tomcat. El propietario tiene privilegios de lectura/escritura, el grupo solo tiene permisos de lectura y el mundo no tiene permisos. Las excepciones son los directorios de logs, temp y work que son propiedad del usuario tomcat en lugar de root.
    • Si se establece en "False", todos los archivos de tomcat son propiedad del usuario tomcat con 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 mayor seguridad, la auto-despliegue debería estar deshabilitada y las aplicaciones web deberían desplegarse como directorios explotados. Si la auto-despliegue está deshabilitada, configúralo en "False". Esta variable solo tiene sentido para instalaciones en producción (si tomcat_permissions_production es "True"). El valor por defecto es "True".
    • Si se establece en "True", el subdirectorio webapps es propiedad de tomcat con grupo tomcat.
    • Si se establece en "False", el subdirectorio webapps es propiedad de root con grupo tomcat.
  • tomcat_permissions_ensure_on_every_run: True
    Si se establece en "True", se asegura que los permisos de archivos se mantengan en cada ejecución del playbook. Si se establece en "False", los permisos de archivos solo se configuran cuando tomcat es instalado (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 por defecto (probablemente no requieran 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_listen_address: 0.0.0.0
  • tomcat_temp_download_path: /tmp/ansibletomcattempdir

Plantillas personalizadas para server.xml, users.xml, archivo de servicio systemd, etc.:

  • En caso de que las plantillas por defecto no se adapten a tus necesidades, puedes usar tus propias plantillas personalizadas cambiando las siguientes variables:
    • tomcat_template_server
    • tomcat_template_users
    • tomcat_template_systemd_service
    • tomcat_template_manager_context
    • tomcat_template_host_manager_context

Variables opcionales (por defecto indefinidas):

  • Puedes establecer uid de usuario personalizado y gid de grupo 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, configura esta variable en "absent". El valor por defecto es "present".
  • tomcat_uninstall_create_backup: True
    Por defecto, por razones de seguridad, se creará un archivo de respaldo tar 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 grupo tomcat serán eliminados. Cambia a "False" para conservarlos después de desinstalar tomcat.
    • tomcat_uninstall_remove_user: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    Para sobrescribir los valores anteriores y desinstalar todo, configúralo en "True".

Variables para ambientes remotos desconectados:

  • tomcat_remote_is_disconnected: False Cámbialo a "True" si tu host remoto (host administrado) está fuera de línea y no puede acceder a Internet.
Acerca del proyecto

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

Instalar
ansible-galaxy install abdennour.tomcat_ansible_role
Licencia
gpl-2.0
Descargas
113
Propietario
Former full stack developer, switched to the dark-side of DevOps!