zaxos.tomcat-ansible-role
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
: 15tomcat_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
: 8080tomcat_port_shutdown
: 8005tomcat_port_redirect
: 8443tomcat_port_ajp
: 8009tomcat_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
: 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/ansibletomcattempdirtomcat_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
: 500tomcat_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
: Truetomcat_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