Vagrant é um projeto open source que possibilita a construção de ambientes de desenvolvimentos. Imagine a situação, você trabalha em um ambiente com Ubuntu 14.04 configurado com PHP 5.5, porem o ambiente de produção está com Ubuntu 12.04 como PHP 5.3 o que fazer para padronizar os ambientes?. A resposta mais comum é instalar uma Maquina virtual o que não está errado porem podemos fazer essa processo com Vagrant tornando o processo mais rápido e fácil.
O Vagrant pode ser configurando junto do VirtualBox ou VMware. No nosso exemplo levamos em consideração que o Virtual Box já esteja instalado.
Instalação do vagrant
sudo apt-get install vagrant
Após a instalação criaremos uma box com o ubuntu12.04 com o comando:
sudo vagrant box add ubuntu1204 http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box
No endereço: http://cloud-images.ubuntu.com/vagrant/ você encontrara varias box de outras versões de sistemas operacionais
Inicializamos a Box
vagrant init ubuntu1204
Instalamos o plugin de compartilhamento de diretórios:
vagrant plugin install vagrant-vbguest
Esse comando resolve um problema de diretórios da versão 4.3.10 do VirtualBox
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
Para Iniciar o box execute:
vagrant up
Para entrar no servidor:
vagrant ssh
Apartir dai sua VM já está rodando, você pode configurar manualmente o ambiente ou configurar por arquivos com “receitas Puppet ou chef.
É importante redirecionar o redirecionamento das portas da sua maquina para a Box.
Edite o arquivo Vagrantfile e deixe da seguinte forma:
config.vm.network :forwarded_port, guest: 80, host: 3000
Acessando http://localhost:3000 você acessará a porta 80 da Box.
Também recomendo montar um diretório da sua maquina dentro da box:
config.vm.synced_folder “/var/www”, “/var/www” ,:mount_options => [“dmode=777″,”fmode=666”]
Com esse comando a pasta /var/www do seu Ambiente será compartilhada com a Box.
Depois de configurado, você pode criar um pacote do seu ambiente, e distribuir para sua esquipe caso seja necessário.
vagrant package
Esse comando irá gerar o pacote que substitui a url que utilizamos acima.
Em outro post, falaremos sobre receitas Puppet.
Leave a Reply