Puppet : Gerenciando o Apache

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