pescobar.apache_tomcat
pescobar.apache_tomcat
Ansible 角色,用于在 CentOS/RHEL 上安装和配置 Apache Tomcat。
需求
- 此角色支持的 Tomcat 版本:
- 7.0
- 8.0
- 8.5
- 9.0(9.0.1 或更新版本)
- CentOS/RHEL 7
- 关闭 SELinux
安装
$ ansible-galaxy install pescobar.apache_tomcat
示例剧本(从 CentOS RPM 安装 Java)
- hosts: servers
vars:
tomcat_users:
- username: "tomcat"
password: "t3mpp@ssw0rd"
roles: "tomcat,admin,manager,manager-gui"
- username: "exampleuser"
password: "us3rp@ssw0rd"
roles: "tomcat"
roles:
- role: pescobar.apache_tomcat
示例剧本(使用外部角色安装 Java)
- hosts: servers
vars:
tomcat_install_java: false # 我们使用 pescobar.java_openjdk 角色安装 Java
tomcat_java_home: /opt/java # 我们使用 pescobar.java_openjdk 角色安装 Java
tomcat_users:
- username: "tomcat"
password: "t3mpp@ssw0rd"
roles: "tomcat,admin,manager,manager-gui"
- username: "exampleuser"
password: "us3rp@ssw0rd"
roles: "tomcat"
roles:
- role: pescobar.java_openjdk
- role: pescobar.apache_tomcat
角色变量
主要变量:
tomcat_version
: 要安装的 Tomcat 版本
需要查看的一些变量:
tomcat_install_java
: True
默认安装 OpenJDK Java。如果不想通过此角色安装 OpenJDK Java,请改为 "False"。tomcat_java_version
: 1.8
要安装的 OpenJDK Java 版本。默认是 "1.8"。目前最新的 OpenJDK Java 版本是 "11"。tomcat_install_path
: /opt
Tomcat 将安装的位置。默认是 "/opt"。- JVM 内存管理:
可以通过以下 JVM -Xms 和 -Xmx 变量以系统内存的百分比设置最小和最大内存堆大小。例如,对于一个 2GB RAM 的系统,使用默认值:Xms=307m(2048MB的15%),Xmx=1126m(2048MB的55%)。tomcat_jvm_memory_percentage_xms
: 15tomcat_jvm_memory_percentage_xmx
: 55
tomcat_allow_manager_access_only_from_localhost
: False
如果设置为 "True",Tomcat 管理应用程序仅可从 localhost 访问,以提高安全性。(此行为是 Tomcat 8.5 和 9.0 的默认设置)tomcat_allow_host_manager_access_only_from_localhost
: False
如果设置为 "True",Tomcat 主机管理应用程序仅可从 localhost 访问,以提高安全性。(此行为是 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
为提高安全性,自动部署应禁用,Web 应用程序应作为展开目录进行部署。如果禁用自动部署,请将其设置为 "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_temp_download_path
: /tmp/ansibletomcattempdir
可选变量(默认未定义):
- 可以为多个服务器设置自定义的用户 UID 和组 GID,以保持一致。例如:
tomcat_user_uid
: 500tomcat_group_gid
: 500
卸载时:
tomcat_state
: absent- 要卸载通过此角色安装的 Tomcat,请将此变量设置为 "absent"。默认值是 "present"。
tomcat_uninstall_create_backup
: True
默认情况下,在删除之前,会在 "tomcat_install_path" 创建一个备份 tar 存档,以确保安全。tomcat_uninstall_remove_java
: False
更改为 "True" 以在卸载 Tomcat 后卸载 Java。- 默认情况下,Tomcat 用户和组将被移除。更改为 "False" 以在卸载 Tomcat 后保留它们。
tomcat_uninstall_remove_user
: Truetomcat_uninstall_remove_group
: True
tomcat_uninstall_remove_all
: False
要覆盖上述值并卸载所有内容,请将其设置为 "True"。