Usar Ansible para Configurar um Servidor Web Local
Você aprenderá como conectar-se a um servidor Ubuntu remoto e gerenciá-lo usando o Ansible. Vamos criar arquivos de configuração que permitem automatizar tarefas rotineiras. Como exemplo, atualizaremos o índice de pacotes e instalaremos o Git — o primeiro passo na preparação de um servidor para tarefas de desenvolvimento ou DevOps.
Se você estiver usando Windows, execute esses comandos no wsl. Se estiver em macOS ou Linux, basta utilizar o terminal.
Instalando o Ansible
Antes de começar, certifique-se de que o Ansible está instalado em sua máquina:
sudo apt update
sudo apt install ansible -y
O primeiro comando, sudo apt update, atualiza a lista de pacotes do sistema para que ele reconheça as versões mais recentes dos softwares disponíveis. Em seguida, sudo apt install ansible -y instala o Ansible na sua máquina, confirmando automaticamente a instalação sem solicitar que você digite "yes".
Criando arquivos de configuração
Primeiro, é necessário definir uma lista de servidores aos quais o Ansible irá se conectar. Para isso, crie um arquivo de inventário chamado hosts.ini:
Cole o seguinte:
hosts.ini
[ubuntu_container] — o grupo de hosts que o Ansible irá gerenciar;
localhost — o endereço do host (neste caso, sua máquina local executando o contêiner Docker);
ansible_port=2222 — a porta SSH para a conexão;
ansible_user=root e ansible_password=root — credenciais para login via SSH;
ansible_connection=ssh — instrui o Ansible a usar SSH para executar comandos.
O arquivo hosts.ini informa ao Ansible onde se conectar e quais parâmetros utilizar. Sem ele, um playbook não consegue localizar o servidor ou executar tarefas.
Playbook setup.yml
Em seguida, crie o script de automação, ou playbook, setup.yml:
Cole o seguinte:
setup.yml
O arquivo setup.yml define as tarefas que o Ansible deve executar no servidor.
-
name: Configure Ubuntu container— título do playbook; -
hosts: ubuntu_container— grupo de hosts dohosts.ini; -
become: true— executa comandos como superusuário (root); -
tasks— lista de ações que serão executadas em ordem.
Neste exemplo, o índice de pacotes é atualizado e o Git é instalado.
Configuração do Ansible
Por fim, configure o próprio Ansible. O arquivo ansible.cfg personaliza o comportamento do Ansible. Crie o arquivo ansible.cfg:
Cole o seguinte:
ansible.cfg
Neste caso, desabilitamos a verificação da chave de host SSH. Normalmente, o Ansible verifica a impressão digital do servidor para garantir uma conexão segura. Para este tutorial, isso simplifica o processo, já que estamos utilizando um container Docker temporário.
Testando a Conexão
Após criar todos os arquivos de configuração, é importante verificar se tudo está configurado corretamente. Isso garante que o Ansible consiga se conectar ao seu servidor Ubuntu remoto e executar as tarefas conforme esperado.
Ao executar este comando, o Ansible tenta se conectar ao seu contêiner Ubuntu via SSH usando as credenciais e a porta especificadas em hosts.ini. Se tudo estiver configurado corretamente, você verá:
Agora é hora de executar o playbook de fato, já que a verificação de conectividade foi bem-sucedida e você pode ter confiança de que tudo funcionará corretamente.
Quando este comando é executado, o Ansible irá conectar ao servidor Ubuntu remoto via SSH, elevar privilégios usando become: true e executar todas as tarefas sequencialmente. Neste exemplo, ele primeiro atualiza o índice de pacotes para que o sistema conheça as versões mais recentes dos softwares e, em seguida, instala o Git.
Após a conclusão do playbook, é possível verificar se o Git foi instalado no servidor Ubuntu. Primeiro, conecte-se ao servidor usando SSH:
Em seguida, verifique a versão do Git instalada:
Se tudo funcionou corretamente, você verá a versão do Git, confirmando que o playbook foi executado com sucesso.
1. Qual é a finalidade do arquivo hosts.ini no Ansible?
2. No playbook, por que se utiliza become: true?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.7
Usar Ansible para Configurar um Servidor Web Local
Deslize para mostrar o menu
Você aprenderá como conectar-se a um servidor Ubuntu remoto e gerenciá-lo usando o Ansible. Vamos criar arquivos de configuração que permitem automatizar tarefas rotineiras. Como exemplo, atualizaremos o índice de pacotes e instalaremos o Git — o primeiro passo na preparação de um servidor para tarefas de desenvolvimento ou DevOps.
Se você estiver usando Windows, execute esses comandos no wsl. Se estiver em macOS ou Linux, basta utilizar o terminal.
Instalando o Ansible
Antes de começar, certifique-se de que o Ansible está instalado em sua máquina:
sudo apt update
sudo apt install ansible -y
O primeiro comando, sudo apt update, atualiza a lista de pacotes do sistema para que ele reconheça as versões mais recentes dos softwares disponíveis. Em seguida, sudo apt install ansible -y instala o Ansible na sua máquina, confirmando automaticamente a instalação sem solicitar que você digite "yes".
Criando arquivos de configuração
Primeiro, é necessário definir uma lista de servidores aos quais o Ansible irá se conectar. Para isso, crie um arquivo de inventário chamado hosts.ini:
Cole o seguinte:
hosts.ini
[ubuntu_container] — o grupo de hosts que o Ansible irá gerenciar;
localhost — o endereço do host (neste caso, sua máquina local executando o contêiner Docker);
ansible_port=2222 — a porta SSH para a conexão;
ansible_user=root e ansible_password=root — credenciais para login via SSH;
ansible_connection=ssh — instrui o Ansible a usar SSH para executar comandos.
O arquivo hosts.ini informa ao Ansible onde se conectar e quais parâmetros utilizar. Sem ele, um playbook não consegue localizar o servidor ou executar tarefas.
Playbook setup.yml
Em seguida, crie o script de automação, ou playbook, setup.yml:
Cole o seguinte:
setup.yml
O arquivo setup.yml define as tarefas que o Ansible deve executar no servidor.
-
name: Configure Ubuntu container— título do playbook; -
hosts: ubuntu_container— grupo de hosts dohosts.ini; -
become: true— executa comandos como superusuário (root); -
tasks— lista de ações que serão executadas em ordem.
Neste exemplo, o índice de pacotes é atualizado e o Git é instalado.
Configuração do Ansible
Por fim, configure o próprio Ansible. O arquivo ansible.cfg personaliza o comportamento do Ansible. Crie o arquivo ansible.cfg:
Cole o seguinte:
ansible.cfg
Neste caso, desabilitamos a verificação da chave de host SSH. Normalmente, o Ansible verifica a impressão digital do servidor para garantir uma conexão segura. Para este tutorial, isso simplifica o processo, já que estamos utilizando um container Docker temporário.
Testando a Conexão
Após criar todos os arquivos de configuração, é importante verificar se tudo está configurado corretamente. Isso garante que o Ansible consiga se conectar ao seu servidor Ubuntu remoto e executar as tarefas conforme esperado.
Ao executar este comando, o Ansible tenta se conectar ao seu contêiner Ubuntu via SSH usando as credenciais e a porta especificadas em hosts.ini. Se tudo estiver configurado corretamente, você verá:
Agora é hora de executar o playbook de fato, já que a verificação de conectividade foi bem-sucedida e você pode ter confiança de que tudo funcionará corretamente.
Quando este comando é executado, o Ansible irá conectar ao servidor Ubuntu remoto via SSH, elevar privilégios usando become: true e executar todas as tarefas sequencialmente. Neste exemplo, ele primeiro atualiza o índice de pacotes para que o sistema conheça as versões mais recentes dos softwares e, em seguida, instala o Git.
Após a conclusão do playbook, é possível verificar se o Git foi instalado no servidor Ubuntu. Primeiro, conecte-se ao servidor usando SSH:
Em seguida, verifique a versão do Git instalada:
Se tudo funcionou corretamente, você verá a versão do Git, confirmando que o playbook foi executado com sucesso.
1. Qual é a finalidade do arquivo hosts.ini no Ansible?
2. No playbook, por que se utiliza become: true?
Obrigado pelo seu feedback!