Onde devo configurar o software instalado por receitas de chefes de terceiros?

1

Estou provisionando uma máquina virtual Vagrant com o Chef e é incrível, mas não tenho certeza de onde devo colocar o código para configurar o software instalado por receitas de chefes de terceiros.

Por exemplo, estou instalando o NGINX com esta receita , mas preciso configurar o padrão virtual host para veicular conteúdo de /vagrant/public em vez de /var/www/nginx-default .

Devo alterar o modelo da receita de terceiros ou criar outra receita que reconfigure a receita?

    
por FRKT 20.09.2012 / 10:39

1 resposta

1

Algumas coisas:

Desde a redação desta pergunta, o Opscode dividiu sua estrutura de repositório como um repo-por-livro de receitas para tornar o projeto muito mais claro.

O livro de receitas atualizado e estável do nginx pode ser encontrado aqui: link

Como para servir páginas da web a partir de um contêiner alternativo:

A convenção para fazer algo assim seria escrever um livro de receitas mais simples, que aproveite o livro de receitas nginx , mas que lhe ofereça uma maneira de "fazer o que quiser".

Como a instalação padrão do nginx descarta um arquivo de configuração e define o diretório de origem, uma maneira de fazer isso em um livro de receitas "wrapper" é:

  1. Crie meu livro de receitas
  2. Declarar depends 'nginx' em metadata.rb
  3. No attributes/default.rb do meu livro de receitas, defina o seguinte atributo como falso:

    default['nginx']['default_site_enabled'] = false
    
  4. No meu recipes/default.rb , tenha:

    include_recipe 'nginx'
    
    cookbook_file '/etc/nginx/sites-available/mycustomwebapp'
    
    nginx_site 'mycustomwebapp' do
      action :enable
    end
    
  5. Crie um arquivo conf nginx com esta aparência em files/default/mycustomwebapp :

    server {
        root /vagrant/public;
        index index.html index.htm;
            blah blah...
    }
    

Então você deve ser bom para ir!

    
por 19.01.2013 / 03:38

Tags