abdennour.tomcat_ansible_role
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
: 15tomcat_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
: 8080tomcat_port_shutdown
: 8005tomcat_port_redirect
: 8443tomcat_port_ajp
: 8009tomcat_port_debug
: 8000
Algunos valores por defecto (probablemente no requieran cambios):
tomcat_service_name
: tomcattomcat_service_enabled_on_startup
: Truetomcat_java_home
: /usr/lib/jvm/jretomcat_downloadURL
: https://archive.apache.org/disttomcat_user
: tomcattomcat_group
: tomcattomcat_listen_address
: 0.0.0.0tomcat_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
: 500tomcat_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
: Truetomcat_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!