Puppet apache vhost自动部署

Puppet apache vhost自动部署

大家好,木偶师们 :)

我希望你能帮我解决一个问题。也就是说,我将使用 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 指令?)提前致谢。

相关内容