Como configuro um nome de domínio local no Apache e no Ubuntu, por exemplo, website.sam?

0

Gostaria de mapear meus diretórios / subdomínios da seguinte maneira:

/home/sam/sites/* to http://*.sam

Eu não quero ter que adicionar uma linha ao meu arquivo de hosts toda vez que eu colocar um novo site em spool.

Sou iniciante quando se trata de configurar e instalar o apache, qual é a melhor maneira de conseguir isso?

    
por Sam152 11.07.2011 / 15:04

1 resposta

6

Acontece que há alguns passos envolvidos para que isso funcione. Aqui está como eu resolvi isso:

  1. 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 usar chmod 0444 /etc/resolv.conf para evitar que isso aconteça (pode haver uma maneira melhor de conseguir isso).
  2. Instale o dnsmasq e, no final do /etc/dnsmasq.conf, inclua uma linha address=/your-custom-local-domain/127.0.0.1
  3. 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.
  4. Execute o seguinte comando sudo a2ensite config localdomain .
  5. 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 .

    
por Sam152 17.03.2012 / 10:50