tomcat_ansible_role

Статус сборки Ansible Galaxy

tomcat-ansible-role

Роль Ansible для установки и настройки Apache Tomcat на CentOS/RHEL.

Требования

  • Поддерживаемые версии Tomcat:
    • 7.0
    • 8.0
    • 8.5
    • 9.0 (9.0.1 или новее)
  • CentOS/RHEL 7
  • Отключенный SELinux

Установка

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

Пример игрового сценария

- 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

Переменные роли

Основная переменная:

  • tomcat_version: версия tomcat для установки

Некоторые переменные, требующие внимания:

  • tomcat_install_java: True
    По умолчанию будет установлена OpenJDK Java. Измените на "False", если не хотите, чтобы эта роль устанавливала OpenJDK Java.
  • tomcat_java_version: 1.8
    Версия OpenJDK Java для установки. По умолчанию — "1.8". На данный момент последняя версия OpenJDK Java — "11".
  • tomcat_install_path: /opt
    Место, куда будет установлен tomcat. По умолчанию — "/opt".
  • Управление памятью JVM:
    Можно установить минимальный и максимальный размер кучи памяти с помощью следующих переменных JVM -Xms и -Xmx в процентах от общей памяти системы. Например, для системы с 2 ГБ ОЗУ, используя значения по умолчанию: Xms=307m (15% от 2048MB), Xmx=1126m (55% от 2048MB).
    • tomcat_jvm_memory_percentage_xms: 15
    • tomcat_jvm_memory_percentage_xmx: 55
  • tomcat_allow_manager_access_only_from_localhost: False
    Если установить на "True", приложение менеджера tomcat будет доступно только с локального хоста по соображениям безопасности. (Это поведение по умолчанию для Tomcat 8.5 и 9.0)
  • tomcat_allow_host_manager_access_only_from_localhost: False
    Если установить на "True", приложение менеджера хостов tomcat будет доступно только с локального хоста по соображениям безопасности. (Это поведение по умолчанию для Tomcat 8.5 и 9.0)
  • tomcat_users: Список пользователей tomcat для создания. См. пример для ожидаемого формата.
  • tomcat_debug_mode: False
    Измените на "True", чтобы настроить tomcat для удаленной отладки. Порт отладки по умолчанию установлен на tcp/8000 (вы можете изменить это с помощью соответствующей переменной).

Права на файлы:

  • tomcat_permissions_production: False
    Для установки на продакшн установите эту переменную на "True" для более строгой безопасности. Для разработки или менее безопасной установки установите эту переменную на "False". По умолчанию — "False".
    • Если установить на "True", все файлы tomcat принадлежат root с группой tomcat. У владельца есть права на чтение/запись, у группы только права на чтение, а у всех остальных нет прав. Исключение составляют журналы, временные и рабочие директории, которые принадлежат пользователю tomcat, а не root.
    • Если установить на "False", все файлы tomcat принадлежат tomcat с группой tomcat. У владельца и группы есть права на чтение/запись, а у всех остальных только права на чтение.
  • tomcat_webapps_auto_deployment: True
    Для лучшей безопасности авторазвертывание должно быть отключено, а веб-приложения должны разворачиваться в виде развернутых директорий. Если авторазвертывание отключено, установите это на "False". Эта переменная имеет смысл только для установки на продакшн (если tomcat_permissions_production равно "True"). По умолчанию — "True".
    • Если установить на "True", подкаталог webapps принадлежит tomcat с группой tomcat.
    • Если установить на "False", подкаталог webapps принадлежит root с группой tomcat.
  • tomcat_permissions_ensure_on_every_run: True
    Если установить на "True", права на файлы будут проверяться при каждом выполнении сценария. Если установить на "False", права на файлы устанавливаются только при установке tomcat (при первом выполнении сценария).

Порты Tomcat:

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

Некоторые значения по умолчанию (вероятно, не требуют изменения):

  • 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

Пользовательские шаблоны для server.xml, users.xml, файла службы systemd и т.д.:

  • Если стандартные шаблоны не подходят, вы можете использовать свои собственные шаблоны, изменив следующие переменные:
    • tomcat_template_server
    • tomcat_template_users
    • tomcat_template_systemd_service
    • tomcat_template_manager_context
    • tomcat_template_host_manager_context

Необязательные переменные (по умолчанию не определены):

  • Вы можете установить пользовательский uid и gid группы для однородности на нескольких серверах. Например:
    • tomcat_user_uid: 500
    • tomcat_group_gid: 500

В случае удаления:

  • tomcat_state: absent
    • Чтобы удалить tomcat, установленный с помощью этой роли, установите эту переменную на "absent". Значение по умолчанию — "present".
  • tomcat_uninstall_create_backup: True
    По умолчанию для дополнительной безопасности будет создан резервный архив tar в "tomcat_install_path" перед удалением.
  • tomcat_uninstall_remove_java: False
    Измените на "True", чтобы удалить Java после удаления tomcat.
  • По умолчанию пользователь и группа tomcat будут удалены. Измените на "False", чтобы сохранить их после удаления tomcat.
    • tomcat_uninstall_remove_user: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    Чтобы переопределить вышеуказанные значения и удалить все, установите на "True".

Переменные для отключенной удаленной среды:

  • tomcat_remote_is_disconnected: False Измените на "True", если ваш удаленный хост (управляемый хост) отключен и не может получить доступ к интернету.
О проекте

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

Установить
ansible-galaxy install abdennour/tomcat-ansible-role
Лицензия
gpl-2.0
Загрузки
99
Владелец
Former full stack developer, switched to the dark-side of DevOps!