abdennour.tomcat_ansible_role
tomcat-ansible-role
This is an Ansible role for installing and configuring Apache Tomcat on CentOS/RHEL systems.
Requirements
Make sure you have the following:
- Supported Tomcat versions: 7.0, 8.0, 8.5, and 9.0 (version 9.0.1 or higher)
- CentOS/RHEL 7
- SELinux should be turned off
Installation
Run this command to install the role:
$ ansible-galaxy install zaxos.tomcat-ansible-role
Example Playbook
Here’s a simple playbook example:
- 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
Role Variables
Main Variable
tomcat_version: Specify the Tomcat version you want to install.
Review These Variables
tomcat_install_java: Set to True to install OpenJDK Java. Set to False if you don’t want it installed.tomcat_java_version: Java version to install (default is 1.8).tomcat_install_path: Directory for Tomcat installation (default is /opt).- Memory settings for JVM:
tomcat_jvm_memory_percentage_xms: Minimum heap size percentage (default is 15%).tomcat_jvm_memory_percentage_xmx: Maximum heap size percentage (default is 55%).
- Security Settings:
tomcat_allow_manager_access_only_from_localhost: Set to True for localhost-only access to the manager app for security.tomcat_allow_host_manager_access_only_from_localhost: Set to True for localhost-only access to the host manager app for security.
tomcat_users: A list of users you want to create in Tomcat.tomcat_debug_mode: Set to True to enable remote debugging.
File Permissions
tomcat_permissions_production: Set to True for stricter security in production environments.tomcat_webapps_auto_deployment: Set to True to enable auto-deployment; for production use, it's safer to disable.tomcat_permissions_ensure_on_every_run: Set to True to ensure file permissions are checked on every playbook run.
Tomcat Ports
tomcat_port_connector: 8080tomcat_port_shutdown: 8005tomcat_port_redirect: 8443tomcat_port_ajp: 8009tomcat_port_debug: 8000
Additional Defaults
A few other default settings you might not need to change:
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
Custom Templates
If you need custom configurations, use your templates by specifying:
tomcat_template_servertomcat_template_userstomcat_template_systemd_servicetomcat_template_manager_contexttomcat_template_host_manager_context
Optional Variables
You can set specific user IDs and group IDs for consistency across servers:
tomcat_user_uid: 500tomcat_group_gid: 500
Uninstallation
To uninstall Tomcat, set:
tomcat_state: absenttomcat_uninstall_create_backup: True (creates a backup before deletion)tomcat_uninstall_remove_java: False (change to True to also remove Java)- Control removal of user and group with:
tomcat_uninstall_remove_user: Truetomcat_uninstall_remove_group: True
tomcat_uninstall_remove_all: False (set to True to remove everything)
For Offline Environments
If your remote host cannot access the internet, set:
tomcat_remote_is_disconnected: True
This summary simplifies installation and configuration of Tomcat using Ansible, ensuring clarity in setup and management.
Informazioni sul progetto
Ansible role to install and configure Apache Tomcat on CentOS/RHEL
Installa
ansible-galaxy install abdennour.tomcat_ansible_roleLicenza
gpl-2.0
Download
186
Proprietario
Former full stack developer, switched to the dark-side of DevOps!
