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 или 8
  • Отключенный 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_prod_modes:
    Список подкаталогов Tomcat, режимы директорий и режимы файлов соответственно. Разрешения применяются рекурсивно.
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:

  • 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
    Установите в "True", чтобы включить AJP Connector.
  • tomcat_ajp_listen_address: "::1"
    По умолчанию соединитель будет слушать на локальном адресе. Если не настроены иные параметры JVM через системные свойства, то соединители на основе Java (NIO, NIO2) будут слушать как на IPv4, так и на IPv6 адресах при настройке с "0.0.0.0" или "::". Нативный соединитель APR будет слушать только на IPv4 адресах, если настроен на "0.0.0.0", и будет слушать на IPv6 адресах (и, возможно, на IPv4 адресах в зависимости от настройки ipv6v6only), если настроен на "::".
  • tomcat_ajp_secret: "my-@jp-s3cr3t"
    Этот атрибут должен быть указан с ненулевым значением ненулевой длины, если явно не настроено "secretRequired" на "false". Пожалуйста, измените значение по умолчанию на что-то безопасное.
  • tomcat_ajp_secret_required: True
    Установите в "False", чтобы настроить "secretRequired=False".

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

  • 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

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

  • Если стандартные шаблоны вам не подходят, вы можете использовать свои пользовательские шаблоны, изменив следующие переменные:
    • tomcat_template_server
    • tomcat_template_users
    • tomcat_template_systemd_service
    • tomcat_template_setenv
    • 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
    По умолчанию, на всякий случай, перед удалением будет создан резервный архив в "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 zaxos/tomcat-ansible-role
Лицензия
gpl-2.0
Загрузки
102192
Владелец