tomcat-ansible-role
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
: 15tomcat_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
: 8080tomcat_port_shutdown
: 8005tomcat_port_redirect
: 8443tomcat_port_ajp
: 8009tomcat_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
: 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
Пользовательские шаблоны для 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
: 500tomcat_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
: Truetomcat_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
Владелец