Puppet:同时创建文件和符号链接的循环

Puppet: loops for creating file and symlink simultaneously

我想解析数组并在另一个目录中创建文件和符号链接。 我可以在 sites-available 中创建文件并想在 sites-enabled 中创建符号链接 你能提示我怎么做吗?我可以马上做吗?

  $domainsnames.each |String $domain| {
    file {"/etc/nginx/sites-available/${domain}.conf":
      # ensure  => link,
      content => template('nginx_on_templates/virtualhost.conf.erb'),
      # target  => "/etc/nginx/sites-enabled/${domain}.conf",
      mode    => '0644',
      owner   => 'root',
      group   => 'root',
    }
  }

提前致谢, 罗斯季斯拉夫

您可能正在管理 sites-availablesites-enabled,并且您想要模拟 a2ensite enable <site-name> 所做的,对吗?

在那种情况下,你有类似的东西:

 $domainsnames.each |String $domain| {
    file {"/etc/nginx/sites-available/${domain}.conf":
      ensure  => file,
      content => template('nginx_on_templates/virtualhost.conf.erb'),
      mode    => '0644',
      owner   => 'root',
      group   => 'root',
    }
    file {"/etc/nginx/sites-enabled/${domain}.conf":
      ensure  => link,
      target  => "/etc/nginx/sites-available/${domain}.conf",
    }
  }

我还建议您查看 puppetlabs/apache 模块,您不必自己管理 .conf,但可以管理虚拟主机的配置:

例如:

apache::vhost { 'user.example.com':
  port          => '80',
  docroot       => '/var/www/user',
  docroot_owner => 'www-data',
  docroot_group => 'www-data',
}