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.confpara 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-availablecom 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 .