Chef Server · 10 min read · Nov 09, 2025

Como Instalar o Chef Infra Server no Debian 12

Chef é um poderoso software de automação no Debian Linux projetado para gerenciar e configurar ambientes de servidor em grande escala. Ele facilita a implantação, configuração e gerenciamento de aplicativos e infraestrutura usando código, promovendo princípios de infraestrutura como código (IaC). O Chef usa uma linguagem específica de domínio (DSL) escrita em Ruby para definir “receitas” e “livros de receitas” que especificam como os servidores devem ser configurados. Isso permite que administradores de sistema e equipes de DevOps automatizem tarefas repetitivas, garantam consistência entre ambientes e escalem facilmente a infraestrutura. O Chef suporta uma ampla gama de recursos e integrações, tornando-o uma ferramenta versátil para gerenciar ambientes complexos no Debian, Ubuntu Linux e outras plataformas.

Neste tutorial, mostraremos como instalar o Chef Server e o Chef Workstation em servidores Debian 12 passo a passo.

Pré-requisitos

Para completar este guia, certifique-se de ter o seguinte:

  • 3 servidores Debian 12.
  • Um usuário não-root com privilégios de administrador.

Configurando FQDN

Neste primeiro passo, você configurará o FQDN (Nome de Domínio Totalmente Qualificado) para o servidor Chef, a estação de trabalho Chef e o cliente.

Execute o seguinte comando hostnamectl para configurar o fqdn para cada servidor.

sudo hostnamectl set-hostname chef.howtoforge.local  
sudo hostnamectl set-hostname workstation.howtoforge.local  
sudo hostnamectl set-hostname client.howtoforge.local

Abra o arquivo /etc/hosts em cada servidor usando o seguinte comando do editor nano.

sudo nano /etc/hosts

Insira a seguinte configuração e tenha certeza de alterar o endereço IP detalhado, nome do host e fqdn com suas configurações.

192.168.5.15     chef.howtoforge.local     chef  
192.168.5.20     workstation.howtoforge.local     workstation  
192.168.5.21     client.howtoforge.local     client

Salve e feche o arquivo quando terminar.

Agora execute o comando abaixo para garantir que cada fqdn aponte para o endereço IP correto do servidor.

sudo hostname -f  
ping -c3 chef.howtoforge.local

configurar fqdn

Sincronizando o Tempo entre Servidores

Após configurar o FQDN, você garantirá que cada servidor tenha o tempo sincronizado. Neste caso, você configurará o servidor NTP no Servidor Chef e configurará a estação de trabalho Chef e o cliente para se conectar a ele.

Configurando Chrony no Servidor Chef

No servidor Chef, execute o seguinte comando para atualizar o índice do pacote do repositório e instalar o pacote Chrony.

sudo apt update  
sudo apt install chrony -y

instalar chrony

Depois de instalar o Chrony, abra o arquivo /etc/chrony/chrony.conf usando o seguinte comando do editor nano.

sudo nano /etc/chrony/chrony.conf

Insira a seguinte configuração para definir o servidor NTP padrão. Certifique-se de escolher a localização mais próxima do seu servidor, verifique o ntp.org para detalhes.

Além disso, você configurará o Chrony dentro do servidor Chef como um servidor NTP para a estação de trabalho Chef e clientes.

pool 0.nl.pool.ntp.org iburst  
pool 1.nl.pool.ntp.org iburst  
pool 2.nl.pool.ntp.org iburst  
pool 3.nl.pool.ntp.org iburst  
  
allow 192.168.5.0/24

Salve e feche o arquivo quando terminar.

Em seguida, execute o seguinte comando para configurar o fuso horário padrão e habilitar o NTP.

sudo timedatectl set-timezone Europe/Amsterdam  
sudo timedatectl set-ntp true

Depois, reinicie o serviço chrony para aplicar as alterações.

sudo systemctl restart chrony

Por fim, verifique a fonte NTP usando o comando abaixo.

chronyc sources

Você deve receber uma saída como a seguinte:

configurar chrony

Na Estação de Trabalho e Cliente Chef

Agora vá para a estação de trabalho Chef e a máquina cliente. Em seguida, execute o seguinte comando para atualizar o repositório e instalar o Chrony em ambos os servidores.

sudo apt update  
sudo apt install chrony -y

Depois disso, modifique a configuração do Chrony /etc/chrony/chrony.conf usando o seguinte comando do editor nano.

sudo nano /etc/chrony/chrony.conf

Comente a fonte NTP padrão para desativá-la, em seguida, insira o endereço IP do servidor Chef como servidor NTP como o seguinte.

# default chrony  
server 192.168.5.15 iburst

Salve e feche o arquivo quando terminar.

Em seguida, execute o seguinte comando para configurar o fuso horário padrão e habilitar o NTP.

