abdennour.tomcat_ansible_role

Build-Status Ansible-Galaxy

tomcat-ansible-role

Ansible-Rolle zur Installation und Konfiguration von Apache Tomcat auf CentOS/RHEL.

Anforderungen

  • Tomcat-Versionen, die von dieser Rolle unterstützt werden:
    • 7.0
    • 8.0
    • 8.5
    • 9.0 (9.0.1 oder neuer)
  • CentOS/RHEL 7
  • 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

Rollenvariablen

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 es auf "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". Die neueste OpenJDK-Version ist derzeit "11".
  • tomcat_install_path: /opt
    Der Ort, an dem Tomcat installiert wird. Standard ist "/opt".
  • JVM-Speicherverwaltung:
    Sie können die minimale und maximale Speichermenge mit den JVM-Variablen -Xms und -Xmx in Prozent des gesamten Systemspeichers festlegen. Zum Beispiel für ein System mit 2 GB RAM: 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-Anwendung nur von localhost aus zugänglich (dies ist das Standardverhalten 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-Anwendung nur von localhost aus zugänglich (dies ist das Standardverhalten 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 Remote-Debugging zu konfigurieren. Der Standard-Debug-Port ist tcp/8000 (dies kann über die entsprechende Variable geändert werden).

Dateiberechtigungen:

  • tomcat_permissions_production: False
    Für die Produktionsinstallation setzen Sie diese Variable auf "True" für strengere Sicherheit. Für Entwicklungs- oder weniger sicherheitsanfällige/installationen setzen Sie diese Variable auf "False". Standard ist "False".
    • Wenn auf "True" gesetzt, gehören alle Tomcat-Dateien dem root-Benutzer mit der Gruppe tomcat. Der Besitzer hat Lese-/Schreibrechte, die Gruppe hat nur Leserechte und andere Benutzer haben keine Berechtigungen. Die Ausnahmen sind das Protokoll-, Temp- und Arbeitsverzeichnis, die dem Tomcat-Benutzer gehören.
    • Wenn auf "False" gesetzt, gehören alle Tomcat-Dateien dem Benutzern mit tomcat-Gruppe. Der Besitzer und die Gruppe haben Lese-/Schreibrechte und andere haben nur Leserechte.
  • tomcat_webapps_auto_deployment: True
    Zur Verbesserung der Sicherheit sollte die Autodeployment-Funktion deaktiviert und Webanwendungen als entpackte Verzeichnisse bereitgestellt werden. Wenn die Autodeployment-Funktion deaktiviert ist, setzen Sie dies auf "False". Diese Variable ist nur für die Produktionsinstallation relevant (wenn tomcat_permissions_production auf "True" gesetzt ist). Standard ist "True".
    • Wenn auf "True" gesetzt, gehört das Unterverzeichnis webapps dem Benutzern von tomcat mit der Gruppe tomcat.
    • Wenn auf "False" gesetzt, gehört das Unterverzeichnis webapps dem root-Benutzer mit der Gruppe tomcat.
  • tomcat_permissions_ensure_on_every_run: True
    Wenn auf "True" gesetzt, werden die Dateiberechtigungen bei jedem Playbook-Durchlauf sichergestellt. Wenn auf "False" gesetzt, werden die Dateiberechtigungen nur gesetzt, wenn Tomcat installiert wird (beim ersten Playbook-Durchlauf).

Tomcat-Ports:

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

Einige Standardwerte (wahrscheinlich ohne Änderungen):

  • 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

Benutzerdefinierte Vorlagen für server.xml, users.xml, systemd-Dienstdatei usw.:

  • Wenn die Standardvorlagen nicht Ihren Anforderungen entsprechen, können Sie Ihre eigenen benutzerdefinierten Vorlagen verwenden, indem Sie die folgenden Variablen ändern:
    • tomcat_template_server
    • tomcat_template_users
    • tomcat_template_systemd_service
    • tomcat_template_manager_context
    • tomcat_template_host_manager_context

Optionale Variablen (standardmäßig nicht definiert):

  • Sie können benutzerdefinierte Benutzer-UID und Gruppen-GID für Homogenität über mehrere Server hinweg festlegen. Zum Beispiel:
    • tomcat_user_uid: 500
    • tomcat_group_gid: 500

Im Falle einer Deinstallation:

  • tomcat_state: absent
    • Um Tomcat zu deinstallieren, das mit dieser Rolle installiert wurde, setzen Sie diese Variable auf "absent". Der Standardwert ist "present".
  • tomcat_uninstall_create_backup: True
    Standardmäßig wird sicherheitshalber ein Backup-Archiv im "tomcat_install_path" vor der Löschung erstellt.
  • tomcat_uninstall_remove_java: False
    Ändern Sie es auf "True", um Java nach der Deinstallation von Tomcat zu deinstallieren.
  • Standardmäßig wird der Tomcat-Benutzer und die Gruppe entfernt. Ändern Sie es auf "False", um sie nach der Deinstallation von Tomcat zu behalten.
    • tomcat_uninstall_remove_user: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    Um die obigen 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 abdennour.tomcat_ansible_role
GitHub Repository
Lizenz
gpl-2.0
Downloads
113
Besitzer
Former full stack developer, switched to the dark-side of DevOps!