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.localAbra o arquivo /etc/hosts em cada servidor usando o seguinte comando do editor nano.
sudo nano /etc/hostsInsira 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 clientSalve 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
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
Depois de instalar o Chrony, abra o arquivo /etc/chrony/chrony.conf usando o seguinte comando do editor nano.
sudo nano /etc/chrony/chrony.confInsira 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/24Salve 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 trueDepois, reinicie o serviço chrony para aplicar as alterações.
sudo systemctl restart chronyPor fim, verifique a fonte NTP usando o comando abaixo.
chronyc sourcesVocê deve receber uma saída como a seguinte:

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 -yDepois disso, modifique a configuração do Chrony /etc/chrony/chrony.conf usando o seguinte comando do editor nano.
sudo nano /etc/chrony/chrony.confComente 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 iburstSalve 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 trueDepois, reinicie o serviço Chrony para aplicar suas alterações.
sudo systemctl restart chronyPor fim, verifique as fontes NTP tanto na estação de trabalho Chef quanto no cliente usando o seguinte comando.
chronyc sourcesVocê 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.

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.debAgora instale o servidor Chef via o arquivo .deb usando o comando abaixo. A instalação levará alguns minutos.
sudo apt install ./chef-server-core_*.debUma vez que a instalação esteja concluída, você deve receber a confirmação ‘ Obrigado por instalar o Chef Infra Server ‘.

Em seguida, execute o comando chef-server-ctl abaixo para reconfigurar sua instalação do Servidor Chef.
sudo chef-server-ctl reconfigureQuando solicitado, insira Y para confirmar a licença do Chef.

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

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 ~/.chefEm 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.pemAgora 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.pemUma 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-listSe tudo correr bem, você deve ver o Servidor Chef com o usuário alice e a organização hworgz como a seguinte.

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.debUma vez baixado, execute o seguinte comando para instalar o pacote da estação de trabalho Chef em seu sistema.
sudo apt install ./chef-workstation_*.debQuando terminar, você deve receber a confirmação ‘ Obrigado por instalar a Estação de Trabalho Chef ‘.

Por fim, execute o comando abaixo para verificar a versão do Chef.
chef -vA seguinte saída confirma que você instalou o Chef 23 em seu servidor Debian.

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
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.

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-repoAgora crie um novo diretório ~/test-repo/.chef e entre nele.
mkdir ~/test-repo/.chef; cd ~/test-repo/.chefCopie 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.rbInsira 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 fetchUma vez terminado, você deve obter a seguinte saída.

A partir de agora, você pode usar o knife para se comunicar com o Servidor Chef e inicializar a máquina cliente.
knife client listInicializando 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/.chefExecute 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 clientInsira Y para continuar e prosseguir com o processo.

Uma vez terminado, você deve receber a confirmação ‘ Fase Infra 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 listEm seguida, verifique os detalhes do nó cliente usando o comando knife abaixo.
knife node show clientNa saída a seguir, você pode ver o nó cliente da máquina Debian 12 com FQDN client.howtoforge.local.

Por fim, você pode agora executar comandos arbitrários no nó cliente via o comando knife abaixo.
knife ssh "client" "whoami;top" -u aliceInsira a senha do usuário Chef alice quando solicitado. Se o comando for bem-sucedido, você deve obter o seguinte.

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.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.