pescobar.apache_tomcat

构建状态 Ansible Galaxy

pescobar.apache_tomcat

Ansible 角色,用于在 CentOS/RHEL 上安装和配置 Apache Tomcat。

基于 tomcat-ansible-role

需求

  • 此角色支持的 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: 15
    • tomcat_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: 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_temp_download_path: /tmp/ansibletomcattempdir

可选变量(默认未定义):

  • 可以为多个服务器设置自定义的用户 UID 和组 GID,以保持一致。例如:
    • tomcat_user_uid: 500
    • tomcat_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: True
    • tomcat_uninstall_remove_group: True
  • tomcat_uninstall_remove_all: False
    要覆盖上述值并卸载所有内容,请将其设置为 "True"。
关于项目

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

安装
ansible-galaxy install pescobar.apache_tomcat
许可证
gpl-2.0
下载
59.3k
拥有者
Systems engineer. Linux/HPC/Cloud/BioInfo