abdennour.tomcat_ansible_role

ビルドステータス Ansible Galaxy

tomcat-ansible-role

このAnsibleロールは、CentOS/RHEL上にApache Tomcatをインストールおよび構成するためのものです。

要件

  • このロールでサポートされている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がインストールされます。このロールでOpenJDK Javaをインストールしたくない場合は「False」に変更してください。
  • tomcat_java_version: 1.8
    インストールされるOpenJDK Javaのバージョン。デフォルトは「1.8」です。現在の最新のOpenJDK Javaバージョンは「11」です。
  • tomcat_install_path: /opt
    Tomcatがインストールされる場所。デフォルトは「/opt」です。
  • JVMメモリ管理:
    最小および最大メモリヒープサイズをシステム全体のメモリの割合として設定できます。例えば、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
    リモートデバッグを許可するためにTomcatを設定するには「True」に変更してください。デフォルトのデバッグポートはtcp/8000に設定されています(対応する変数を通じて変更可能です)。

ファイルの権限:

  • tomcat_permissions_production: False
    本番環境用のインストールの場合は、この変数を「True」に設定してより厳格なセキュリティを確保してください。開発環境や低セキュリティ・簡易インストールの場合は、「False」に設定します。デフォルトは「False」です。
    • 「True」に設定すると、すべてのTomcatファイルはrootが所有し、グループはtomcatになります。オーナーは読み書き権限を持ち、グループは読み取りのみの権限を持ち、他のユーザーは権限を持ちません。例外は、ログ、テンポラリ、作業ディレクトリで、これらはrootではなくTomcatユーザーが所有します。
    • 「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_listen_address: 0.0.0.0
  • tomcat_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: 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
    Tomcatがアンインストールされた後にJavaもアンインストールするには「True」に変更してください。
  • デフォルトではTomcatユーザーとグループは削除されます。Tomcatアンインストール後にそれらを保護するには「False」に変更します。
    • 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 abdennour.tomcat_ansible_role
ライセンス
gpl-2.0
ダウンロード
113
所有者
Former full stack developer, switched to the dark-side of DevOps!