pescobar.apache_tomcat
pescobar.apache_tomcat
CentOS/RHELにApache Tomcatをインストールおよび設定するためのAnsibleロールです。
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メモリ管理:
システムメモリの総量に対する割合として最小および最大のメモリヒープサイズを設定できます。例えば、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です。オーナーは読み書き権限を持ち、グループは読み取り権限のみ、ワールドには権限がありません。例外として、ログ、temp、workディレクトリは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_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
Tomcatがアンインストールされた後にJavaもアンインストールするには「True」に設定します。- デフォルトで、Tomcatユーザーとグループは削除されます。Tomcatがアンインストールされた後にそれらを保持するには「False」に変更します。
tomcat_uninstall_remove_user
: Truetomcat_uninstall_remove_group
: True
tomcat_uninstall_remove_all
: False
上記の値をオーバーライドしてすべてをアンインストールするには、「True」に設定します。