zaxos.tomcat-ansible-role

Statut de construction Ansible Galaxy

tomcat-ansible-role

Rôle Ansible pour installer et configurer Apache Tomcat sur CentOS/RHEL.

Exigences

  • Versions de Tomcat supportées par ce rôle :
    • 7.0
    • 8.0
    • 8.5
    • 9.0 (9.0.1 ou plus récent)
  • CentOS/RHEL 7 ou 8
  • SELinux désactivé

Installation

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

Exemple de Playbook

- hosts: serveurs
  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 de Rôle

La variable principale :

  • tomcat_version : version de Tomcat à installer

Quelques variables à vérifier :

  • tomcat_install_java : True
    Par défaut, OpenJDK Java sera installé. Changez-le à "False" si vous ne souhaitez pas qu'OpenJDK Java soit installé par ce rôle.
  • tomcat_java_version : 1.8
    Version d'OpenJDK Java à installer. Par défaut, c'est "1.8". Actuellement, la dernière version d'OpenJDK Java est "11".
  • tomcat_install_path : /opt
    Emplacement où Tomcat sera installé. Par défaut, c'est "/opt".
  • Gestion de la mémoire JVM :
    Vous pouvez définir la taille de la mémoire minimum et maximum avec les variables JVM -Xms et -Xmx en pourcentage de la mémoire totale du système. Par exemple, pour un système de 2 Go de RAM, en utilisant les valeurs par défaut : 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 réglé sur "True", l'application de gestion Tomcat ne sera accessible que depuis localhost pour des raisons de sécurité. (Ce comportement est par défaut pour Tomcat 8.5 et 9.0)
  • tomcat_allow_host_manager_access_only_from_localhost: False
    Si réglé sur "True", l'application de gestion des hôtes Tomcat ne sera accessible que depuis localhost pour des raisons de sécurité. (Ce comportement est par défaut pour Tomcat 8.5 et 9.0)
  • tomcat_users : Liste des utilisateurs Tomcat à créer. Voir l'exemple pour le format attendu.
  • tomcat_debug_mode: False
    Changez-le à "True" pour configurer Tomcat afin de permettre le débogage à distance. Le port de débogage par défaut est tcp/8000 (vous pouvez le changer par la variable correspondante).

Permissions de fichiers :

  • tomcat_permissions_production: False
    Pour une installation en production, réglez cette variable sur "True" pour une sécurité plus stricte. Pour le développement ou une installation à sécurité faible, réglez cette variable sur "False". Par défaut, c'est "False".
    • Si réglé sur "True", tous les fichiers Tomcat sont possédés par root avec le groupe tomcat. Le propriétaire a des privilèges de lecture/écriture, le groupe n'a que des droits de lecture et le monde n'a aucun droit. Les exceptions sont les journaux, temporaires et le répertoire de travail, qui sont possédés par l'utilisateur Tomcat plutôt que par root.
    • Si réglé sur "False", tous les fichiers Tomcat sont possédés par Tomcat avec le groupe tomcat. Le propriétaire et le groupe ont des privilèges de lecture/écriture et le monde n'a que des droits de lecture.
  • tomcat_webapps_auto_deployment: True
    Pour une meilleure sécurité, l'auto-déploiement doit être désactivé et les applications web doivent être déployées sous forme de répertoires explosés. Si l'auto-déploiement est désactivé, réglez ceci sur "False". Cette variable a du sens uniquement pour une installation en production (si tomcat_permissions_production est "True"). Par défaut, c'est "True".
    • Si réglé sur "True", le sous-répertoire webapps est possédé par Tomcat avec le groupe tomcat.
    • Si réglé sur "False", le sous-répertoire webapps est possédé par root avec le groupe tomcat.
  • tomcat_permissions_ensure_on_every_run: True
    Si réglé sur "True", les permissions de fichiers sont assurées à chaque exécution du playbook. Si réglé sur "False", les permissions de fichiers sont définies uniquement lors de l'installation de Tomcat (à la première exécution du playbook).
  • tomcat_prod_modes:
    Liste des sous-répertoires Tomcat, des modes de répertoire et des modes de fichier respectivement. Les permissions appliquées de manière récursive.
