Com a popularização das máquinas virtuais e uma gigantesca diversidade de ambientes produtivos está cada vez mais complicado ter um ambiente de desenvolvimento fiel as configurações do ambiente de produção.
O que é Vagrant?
Vagrant é uma ferramenta que facilita a criação de ambientes de desenvolvimento. Ele tem um conjunto de receitas e com apenas alguns comandos você consegue ter ambiente de desenvolvimento completo.
Como instalar?
O primeiro passo é ter instalado um ambiente de execução de máquinas virtuais, que pode ser VirtualBox(gratuito), VMware, AWS entre outros.
O processo de instalação é bem simples. Basta baixar do site https://www.vagrantup.com o pacote correspondente Windows (MSI), Mac (DMG), Linux (RPM 32 bits), Linux (RPM 64 bits), Linux (DEB 32 bits) ou Linux (DEB 64 bits) e executar.
Se você deseja usar no Windows o Nando Viera fez um ótimo tutorial (passo a passo) de todo o processo em seu site SimplesIdeias.
Como utilizar?
Após o processo de instalação concluído o próximo passo será adicionar uma máquina virtual.
O comando abaixo (box add) faz download automaticamente do Ubuntu 14.04.1 em sua configuração mínima (sem interface gráfica). Basta executá-lo no Terminal (Prompt de comando no Windows).
vagrant box add hashicorp/precise64
Agora para será necessário inicializar as configurações do Vagrant no diretório corrente. Para isso utilizaremos o comando init.
vagrant init hashicorp/precise64
Pronto, agora a máquina está pronta para ser inicializada com o comando up.
vagrant up
Para acessar utilizando SSH você deve utilizar o comando ssh.
vagrant ssh
Para desligar a máquina virtual utilize o comando halt.
vagrant halt
Como adicionar interface gráfica?
Se você não consegue viver sem as famosas interfaces gráficas do Linux, vou dar algumas dicas de como ativar interface gráfica (XFCE, Gnome, KDE, etc) no Vagrant.
A configuração padrão do Vagrant vem apenas com acesso via SSH (headless), se você desejar habilitar você primeiro terá que alterar o arquivo Vagrantfile que foi criado com o comando vagrant init (visto anteriormente).
Com a máquina virtual desligada (vagrant halt), utilize seu editor preferido para alterar o arquivo Vagrantfile localizado (geralmente) em seu diretório pessoal.
vi Vagrantfile
Descomente (remove #) as linhas abaixo.
config.vm.provider :virtualbox do |vb| vb.gui = true end
Agora você vai precisar inicializar a máquina virtual novamente e acessá-la para adicionar os pacotes da interface gráfica.
vagrant up vagrant ssh
No terminal do Ubuntu execute os comandos:
Atualiza a lista de repositórios.
sudo apt-get update
Adiciona os pacotes básicos do gnome.
sudo apt-get install xorg gnome-core gnome-system-tools gnome-app-install
Adicionar XFCE:
sudo apt-get install xfce4
Inicializar o XFCE:
sudo startxfce4&
Prontinho agora você tem o Ubuntu funcionando com interface gráfica!
Se achou muito trabalhoso tudo isso, existem outras opções bem interessantes.
Como baixar máquinas pré-configuradas?
O próprio site do Vagrant traz um conjunto de máquinas (boxes) prontinhas para uso: http://docs.vagrantup.com/v2/boxes.html
Outra opção é utilizar o Protobox para criar uma máquina mais próxima as suas necessidades: http://getprotobox.comPra finalizar, com o PuPHPet você faz toda a configuração online e baixa a máquina perfeita: https://puphpet.com
Fontes:
http://stackoverflow.com/questions/18878117/using-vagrant-to-run-virtual-machines-with-desktop-environment
http://www.digitalforreallife.com/2012/11/boosting-teamwork-with-vagrant/http://simplesideias.com.br/usando-o-vagrant-como-ambiente-de-desenvolvimento-no-windows
http://www.htpcbeginner.com/install-gui-on-ubuntu-server-14-04-gnome/
Also published on Medium.