从包中安装的 Tomcat 的正确 catalina_base 路径是什么?

从包中安装的 Tomcat 的正确 catalina_base 路径是什么?

我有以下清单来配置 Tomcat 以使用 8983 端口:

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

/usr/share/tomcat7/conf/server.xml这表明 Augeas 正在尝试修改位于 的错误文件 ( ) /etc/tomcat7

puppetlabs-tomcat GitHub我们可以读到:

tomcat::config::server:配置中的 Server 元素的属性$CATALINA_BASE/conf/server.xml

$catalina_base指定 Tomcat 安装的基本目录。

这表明我应该conf在 Tomcat 基本文件夹 ( CATALINA_BASE) 中有一个目录,但它不在那里,因为所有配置都单独存储在中/etc/tomcat7

看:Tomcat 文档

模块是否puppetlabs-tomcat有办法以某种方式正确处理 Tomcat 的默认安装实例?或者我应该创建一个符号链接?

答案1

看来该catalina_base属性不正确,即已CATALINA_HOME定义为 而不是CATALINA_BASE。将其更改为/var/lib/tomcat7并再次运行 puppet。

相关内容