tomcat_prod_modes:
 - ['bin', '2750', '0640']
 - ['conf', '2750', '0640']
 - ['lib', '2750', '0640']
 - ['logs', '0300', '0640']
 - ['temp', '0750', '0640']
 - ['work', '0750', '0640']
 - ['webapps', '0750', '0640']

Ports Tomcat :

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

Tomcat AJP :

  • tomcat_ajp_enabled: False
    Réglez sur "True" pour activer le connecteur AJP.
  • tomcat_ajp_listen_address: "::1"
    Par défaut, le connecteur écoutera sur l'adresse de boucle locale. Sauf si la JVM est configurée différemment à l'aide des propriétés système, les connecteurs Java (NIO, NIO2) écouteront sur les adresses IPv4 et IPv6 lorsqu'ils sont configurés avec "0.0.0.0" ou "::". Le connecteur APR/natif n'écoutera que sur les adresses IPv4 s'il est configuré avec "0.0.0.0" et écoutera sur les adresses IPv6 (et éventuellement les adresses IPv4 selon le réglage de ipv6v6only) s'il est configuré avec "::".
  • tomcat_ajp_secret: "my-@jp-s3cr3t"
    Cet attribut doit être spécifié avec une valeur non nulle et de longueur non nulle, sauf si "secretRequired" est explicitement configuré sur "false". Merci de changer la valeur par défaut pour quelque chose de sécurisé.
  • tomcat_ajp_secret_required: True
    Réglez sur "False" pour configurer "secretRequired=False".

Quelques valeurs par défaut (probablement pas besoin de modifier) :

  • 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
  • tomcat_systemd_config_path: /etc/systemd/system

Modèles personnalisés pour server.xml, users.xml, fichier de service systemd, etc. :

  • Si les modèles par défaut ne correspondent pas à vos besoins, vous pouvez utiliser vos propres modèles personnalisés en changeant les variables suivantes :
    • tomcat_template_server
    • tomcat_template_users
    • tomcat_template_systemd_service
    • tomcat_template_setenv
    • tomcat_template_manager_context
    • tomcat_template_host_manager_context

Variables optionnelles (par défaut non définies) :

  • Vous pouvez définir une uid d'utilisateur personnalisée et un gid de groupe pour l'homogénéité entre plusieurs serveurs. Par exemple :
    • tomcat_user_uid: 500
    • tomcat_group_gid: 500

En cas de désinstallation :

  • tomcat_state: absent
    • Pour désinstaller Tomcat qui a été installé à l'aide de ce rôle, réglez cette variable sur "absent". La valeur par défaut est "present".
  • tomcat_uninstall_create_backup: True
    Par défaut, dans un souci de sécurité, une archive tar de sauvegarde sera créée à "tomcat_install_path" avant la suppression.
  • tomcat_uninstall_remove_java: False
    Changez-le en "True" pour désinstaller Java après la désinstallation de Tomcat.
  • Par défaut, l'utilisateur et le groupe Tomcat seront supprimés. Changez en "False" pour les conserver après la désinstallation de Tomcat.
    • tomcat_uninstall_remove_user: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    Pour remplacer les valeurs ci-dessus et désinstaller complètement, réglez-le sur "True".

Variables pour un environnement distant déconnecté :

  • tomcat_remote_is_disconnected: False
    Changez-le en "True" si votre hôte distant (hôte géré) est hors ligne et ne peut pas accéder à Internet.
À propos du projet

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

Installer
ansible-galaxy install zaxos.tomcat-ansible-role
Licence
gpl-2.0
Téléchargements
108.5k
Propriétaire