从包中安装的Tomcat的catalina_basepath是什么?

我有以下清单configurationTomcat使用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 

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

在puppetlabs-tomcat GitHub中,我们可以这样读:

tomcat :: config :: server:为$CATALINA_BASE/conf/server.xml的Server元素configuration属性。

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

这表明我应该在Tomcat基础文件夹( CATALINA_BASE )中conf目录,但是它不在那里,因为所有的configuration都分别存储在/etc/tomcat7

请参阅: Tomcat文档 。

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

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