我正在尝试使用 CentOS 6.4 和 Apache 1.3 创建一个 Vagrant 设置(这是用于遗留应用程序)。我正在使用 Puppet(尽管如果 Chef 中的答案更容易,我很乐意使用它)和Puppetlabs Apache 类。我遇到的问题是它安装了 Apache 2.2,但我不知道如何让它安装 Apache 1.3。
我做错了什么,我怎么能做对?(“升级您的应用程序”的答案将被否决 - 我无权做出该决定。)
我正在尝试使用 CentOS 6.4 和 Apache 1.3 创建一个 Vagrant 设置(这是用于遗留应用程序)。我正在使用 Puppet(尽管如果 Chef 中的答案更容易,我很乐意使用它)和Puppetlabs Apache 类。我遇到的问题是它安装了 Apache 2.2,但我不知道如何让它安装 Apache 1.3。
我做错了什么,我怎么能做对?(“升级您的应用程序”的答案将被否决 - 我无权做出该决定。)
您使用的模块没有显式公开参数来指定您要安装的软件包版本。httpd
除了使用 Puppetlabs 模块,您还可以使用 Alessandro Franceschi 的 Apache 模块(来源在这里- 也在forge上)。如果您需要安装的包的名称与 不同httpd
,则该模块会公开一个package
参数,您可以像这样覆盖该参数:
class { 'apache':
package => 'apache13',
}
相反,如果 Apache 1.3 是由同一个httpd
包通过声明所需的特定版本来提供的,则可以依赖version
参数:
class { 'apache':
version => '1.3.39',
}
显然,您也可以将这两个参数组合在一起。
使用这些模块在 Redhat 上返回以下错误:
Error 400 on SERVER: Illegal expression.
Type-Name 不能作为函数调用中的函数名/etc/puppet/modules/apache/man.