首页 > 解决方案 > Puppet:同时创建文件和符号链接的循环

问题描述

我想解析数组并在另一个目录中创建文件和符号链接。我可以在其中创建文件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',
    }
  }

提前致谢, 罗斯季斯拉夫

标签: puppet

解决方案


您可能同时管理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',
}

推荐阅读