web-dev-qa-db-ja.com

パッケージからインストールされたTomcatの正しいcatalina_baseパスは何ですか?

代わりに8983ポートを使用するようにTomcatを構成するための次のマニフェストがあります。

include Java
class { 'Tomcat': install_from_source => false }

Tomcat::instance {'default': package_name => 'Tomcat7'} ->
  Tomcat::service  {'default':
    use_jsvc => false, use_init => true, service_name => 'Tomcat7'
  }->
  Tomcat::config::server { 'Tomcat7':
    catalina_base => '/usr/share/Tomcat7',
    port          => 8983,
  }

ただし、実行すると、次のエラーが発生します。

$ Sudo puppet apply -vd Tomcat-test.pp
debug: Augeas[server-/usr/share/Tomcat7](provider=augeas): Augeas version 1.3.0 is installed
debug: Augeas[server-/usr/share/Tomcat7](provider=augeas): sending command 'set' with params ["/files/usr/share/Tomcat7/conf/server.xml/Server/#attribute/port", "8983"]
debug: Augeas[server-/usr/share/Tomcat7](provider=augeas): Closed the augeas connection
err: /Stage[main]//Tomcat::Config::Server[Tomcat7]/Augeas[server-/usr/share/Tomcat7]: Could not evaluate: Save failed with return code false

これは、Augeasが/usr/share/Tomcat7/conf/server.xmlにある間違ったファイル(/etc/Tomcat7)を変更しようとしていることを示しています。

puppetlabs-Tomcat GitHub で、次のように読むことができます。

Tomcat :: config :: server:$CATALINA_BASE/conf/server.xmlのServer要素の属性を構成します。

$catalina_baseTomcatインストールのベースディレクトリを指定します。

これは、Tomcatベースフォルダー(CATALINA_BASE)にconf dirがあるはずですが、すべての構成が/etc/Tomcat7に個別に保存されているため、そこにはありません。

参照: Tomcatドキュメント

puppetlabs-TomcatモジュールがTomcatのデフォルトでインストールされたインスタンスを何らかの方法で適切に処理できる方法はありますか?または、シンボリックリンクを作成する必要がありますか?

2
kenorb

catalina_base属性が正しくないようです。つまり、CATALINA_HOMEの代わりにCATALINA_BASEが定義されています。 /var/lib/Tomcat7に変更して、puppetを再度実行します。

1
030