zaxos.tomcat-ansible-role

Build-Status Ansible-Galaxy

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: 15
    • tomcat_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: 8080
  • tomcat_port_shutdown: 8005
  • tomcat_port_redirect: 8443
  • tomcat_port_ajp: 8009
  • tomcat_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: 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

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: 500
    • tomcat_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: True
    • tomcat_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