Vagrant

Vagrantfile

Sempre gostei de deixar o meu sistema operacional o mais limpo possível, sem instalar muitos pacotes e depois removê-los, dou uma olhada nos arquivos de configuração antigos para limpar o home. Máquinas virtuais são perfeitas para testar programas, porém é muito chato ter que ficar gerenciando tudo na mão, normalmente já tinha uma VM instalada com o básico que servia de base, mas ainda assim leva um tempo até conseguir testar e depois, quando apaga para liberar espaço, não lembra de tudo que foi feito.

Um programa que estou utilizando no trabalho para fazer a configuração inicial do servidor é o Vagrant. A ideia é criar uma máquina virtual com a nossa instalação padrão e depois instalar os pacotes das soluções na primeira vez que ligar a VM de forma automática, funcionando muito bem.

Existem vários boxs (VM com o sistema operacional instalado) prontos na internet para o Vagrant, porém não sei como foram gerados e nem tudo que foi feito neles antes de eu poder usar, então resolvi fazer um box que eu conseguiria controlar melhor.

Os passos seguidos foram:

  • Instalar o sistema operacional
  • Configurar os usuários, por padrão o usuário utilizado é “vagrant” e sua senha também é, porém pode ser outro usuário e senha desde que configurados no Vagrantfile.
  • Configurar a interface de rede para DHCP, utilizando o NAT do VirtualBox.
  • Configurar o acesso ssh, interessante se for autenticação por chave, existe uma padrão, porém como é pública não deve ser utilizada se necessita de segurança.
  • Configurar o sudo para o usuário do vagrant sem senha e com “env_keep=SSH_AUTH_SOCK”.
  • Instalar os componentes adicionais do VirtualBox na VM.
  • Exportar o box com: vagrant package –output arquivo.box –base nome_da_vm
  • Adicionar o box no Vagrant: vagrant box add nome_da_vm arquivo.box

* Não coloquei os comandos que podem variar de acordo com a distribuição, porém os passos são esses, só testar para identificar se necessita de algum ajuste.

Depois disso só dar um “vagrant init nome_da_vm”, editar o Vagrantfile para instalar os pacotes adicionais, que podem ser via shell script mesmo, configurar os caminhos dos programas para /vagrant no servidor que é a pasta aonde está o Vagrantfile, executar um “vagrant up” e pronto. Caso tenha apagado a VM e ainda tiver o Vagrantfile só executar “vagrant up” novamente e ela será refeita, inclusive se a box estiver numa versão mais atualizada.

Vale muito a pena dar uma olhada nesse programa, suas vantagens para desenvolvimento são enormes, mas todos podem aproveitar deste que saiba como usar e não precisa guardar VMs de 10G, só um arquivo de 10 linhas de texto.

Anúncios

Comente

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s