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
- Отключенный 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:
tomcat_port_connector
: 8080tomcat_port_shutdown
: 8005tomcat_port_redirect
: 8443tomcat_port_ajp
: 8009tomcat_port_debug
: 8000
Некоторые значения по умолчанию (вероятно, не требуют изменения):
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/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
: 500tomcat_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
: 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 abdennour/tomcat-ansible-role
Лицензия
gpl-2.0
Загрузки
99
Владелец
Former full stack developer, switched to the dark-side of DevOps!