';

Olá galera…

Nos últimos meses eu comecei a trabalhar com o Vagrant.

Pra quem não conhece, o vagrant em resumo é uma máquina virtual para que você possa configurar um servidor local que tenha as mesmas configurações do seu servidor de produção por exemplo, você trabalha em casa no windows, com php 5.2 mas o seu servidor de produção é um ubuntu com php 5.4, então usando o vagrant você cria uma máquina virtual com a exata configuração do seu servidor de produção. Simples assim!

Se ainda não estiver claro pra você, sugiro que você dê uma lida no post do Guto Carvalho onde ele explica passo-a-passo como utilizar o vagrant.

Vagrant é jóia!

Vagrant é jóia!

Depois de algum tempo trabalhando com o vagrant, eu não conseguia enxergar uma forma de trabalhar com múltiplos sites em apenas uma instancia do vagrant. Eu sempre criava novas máquinas virtuais e ficava alternando em cada uma das máquinas para cada projeto que eu estivesse trabalhando. Isso porque o vagrant faz um mapeamento interno e o redirecionamento de portas. Não sei se a galera também trabalha assim, mas eu estava cometendo esse vacilo, e como isso não estava me atendendo eu resolvi partir para essa solução descrita abaixo (se alguém tiver outras formas, compartilhe nos comentários).

Eu havia conversado com o meu amigo Lucas Mezêncio sobre o redirecionamento de portas, pois não dá pra fazer (ou pelo menos eu não sei fazer) isso pelo arquivo hosts, então ele até propôs a usar um programa de redirecionamento de portas chamado POW. Mas mesmo assim eu ainda não havia encontrado uma forma de solucionar o problema.

Minha solução:

Vagrant

Vagrant

1 – Com o vagrant ja rodando, acesse o mesmo via ssh.

2 – Vá em /etc/apache2/sites-available/ e crie 2 arquivos:
- site1.local

Site 1 - Virtual host do Apache

Site 1 – Virtual host do Apache

- site2.local

Site 2 - Virtual host do Apache

Site 2 – Virtual host do Apache

3 – Em seguida, faça os comandos:

Habilitando virtual hosts no apache 2

Habilitando virtual hosts no apache 2

4 – Vá em /var/www/ e crie:

/var/www/site1/index.php

index.php do site 1

index.php do site 1

Em seguida cire:

/var/www/site2/index.php

index.php do site 2

index.php do site 2

5 – No arquivo /etc/hosts adicione:

/etc/hosts

/etc/hosts

6 – No arquivo /etc/apache2/ports.conf:

Virtual Hosts

Virtual Hosts

7 – Reinicie o apache (sudo /etc/apache2 restart)

8 – Edite o arquivo Vagrantfile colocando:

port forward

port forward

9 – Reinicie o vagrant

10 – Pronto… acesse localhost:8001 e você verá “site1” e em localhost:8002 e você verá “site2”

Obrigado pela leitura 👍👍👍

Bravo, bravíssimo!

Bravo, bravíssimo!

Comentários são bem vindos, não sei ainda se essa é a melhor forma,
mas a principio é a forma que eu encontrei e resolvi compartilhar com vocês.

Obs: Pra quem usa mac e quiser usar o POW (citado acima) você ira mapear as portas 8001 e 8002
e poder acessar via site1.dev e site2.dev respectivamente. =)

Se você já está usando vagrant em seu ambiente de desenvolvimento, deixe um comentário com SIM, se você ainda não está usando vagrant em seus projetos locais, deixe um comentário com NÃO.

Não se esqueça de nos seguir nas redes sociais, por que você não pode ficar de fora dos novos posts.

  1. Curta nossa página no facebook 👍
  2. Não perca as atualizações no twitter 🐦
  3. Veja as dicas no instagram 📸
  4. Siga nossos repositórios no github ⌨️
  5. Faça parte da nossa lista de desenvolvedores 📨

Hashtags

#vagrant #virtualHots #multiplos #sites #virtualhost #vm #virtualbox

Post criado em Junho de 2013 e atualizado em Janeiro de 2019
Creditos da foto de destaque para NeONBRAND no Unsplash


@emersonbroga

Programador há mais de 15 anos, sou formado em Desenvolvimento de Sistemas pela Faculdade Pitágoras e pós-graduado em Gestão Estratégica de Marketing pela PUC Minas. Trabalhei em diversas agências de publicidade e desenvolvimento de software e atualmente trabalho em projetos internacionais como FOX.com, FXNetworks.com, NatGeo.com entre outros. Estou atualmente dedicando meu tempo a ensinar programação em meu blog e redes sociais. Saiba mais em https://emersonbroga.com/e/sobre/.