2. Apresentação
● Sou analista e desenvolvedor de sistemas
● Programador e instrutor nas linguagens PHP,
JAVA, PYTHON, C, C++ e bancos de dados;
● Especialista Linux
● Adepto e seguidor da filosofia do software livre;
● Profundo estudioso de metodologias de
desenvolvimento e paradigmas de
programação
4. Motivação
● Quem nunca sofreu com configuração de ambientes de desenvolvimento e
produção ?;
● Quantos colegas programadores na plataforma MS Windows (
www.microsoft.com.br) precisam instalar XAMP, WAMP e tantos outros para
programar em PHP ?
● Quantos de nós precisamos testar nossos projetos em diversas plataformas
e enfrentamos inúmeros problemas, que só nós sabemos quais são?
● Quantas vezes precisamos alterar configurações de testes e quando
precisamos usá-los em produção, o ambiente foi tão modificado que tudo
“quebra” e temos um retrabalho enorme para colocarmos tudo pra
funcionar novamente?
● Será que conseguiríamos “subir” um novo ambiente de desenvolvimento
em menos de 15 minutos?
6. Requisitos
● Baixar e instalar o VirtualBox na última versão disponível
para sua plataforma, juntamente com o seu
ExtensionPack (Window, Mac ou Linux);
– http://www.oracle.com/technetwork/pt/server-storage/virtualbox/downloads/index.html
● Baixar e instalar o Vagrant para sua plataforma de
desenvolvimento;
– https://www.vagrantup.com/
● No caso de uma instalação em MS Windows, baixe
também o putty, necessário para o acessar a máquina
virtual
– http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
7. Observações
● Neste tutorial não vou discorrer como instalar os requisitos
mencionados no slide anterior por não ser meu foco neste momento, já
que depende de sua plataforma de desenvolvimento. Mas, facilmente
pode ser encontrado em outros tutoriais estes procedimentos, inclusive
no próprio site de seus respectivos fornecedores;
● Outro detalhe importante é que, apesar de Vagrant dar suporte para
outros providers vou me ater apenas ao Virtualbox por ser totalmente
gratuito e atender muito bem as expectativas para todos os testes que
fiz, porém, fiquem livre para usar qualquer outro provider, bastando
apenas informar isso durante a criação da máquinas virtuais;
● Providers são as plataformas de virtualização usadas pelo Vagrant que
pode ser VirtualBox (padrão), VMWare(uma outra excelente opção) e o
Hyper-V (não gostei – opnião minha);
8. O que o Vagrant faz?
● O Vagrant é uma ferramente que abstrai toda a complexidade de criação e gerenciamento de
máquinas virtuais;
● Apesar de usar providers, não será necessário usar suas respectivas interfaces com o usuário;
Vagrant vai fazer tudo de forma bem mais simples e confortável;
● Outro detalhe é que você pode ter inúmeros projetos e cada um com um ambiente diferente
instalado, podendo inclusive ter ambientes totalmente isolados que ajuda muito em diversos
cenários;
● Vamos supor um cenário que seja necessário um servidor WEB, um servidor FTP, um servidor
MySQL, etc... Você pode instalar ambientes com suas devidas boxes;
● Outro recurso interessante, uma vez consolidado seu ambiente, você terá uma box totalmente
customizada que poderá ser “bacapeada” e totalmente pronta. Por exemplo, chega um novo
programador em sua equipe: a única coisa que precisa é passar para ele o ambiente em um
diretório e apenas executar a máquina virtual contida no box... que facilidade! Tudo vai estar lá,
testado e funcional... em menos de 15 minutos o novo programador estará trabalhando em seus
respectivos projetos.
● Eu particularmente, penei durante anos, pois como trabalho em centros de treinamento e
precisava usar várias distros Linux e era um verdadeiro “pandemonho” para tê-los plenamente
funcionais... e agora com Vagrant, não quero outra vida. Tanto faz, Windows, Linux ou Mac, tudo
funciona redondinho...
9. Onde baixar boxes prontas para uso
● Neste endereço você pode baixar boxes
prontinhas para uso e você pode utilizá-las e
prepará-las conforme suas necessidades.
● Há boxes com configurações adequadas para
diversos fins.
● Links:
– http://www.vagrantbox.es/
10. Configurando no Windows
● Bom, grande parte de desenvolvedores usam o
Windows como ambiente de desenvolvimento,
então vamos lá:
– Vamos atender os requisitos mencionados, ou seja,
baixar o VirtualBox e o Vagrant.
● Uma vez atendidos os requisitos:
– Crie uma pasta em seu ambiente que será o seu diretório de trabalho,
por exemplo C:projetosprojeto1.
– Abra um prompt de comando de preferencia como administrador e entre
na pasta criada: cd c:projetosprojetos1;
– Digite o comando: vagrant init hashicorp/precise32 - -provider
virtualbox, no caso vou instalar hashicorp/precise32. Este nome pode
ser um de sua escolha.
– vagrant up hashicorp/precise32 --provider virtualbox
11. Uma pequena parte da lista...
Para instalar:
vagrant box add {title} {url}
vagrant init {title}
vagrant up
Onde {title} é o nome que você vai dar a sua box e {url} é endereço de onde baixar ou o
caminho do diretório para onde você fez download.
12. Baixando e instalando a vbox
Criando o diretório de trabalho: neste caso em d:projetosprecise32
13. Configurando ...
● Vamos agora digitar um comando que criará um
arquivo de manifesto, que na verdade é um arquivo de
configuração inicial da nova máquina virtual.
Geralmente este arquivo criado tem o nome de
Vagrantfile.
14. Configuração básica do Vagrantfile
Os comentários originais do
arquivo de configuração foram
retirados para melhor
visualização das diretivas que
vamos usar mas outras
importantes diretivas existem e
quando você melhorar seu
conhecimento sobre a ferramenta
com certeza vai saber como usá-
las...
Por ora, vamos usar conforme
este exemplo.
Estamos configurando uma box que baixará do repositório hashicorp/precise32 com
mapeamento de porta 8080 local para 80 da máquina virtual e usará o compartilhamento de rede
em bridge, compartilhando o diretório do projeto onde ficarão armazenados e espelhados para o
diretório /var/www da máquina virtual. Esta máquina terá 200 MB de memória e executará um
update da lista de pacotes e instalará o apache2.
15. Iniciando a máquna virtual da vbox
Vagrant box add hashicorp/precise32
Pode demorar um pouco dependendo de sua conexão com a Internet.
Vagrant up → inicia a máquina virtual...
16. Acessando a máquina virtual com o Putty.
Lembra-se da configuração na
diretiva de redirecionamento
de portas.
Um redirecionamento da porta
2222 da máquina real para a
porta 22 da box.
Então, apenas configure o
putty.exe de acordo.
Clique em open/abrir.
17. Acessando a box...
Clique em sim...
Isso vai gerar uma chave
criptográfica.
Usuário: vagrant
Senha: vagrant.
18. Utilizando a box...
Pronto, seu ambiente Linux está
pronto para uso...
Tudo que for gravado em
/var/www estará também no seu
diretório de projeto.
19. Atualizando a máquina virtual
No caso do Ubuntu você utiliza apt-get update
Nas distros baseadas em Redhat ou Fedora, P.ex. Centos,
use yum update..
Mas há um script posintall.sh neste caso que fará isso
automaticamente...
20. Instalando tudo que você precisa
Como não é nosso foco...
Segue um excelente link para servir de guia para instalar seu ambiente LAMP
para desenvolvimento.. . entre outros.
Muiiiiiiiiiiito melhor que apenas WAMP, XAMP, bla, bla, bla...
Você tem agora um ambiente poderoso de desenvolvimento com o supra-
sumo do maior representante do software livre no momento: GNU/Linux.
http://blog.wfsneto.com.br/2014/06/21/php-configurando-ambiente-de-densenvolv
imento-ubuntu-14-04
http://www.informaticanaweb.com/servidor-web-lamp-ubuntu-13-04/
http://www.vivaolinux.com.br/dica/Instalacao-do-LAMP-no-Ubuntu/
22. Desligando a máquina virtual
vagrant halt
Ou pelo próprio Linux:
sudo shutdown -h now
ou simplesmente sudo halt.
23. Instalando no Linux ou Mac
● Como era de se esperar... sem problemas...
● Os mesmos passos, porém, sem a
necessidade de usar o putty, bastando usar o
comando:
– vagrant ssh
● Todo o resto é exatamente igual exceto por
baixar os requisitos para a plataforma Linux ou
Mac.
24. Criando uma box customizada
● Com tudo instalado devidamente em seu ambiente de
desenvolvimento em sua box você agora pode agora exportá-la e
sempre estará disponível.
● Para criar a box customizada apenas digite:
– vagrant package
● O mais legal é que se precisar de instalar em uma outra máquina é
só pegar esta box customizada copiar para a máquina de destino e
usar o comando:
vagrant box add “nome_box” “url de sua box”
25. E muito mais...
● Dá pra fazer muito mais com Vagrant
Veja em:
● http://www.erikaheidi.com/pt_br/blog/vagrant-101-
montando-seu-ambiente-de-desenvolvimento-portatil