大家好,木偶师们 :)
我希望你能帮我解决一个问题。也就是说,我将使用 puppet 部署许多(我的意思是真的很多)安装了 Apache 的节点。我遇到的问题是,目前创建具有指定 ServerName 的 vhost 的唯一方法是在主 puppetmaster 文件 (site.pp) 中发出服务器名称。它看起来像这样:
case $::hostname {
hostname1: {vhost_default { 'hostname1.domain': }}
hostname2: {vhost_default { 'hostname2.domain': }}
有没有办法创建 vhost 文件而不必发出名称。这意味着,puppetmaster 读取主机名并将其自行写入模板。模板如下所示(仅重要部分):
<VirtualHost *:80>
ServerName <%= fqdn %>
ServerAlias www.<%= fqdn %>
以及带有模板部分的 apache 的 init.pp:define vhost_default() {
file { "/etc/apache2/sites-available/domain.conf":
owner => 'root',
group => 'root',
mode => 644,
content => template( 'apache/default_vhost.erb' ),
require => [ Package[ 'apache2' ] ]
或者您可以想到另一种部署 apache vhost 文件的方法吗?(也许没有 ServerName 指令?)提前致谢。