Acontece que há alguns passos envolvidos para que isso funcione. Aqui está como eu resolvi isso:
- Edite o /etc/resolve.conf para definir a resolução do seu nome de domínio para a sua máquina local, comentando as linhas existentes e adicionando
nameserver 127.0.0.1
. Depois dessa linha, adicione outra linha contendo um servidor de DNS secundário para resolver outros sites, por exemplo,nameserver 8.8.8.8
. Alguns programas também sobrescrevem esse arquivo toda vez que você inicializa, então você pode usarchmod 0444 /etc/resolv.conf
para evitar que isso aconteça (pode haver uma maneira melhor de conseguir isso). - Instale o dnsmasq e, no final do /etc/dnsmasq.conf, inclua uma linha
address=/your-custom-local-domain/127.0.0.1
- Crie uma nova configuração de site do apache colocando um arquivo chamado localdomain em
/etc/apache2/sites-available
com o texto na parte inferior desta resposta. - Execute o seguinte comando
sudo a2ensite config localdomain
. - Reinicialize o apache e crie uma nova pasta em ~ / chamada Sites.
<VirtualHost *:80> ServerName 127.0.0.1 ServerAlias *.your-custom-local-domain VirtualDocumentRoot /home/%2/Sites/%1/ #ErrorLog /home/%2/logs/error.%1.log </VirtualHost>
Agora, qualquer nova pasta criada no diretório de sites deve ser mapeada para foldername.your-custom-local-domain
.