O problema de criar novos virtual hosts no apache ao iniciar um projeto foi resolvido

Durante muito tempo eu vivi esse problema. A sintaxe é fácil, porém não é uma coisa que se faz todo dia- pelo menos não o desenvolvedor e por isso mesmo a gente esquece. Não adianta dizer que é algo que a gente pode ir buscar na internet, ou na documentação. Bom mesmo é ter uma ferramenta que faça o trabalho para você de forma mais automática. Concorda?

Pensando nisso eu desenvolvi um pequeno pacote em php, a princípio somente para minhas necessidades. Trabalho com php há alguns anos e nem por isso foi fácil. Trabalho com Linux também há muitos anos e nem por isso lembrar do que se deve escrever em um arquivo de configuração de hosts é tão fácil assim. Nem tudo é tão instintivo.

O Addhost – como chamo o pacote – é uma simples ferramenta de linha de comando, feito inicialmente para uso em ambiente Linux (não testei em ambiente Windows ou Mac) para que, com alguns parâmetros, eu pudesse criar hosts virtuais na minha máquina em tempo de projeto sem ter que ficar copiando, colando e editando arquivos já configurados para fazer funcionar um novo endereço. O funcionamento dele é bem simples. Vou mostrar para vocês.

Esse pacote foi hospedado inicialmente no github e para fazê-lo funcionar é só baixar o pacote. Estou pensando em submetê-lo ao packagist, porém isso é algo para o futuro. Vamos começar!

Para baixar o pacote basta ir no github.com/evaldobarbosa/addhost e achar o link que dá para o arquivo .zip e colocá-lo em qualquer lugar da sua máquina, descompactá-lo. Lembre-se de que você deve ter permissões de administrador para poder criar novos vhosts! Depois de baixado o pacote é hora de configurar.

O primeiro passo é configurar um pequeno arquivo, o conf.php, na pasta do addhost, para informar o caminho onde os seus vhosts serão criados, o nome do seu usuário, do usuário padrão do apache e também o caminho para o arquivo de hosts, onde o addhost configurará a relação IP/hostname. Outras opções, como linguagem e informações sobre proxy agora também são aceitas. Feito isso, meu caro, mão na massa!

Vá no seu terminal e chame o pacote assim:

$ php addhost.php 127.0.1.1 vhosttest /home/seu_usuario/Projetos/VHostTest

De forma básica você estará configurando um vhost chamado vhosttest que rodará sobre o IP 127.0.1.1 e que apontará para a pasta VhostTest dentro da pasta Projetos, que está dentro da pasta padrão do seu usuário no sistema. Veja que estou usando a sintaxe do Linux, verifique se em outro sistema operacional funciona.

Alguns parâmetros podem ser adicionados à chamada do addhost, deixando mais específica a sua configuração. Você pode adicionar um .htaccess, o download do composer e a criação de um composer.json básico ou mesmo um errorlog para o seu projeto. Tudo nele é feito para facilitar a sua vida. Você pode até remover um vhost já criado!

Os parâmetros que podem ser utilizados estão na lista abaixo com suas respectivas descrições. Dê uma olhada:

  • htaccess: cria um arquivo .htaccess na pasta pública do vhost. Não garante o funcionamento porque ainda não verifica a existência do módulo mod_rewrite;
  • composer: faz o download do composer.phar e cria o composer.json na pasta do projeto. Se você usa proxy, então deve configurar o addhost para que ele possa fazer o serviço;
  • errorlog: cria a diretiva de log de erro na configuração do vhost para que você possa acompanhar os possíveis erros que venha ocorrer enquanto você desenvolve o projeto;
  • removehost: possibilita a remoção do arquivo de configuração do vhost, a retirada do hostname do arquivo de hosts do sistema operacional e também a pasta do projeto.

Se você agora está interessado no projeto, saiba que fico muito animado, porque recebi duas grandes contribuições pelo fórum do site phpclasses.org. Além de tudo, o pacote foi indicado para votação no concurso de inovação promovido pelo próprio site.

O addhost é fruto da necessidade, da minha necessidade, porém resolvi disponibilizá-lo por que sei que muitos passam pelo mesmo problema. Fique livre para utilizar o projeto, forkar e também solicitar modificações, seja pelo github ou pelo fórum do pacote no phpclasses.org.

 

Fonte: http://imasters.com.br/linguagens/php/o-problema-de-criar-novos-virtual-hosts-no-apache-ao-iniciar-um-projeto-foi-resolvido/