No exemplo abaixo será apresentado como gerenciar o Apache com o módulo do Puppet.
Este post também dá uma introdução de como usar os módulos do Puppet.
Caso tenha interesse em conhecer mais sobre a ferramenta deixei um post detalhado sobre :
http://fajlinux.com.br/devops/puppet-instalacao-do-servidor-no-rhel-6-7/
1) Requisitos :
Instale o módulo Apache do Puppet.
cd /etc/puppet/module puppet module install puppetlabs-apache
2) Configure /etc/puppet/site.pp
O meu cliente será o servidor client-puppet-01.example.com.
No exemplo abaixo estou apresentando como configurar um vhost na porta 80 e 443 , e também como configurar um simples Proxy reverso, com este caso de uso ganharíamos tempo se fosse configurado 3 servidores para formar um pool com os mesmos sites e mantendo um padrão na rede.
node 'client-puppet-01.example.com'{ #Configuracao de Modulos include apache include apache::mod::alias include apache::mod::rewrite include apache::mod::ssl include apache::mod::vhost_alias include apache::mod::proxy include apache::mod::proxy_ajp include apache::mod::proxy_balancer include apache::mod::proxy_http include apache::mod::proxy_html #Criando um vhost na porta 80 apache::vhost { 'fajlinux.com.br': port => '80', docroot => '/var/www/site', docroot_owner => 'apache', docroot_group => 'apache', options => ['Indexes','FollowSymLinks','MultiViews'], override => ['none'], } #Criando um vhost na porta 443 apache::vhost { 'example.com': port => '443', docroot => '/var/www/example', docroot_owner => 'apache', docroot_group => 'apache', options => ['all'], override => ['all'], ssl => true, ssl_cert => '/etc/ssl/example.cert', ssl_key => '/etc/ssl/example.key', } #Criando um Proxy Reverso apache::vhost::proxy { "fajlinux": servername => "fajlinux.com", port => 80, dest => "http://backend.example.com:9015", vhost_name => "fajlinux" } }
3) Atualize o agente :
puppet agent -t
Referências :
https://forge.puppetlabs.com/puppetlabs/apache