abdennour.tomcat_ansible_role
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
: 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
リモートデバッグを許可するために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
: 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
デフォルトでは、安全のために、削除前に「tomcat_install_path」にバックアップtarアーカイブが作成されます。tomcat_uninstall_remove_java
: False
Tomcatがアンインストールされた後にJavaもアンインストールするには「True」に変更してください。- デフォルトではTomcatユーザーとグループは削除されます。Tomcatアンインストール後にそれらを保護するには「False」に変更します。
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
ダウンロード
113
所有者
Former full stack developer, switched to the dark-side of DevOps!