sudo timedatectl set-timezone Europe/Amsterdam  
sudo timedatectl set-ntp true

Depois, reinicie o serviço Chrony para aplicar suas alterações.

sudo systemctl restart chrony

Por fim, verifique as fontes NTP tanto na estação de trabalho Chef quanto no cliente usando o seguinte comando.

chronyc sources

Você deve ver que a fonte NTP padrão para tanto a estação de trabalho Chef quanto o cliente é o servidor Chef, que tem um endereço IP de 192.168.5.15.

configurar chrony estação de trabalho cliente chef

Instalando e Configurando o Servidor Chef

Agora que você configurou o FQDN e sincronizou os horários entre os servidores, está pronto para instalar o Chef. Primeiro, você instalará e configurará o Servidor Chef.

O Servidor Chef é um ecossistema central do Chef que conecta cada parte, então você deve configurá-lo primeiro. Neste caso, usaremos um Servidor Chef com 8 GB de RAM.

Instalando o Servidor Chef via DEB

Vá para o servidor Chef e execute o comando abaixo para baixar o pacote do servidor Chef. Neste exemplo, você usará o Chef 15.

VERSION="15.7.0"  
wget https://packages.chef.io/files/stable/chef-server/${VERSION}/ubuntu/22.04/chef-server-core_${VERSION}-1_amd64.deb

Agora instale o servidor Chef via o arquivo .deb usando o comando abaixo. A instalação levará alguns minutos.

sudo apt install ./chef-server-core_*.deb

Uma vez que a instalação esteja concluída, você deve receber a confirmação ‘ Obrigado por instalar o Chef Infra Server ‘.

instalar servidor chef

Em seguida, execute o comando chef-server-ctl abaixo para reconfigurar sua instalação do Servidor Chef.

sudo chef-server-ctl reconfigure

Quando solicitado, insira Y para confirmar a licença do Chef.

reconfigurar servidor chef

A inicialização do servidor Chef começará. Uma vez concluído, você deve receber uma confirmação como ‘ Chef Infra Server Reconfigurado ‘.

reconfiguração do servidor chef concluída

Configurando Usuário e Organização

Agora que você reconfigurou o Servidor Chef, você configurará o usuário e a organização na sua instalação do Servidor Chef.

Crie um novo diretório ~/.chef usando o seguinte comando.

mkdir -p ~/.chef

Em seguida, crie um novo usuário Chef usando o seguinte comando. Neste exemplo, criaremos um novo usuário alice com a senha password e o certificado TLS será armazenado em ~/.chef/alice.pem.

sudo chef-server-ctl user-create alice Alice Wonderland [email protected] 'password' --filename ~/.chef/alice.pem

Agora crie uma nova organização usando o comando abaixo. Certifique-se de alterar os detalhes do nome da organização, usuário associado e o caminho do certificado TLS.

sudo chef-server-ctl org-create hworgz 'HW Corp, Inc.' --association_user alice --filename ~/.chef/hworgz-validator.pem

Uma vez que tudo esteja concluído, verifique a lista de usuários e organizações no servidor Chef usando o comando abaixo.

sudo chef-server-ctl user-list  
sudo chef-server-ctl org-list

Se tudo correr bem, você deve ver o Servidor Chef com o usuário alice e a organização hworgz como a seguinte.

criar usuário e organização

Além disso, você também pode verificar os certificados TLS gerados usando o comando abaixo. Você deve ver os certificados alice.pem e hworgz-validator.pem.

ls ~/.chef/

Neste ponto, você concluiu a instalação do Servidor Chef.

Instalando e Configurando a Estação de Trabalho Chef

Após instalar o Servidor Chef, você instalará a estação de trabalho Chef. A estação de trabalho Chef é um nó que administradores/usuários usam para criar e testar livros de receitas e receitas.

Neste exemplo, você instalará a estação de trabalho Chef em um servidor Debian 12 com 2 GB de RAM.

Instalando a Estação de Trabalho Chef via DEB

Vá para a estação de trabalho Chef e execute o comando abaixo para baixar o pacote da estação de trabalho Chef usando o comando wget abaixo. Neste caso, você instalará a Estação de Trabalho Chef 23.

VERSION="23.7.1042"  
wget https://packages.chef.io/files/stable/chef-workstation/${VERSION}/debian/11/chef-workstation_${VERSION}-1_amd64.deb

Uma vez baixado, execute o seguinte comando para instalar o pacote da estação de trabalho Chef em seu sistema.

sudo apt install ./chef-workstation_*.deb

Quando terminar, você deve receber a confirmação ‘ Obrigado por instalar a Estação de Trabalho Chef ‘.

instalar estação de trabalho chef

Por fim, execute o comando abaixo para verificar a versão do Chef.

chef -v

A seguinte saída confirma que você instalou o Chef 23 em seu servidor Debian.

verificar versão do chef

