Instalar o Vagrant e utilizá-lo como ambiente de desenvolvimento no Windows

VagrantPrecisa simular seu ambiente de produção para não ter surpresas ao fazer deploy da sua aplicação?
Por que não virtualizá-lo utilizando o Vagrant?

Com o Vagrant podemos criar um ambiente de desenvolvimento idêntico ao ambiente de produção e com isso ao colocarmos nossa aplicação no ar, não teremos nenhuma dor de cabeça.

Muito útil também para equipes que utilizam diversos sistemas operacionais como Linux, Windows, Mac OS, pois todos podem trabalhar com VMs idênticas e ninguém mais vai falar, “não funciona na minha máquina”. :)

O Vagrant utiliza o VirtualBox para rodar uma máquina virtual, essas máquinas podem possuir qualquer tipo configuração, o que possibilita criar uma máquina para cada projeto. A essas máquinas virtuais (VMs) damos o nome de boxes, nome dado pelo Vagrant a cada VM. As boxes também facilitam e muito a vida de novos membros da equipe, pois basta copiar uma box para o novo desenvolvedor, instalar o Vagrant e subi-la com apenas um comando e este está pronto colaborar com o resto de sua equipe.

Em nosso tutorial utilizaremos uma box baseada em uma distribuição Linux Ubuntu 12.04 LTS 32-bit, mas podemos utilizar dezenas de outras como listado aqui neste link, http://www.vagrantbox.es/

Instalando e configurando o Vagrant

 

1º – Instalando o VirtualBox

Primeiro vamos instalar o VirtualBox. Para isso baixe da página oficial a versão compatível com seu sistema operacional, em nosso caso vamos baixar a versão Windows. Clique aqui para baixar.

Não é necessário deixar o VirtualBox aberto, apenas instalá-lo

 

2º – Instalando o Vagrant

Basta acessar o site do Vagrant e baixar a versão Windows

 

3º – Baixar, Subir e Rodar

Agora abra seu terminal(CMD) e digite “vagrant” sem aspas:

Você verá uma lista de comandos disponíveis para se usar como abaixo:

comandos vagrant

Pronto com isso conferimos que o Vagrant está instalado e pronto para criar as boxes

Antes de tudo crie um diretório, com o nome de “projetos”, “estudos”, como preferir, na raiz do seu C:\ , eu vou usar “estudos”. E  depois dentro desta pasta mais um com o nome “appteste” e pelo terminal navegue até estar dentro dela e então digite:

Com isso um arquivo com o nome de Vagrantfile foi criado dentro de appteste. Abra-o e procure as linhas abaixo:

Esse nome estranho precise32 foi o nome dado a nossa box, poderia ser qualquer coisa, “batman” por exemplo. A configuração box_url é da onde será baixado nossa VM Linux Ubuntu caso ela ainda não exista. Isso vai acontecer agora, ao digitarmos:

vagrant up

agora nossa box está rodando, mas como acessá-la?

Se estivéssemos usando Linux ou Mac bastaria digitar na console “vagrant ssh” e estaríamos dentro da máquina, mas infelizmente no Windows tem que ser sempre um pouquinho mais difícil, portanto vamos baixar dois programinhas, o PuTTY e PuTTYgen na página de downloads do PuTTY.

Primeiro execute o puttygen.exe e você verá esta tela:

puttygen_1

Clique no botão Load e navegue até a pasta C:/Users/<seu usuário>/.vagrant.d/ e procure o arquivo insecure_private_key e clique em “Abrir”. Obs: veja a seta na imagem abaixo e mude para All Files(*.*)

 

puttygen_2

Isso irá carregar a chave privada fornecida pelo Vangrat

 

puttygen_3

Com a chave privada carregada precisamos salvá-la no formato em que o PuTTY reconheça, para isso clique em OK e depois em Save private key

 

puttygen_4

Clique em Sim para salvar sem uma senha

 

puttygen_5

E salve no mesmo diretório com o nome “vagrantkey.ppk“, aqui no caso C:/Users/<seu usuário>/.vagrant.d/

 

Agora execute o putty.exe e coloque a string de conexão vagrant@127.0.0.1 e porta 2222. Obs: Esses dados de conexão são concedidos quando digitamos “vagrant ssh” na console do windows.

putty_2

Depois clique em SSH como na figura acima e depois no campo Auth como na figura abaixo e selecione a chave privada que você salvou com o nome de “vagrantkey.ppk

putty_3

putty_4

selecione a chave e clique em Abrir

 

putty_5

Volte para a tela inicial do PuTTY clicando em Session e depois salve suas configurações colocando um nome para sua conexão e clicando em Save.

Clique em Open e você deverá ver esta tela

putty_6

Clique em Sim e uma lágrima deve escorrer dos seus olhos, sim, você está conectado na sua Box.

console_box

Agora crie uma pasta chamada meusite dentro de C:\estudos\appteste e digite na console da box, cd /vagrant e e você verá o arquivo Vagrantfile e a pasta meusite, isso acontece porque o Vagrant compartilha a pasta entre os dois sistemas operacionais, portanto todo arquivo ou pasta criado dentro de C:\estudos\appteste é visto dentro da box em /vagrant e vice versa e isso é ótimo, pois conseguimos trabalhar nos dois sistemas e tudo estará sincronizado.

Agora vamos testar nossa box acessando um arquivo .html através do browser, para isso temos que ter um Web Server rodando em nossa box. Pois bem, como toda distribuição Linux já vem com o python instalado vamos utilizá-lo para subir um servidor HTTP básico para escutar na porta 80, mas primeiro entre no arquivo Vagrantfile e descomente a linha:

feito isso, qualquer coisa que bater na porta 8080 é encaminhada para a porta 80 da box

voltando na console da nossa box digite:

com isso um servidor HTTP acaba de subir e agora podemos testar digitando no browser http://localhost:8080/index.html

hello_vagrant

Resumo

E assim chegamos ao final mas não ultimo tutorial sobre o Vagrant, onde foi abordado desde a sua instalação até um pequeno exemplo de um arquivo sendo servido por um web service de dentro da box. Vou deixar também a documentação oficial do Vagrant que me ajudou bastante. Até logo.