我有以下清单来配置 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
这表明 Augeas 正在尝试/usr/share/tomcat7/conf/server.xml
修改/etc/tomcat7
.
在puppetlabs-tomcat GitHub 上,我们可以阅读:
tomcat::config::server:为
$CATALINA_BASE/conf/server.xml
.
$catalina_base
指定 Tomcat 安装的基本目录。
这表明我应该conf
在 Tomcat 基本文件夹 () 中有 dir CATALINA_BASE
,但它不存在,因为所有配置都单独存储在/etc/tomcat7
.
请参阅:Tomcat 文档。
有什么方法可以让puppetlabs-tomcat
模块以某种方式正确处理默认安装的 Tomcat 实例?或者我应该创建一个符号链接?
似乎它的
catalina_base
属性不正确,即CATALINA_HOME
已被定义而不是CATALINA_BASE
. 将其更改为/var/lib/tomcat7
并再次运行 puppet。