Configurando a Estação de Trabalho Chef

Agora que você instalou a estação de trabalho Chef, você configurará sua instalação.

Primeiro, gere uma nova chave SSH usando o seguinte comando. Insira quando solicitado para configurar uma frase de acesso para a chave.

ssh-keygen -t ed25519

gerar chave ssh

Agora execute o comando abaixo para enviar a chave para o Servidor Chef chef.howtoforge.local. Isso será usado para recuperar certificados TLS do servidor Chef para a estação de trabalho.

ssh-copy-id [email protected]

Insira sua senha quando solicitado.

enviar chave

Em seguida, gere um novo repositório Chef usando o comando abaixo. Neste exemplo, você criará um novo repositório Chef test-repo.

chef generate repo test-repo

Agora crie um novo diretório ~/test-repo/.chef e entre nele.

mkdir ~/test-repo/.chef; cd ~/test-repo/.chef

Copie os certificados TLS do Servidor Chef para a Estação de Trabalho para o diretório atual usando o comando abaixo.

scp [email protected]:~/.chef/*.pem .

Uma vez terminado, verifique a lista de arquivos dentro do diretório ~/test-repo/.chef.

ls ~/test-repo/.chef/

Certifique-se de que seus certificados TLS estejam disponíveis no servidor da estação de trabalho Chef.

Configurando a Utilidade Knife - Interface para o Servidor Chef

Agora que você instalou a estação de trabalho Chef, você configurará o Knife em sua estação de trabalho Chef. O knife é uma ferramenta de linha de comando para se comunicar com o Servidor Chef que permite gerenciar nós, livros de receitas, receitas, funções e ambientes.

Na máquina da estação de trabalho Chef, vá para o diretório ~/test-repo/.chef e crie um novo arquivo knife.rb usando o seguinte comando do editor nano.

cd ~/test-repo/.chef  
nano knife.rb

Insira o seguinte script Ruby e tenha certeza de alterar os detalhes do usuário, organizações, arquivos de certificado TLS e a URL do Servidor Chef.

current_dir = File.dirname(__FILE__)  
log_level                :info  
log_location             STDOUT  
node_name                'alice'  
client_key               "alice.pem"  
validation_client_name   'hworgz-validator'  
validation_key           "hworgz-validator.pem"  
chef_server_url          'https://chef.howtoforge.local/organizations/hworgz'  
cache_type               'BasicFile'  
cache_options( :path => "#{ENV['HOME']}/.chef/checksums" )  
cookbook_path            ["#{current_dir}/../cookbooks"]

Salve e feche o arquivo quando terminar.

Agora vá para o diretório ~/test-repo e recupere os certificados do Servidor Chef usando o comando knife abaixo.

cd ~/test-repo  
knife ssl fetch

Uma vez terminado, você deve obter a seguinte saída.

configurar knife

A partir de agora, você pode usar o knife para se comunicar com o Servidor Chef e inicializar a máquina cliente.

knife client list

Inicializando Cliente/Nó a partir da Estação de Trabalho Chef

Na seção seguinte, você aprenderá como usar o Knife para inicializar automaticamente o nó 192.168.5.21 via SSH a partir da estação de trabalho Chef.

Primeiro, vá para o diretório ~/test-repo/.chef.

cd ~/test-repo/.chef

Execute o comando knife abaixo para inicializar o cliente 192.168.5.21. Certifique-se de alterar o usuário root e a senha password com suas informações.

Neste exemplo, você adicionará o nó 192.168.5.21 e o nomeará como client.

knife bootstrap 192.168.5.21 -U root -P password --node-name client

Insira Y para continuar e prosseguir com o processo.

inicializando nó

Uma vez terminado, você deve receber a confirmação ‘ Fase Infra concluída ‘.

inicialização concluída

Agora verifique a lista de nós disponíveis no ambiente Chef usando o comando abaixo. Se tudo correr bem, você deve ver que o nó cliente está disponível.

knife node list

Em seguida, verifique os detalhes do nó cliente usando o comando knife abaixo.

knife node show client

Na saída a seguir, você pode ver o nó cliente da máquina Debian 12 com FQDN client.howtoforge.local.

verificar nó knife

Por fim, você pode agora executar comandos arbitrários no nó cliente via o comando knife abaixo.

knife ssh "client" "whoami;top" -u alice

Insira a senha do usuário Chef alice quando solicitado. Se o comando for bem-sucedido, você deve obter o seguinte.

executando comando Linux via chef para cliente

Conclusão

Parabéns! Você agora completou a instalação do Servidor e da Estação de Trabalho Chef em servidores Debian 12. Você também aprendeu a usar a ferramenta de linha de comando Knife para inicializar nós clientes via SSH. Agora, você pode adicionar novos nós clientes e configurar livros de receitas e receitas para instalar aplicativos.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.