zaxos.tomcat-ansible-role
tomcat-ansible-role
Ansible-Rolle zur Installation und Konfiguration von Apache Tomcat auf CentOS/RHEL.
Anforderungen
- Unterstützte Tomcat-Versionen durch diese Rolle:
- 7.0
- 8.0
- 8.5
- 9.0 (9.0.1 oder höher)
- CentOS/RHEL 7 oder 8
- SELinux deaktiviert
Installation
$ ansible-galaxy install zaxos.tomcat-ansible-role
Beispiel-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
Rollen-Variablen
Die Hauptvariable:
tomcat_version
: Zu installierende Tomcat-Version
Einige Variablen, die überprüft werden sollten:
tomcat_install_java
: True
Standardmäßig wird OpenJDK Java installiert. Ändern Sie dies zu "False", wenn Sie nicht möchten, dass OpenJDK Java von dieser Rolle installiert wird.tomcat_java_version
: 1.8
OpenJDK Java Version, die installiert werden soll. Standard ist "1.8". Aktuell ist die neueste OpenJDK Java Version "11".tomcat_install_path
: /opt
Ort, an dem Tomcat installiert wird. Standard ist "/opt".- JVM-Speichermanagement:
Sie können die minimale und maximale Größe des Heap-Speichers mit den folgenden JVM -Xms und -Xmx Variablen als Prozentwert des gesamten Systemspeichers festlegen. Zum Beispiel für ein System mit 2 GB RAM, mit den Standardwerten: Xms=307m (15% von 2048MB), Xmx=1126m (55% von 2048MB).tomcat_jvm_memory_percentage_xms
: 15tomcat_jvm_memory_percentage_xmx
: 55
tomcat_allow_manager_access_only_from_localhost
: False
Wenn auf "True" gesetzt, ist die Tomcat-Manager-App nur vom localhost aus zugänglich. (Dieses Verhalten ist Standard für Tomcat 8.5 und 9.0)tomcat_allow_host_manager_access_only_from_localhost
: False
Wenn auf "True" gesetzt, ist die Tomcat-Host-Manager-App nur vom localhost aus zugänglich. (Dieses Verhalten ist Standard für Tomcat 8.5 und 9.0)tomcat_users
: Liste der zu erstellenden Tomcat-Benutzer. Siehe Beispiel für das erwartete Format.tomcat_debug_mode
: False
Ändern Sie es auf "True", um Tomcat für die Remote-Debugging-Konfiguration zu aktivieren. Der Standard-Debug-Port ist auf tcp/8000 gesetzt (Sie können ihn über die entsprechende Variable ändern).
Dateiberechtigungen:
tomcat_permissions_production
: False
Für Produktionsinstallationen ändern Sie diese Variable auf "True" für strengere Sicherheit. Für Entwicklungs- oder weniger sichere Installationen ändern Sie diese Variable auf "False". Standard ist "False".- Wenn auf "True" gesetzt, gehören alle Tomcat-Dateien dem Benutzer root mit der Gruppe tomcat. Der Eigentümer hat Lese-/Schreibrechte, die Gruppe hat nur Leserechte, und die Welt hat keine Berechtigungen. Die Ausnahmen sind die Logs, das temporäre und das Arbeitsverzeichnis, die dem Tomcat-Benutzer und nicht dem root-Benutzer gehören.
- Wenn auf "False" gesetzt, gehören alle Tomcat-Dateien dem Benutzer tomcat mit der Gruppe tomcat. Der Eigentümer und die Gruppe haben Lese-/Schreibrechte und die Welt hat nur Leserechte.
tomcat_webapps_auto_deployment
: True
Für bessere Sicherheit sollte die automatische Bereitstellung deaktiviert und Webanwendungen als entpackte Verzeichnisse bereitgestellt werden. Wenn die automatische Bereitstellung deaktiviert ist, ändern Sie dies auf "False". Diese Variable ist nur für Produktionsinstallationen sinnvoll (wenn tomcat_permissions_production "True" ist). Standard ist "True".- Wenn auf "True" gesetzt, gehört das Unterverzeichnis webapps dem Benutzer tomcat mit der Gruppe tomcat.
- Wenn auf "False" gesetzt, gehört das Unterverzeichnis webapps dem Benutzer root mit der Gruppe tomcat.
tomcat_permissions_ensure_on_every_run
: True
Wenn auf "True" gesetzt, werden die Datei-Berechtigungen bei jedem Playbook-Lauf sichergestellt. Wenn auf "False" gesetzt, werden die Datei-Berechtigungen nur bei der Installation von Tomcat gesetzt (beim ersten Playbook-Lauf).tomcat_prod_modes
:
Listet Tomcat-Unterverzeichnisse, Verzeichnismodi und Datei-Modi auf. Berechtigungen werden rekursiv angewendet.
tomcat_prod_modes:
- ['bin', '2750', '0640']
- ['conf', '2750', '0640']
- ['lib', '2750', '0640']
- ['logs', '0300', '0640']
- ['temp', '0750', '0640']
- ['work', '0750', '0640']
- ['webapps', '0750', '0640']
Tomcat-Ports:
tomcat_port_connector
: 8080tomcat_port_shutdown
: 8005tomcat_port_redirect
: 8443tomcat_port_ajp
: 8009tomcat_port_debug
: 8000
Tomcat AJP:
tomcat_ajp_enabled
: False
Auf "True" setzen, um den AJP-Connector zu aktivieren.tomcat_ajp_listen_address
: "::1"
Standardmäßig hört der Connector an der Loopback-Adresse. Es sei denn, die JVM ist anders konfiguriert, hören die Java-basierten Connectoren (NIO, NIO2) sowohl auf IPv4- als auch auf IPv6-Adressen, wenn sie mit "0.0.0.0" oder "::" konfiguriert sind. Der APR/native Connector hört nur auf IPv4-Adressen, wenn er mit "0.0.0.0" konfiguriert ist und hört auf IPv6-Adressen (und optional IPv4-Adressen, abhängig von der Einstellung von ipv6v6only), wenn er mit "::" konfiguriert ist.tomcat_ajp_secret
: "my-@jp-s3cr3t"
Dieses Attribut muss mit einem nicht leeren Wert angegeben werden, es sei denn, "secretRequired" ist explizit auf "false" konfiguriert. Bitte ändern Sie den Standardwert in etwas Sicheres.tomcat_ajp_secret_required
: True
Auf "False" setzen, um "secretRequired=False" zu konfigurieren.
Einige Standardwerte (vermutlich nicht erforderlich):
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
Benutzerdefinierte Vorlagen für server.xml, users.xml, systemd-Dienste usw.:
- Falls die Standardvorlagen nicht Ihren Anforderungen entsprechen, können Sie Ihre eigenen Vorlagen anpassen, indem Sie die folgenden Variablen ändern:
tomcat_template_server
tomcat_template_users
tomcat_template_systemd_service
tomcat_template_setenv
tomcat_template_manager_context
tomcat_template_host_manager_context
Optionale Variablen (standardmäßig undefiniert):
- Sie können benutzerdefinierte Benutzer-UID und Gruppen-GID für die Einheitlichkeit über mehrere Server hinweg festlegen. Zum Beispiel:
tomcat_user_uid
: 500tomcat_group_gid
: 500
Im Falle einer Deinstallation:
tomcat_state
: absent- Um Tomcat, der mit dieser Rolle installiert wurde, zu deinstallieren, setzen Sie diese Variable auf "absent". Der Standardwert ist "present".
tomcat_uninstall_create_backup
: True
Standardmäßig wird zum Schutz vor Datenverlust ein Backup-Tar-Archiv unter "tomcat_install_path" vor der Löschung erstellt.tomcat_uninstall_remove_java
: False
Ändern Sie dies auf "True", um Java nach der Deinstallation von Tomcat zu deinstallieren.- Standardmäßig wird der Tomcat-Benutzer und die Gruppe entfernt. Ändern Sie dies auf "False", um sie nach der Deinstallation von Tomcat beizubehalten.
tomcat_uninstall_remove_user
: Truetomcat_uninstall_remove_group
: True
tomcat_uninstall_remove_all
: False
Um die oben genannten Werte zu überschreiben und alles zu deinstallieren, setzen Sie es auf "True".
Variablen für eine getrennte remote-Umgebung:
tomcat_remote_is_disconnected
: False
Ändern Sie es auf "True", wenn Ihr Remote-Host (verwalteter Host) offline ist und keinen Internetzugang hat.
Über das Projekt
Ansible role to install and configure Apache Tomcat on CentOS/RHEL
Installieren
ansible-galaxy install zaxos.tomcat-ansible-role
Lizenz
gpl-2.0
Downloads
108.5k
Besitzer