come configurare l'host virtuale di massa usando VirtualDocumentRoot su Snow Leopard

0

Eseguendo Snow Leopard, ho abilitato la build in apache (con indicizzazione) e php, e ho installato e abilitato mysql. Ho installato i miei siti nella directory ~/Sites , denominata:

  • www.site1.dev
  • www.site2.dev

Funziona tutto, localhost mostra l'indice che le collega.

Ora voglio configurare host virtuali nel modo più semplice. Mi piacerebbe che digitando www.site1.dev nella barra dell'URL mi serva il sito in quella directory.

Quindi ho superato la regola include vhosts nel file httpd.conf e nel httpd-vhosts.conf ho incollato questo codice in base all'apache docs :

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /Users/me/Sites
UseCanonicalName off

VirtualDocumentRoot /Users/me/Sites/%0
AllowOverride All

RewriteEngine On
</VirtualHost>

Eppure il mio browser non riesce a trovare il server. Che cosa sto facendo di sbagliato? Ho notato che nei miei prefs di sistema di condivisione mi viene fornito l'IP che il mio ISP e il loro dominio è incluso nel link creato lì per accedere alla cartella dei miei siti. Mi aspetterei un semplice localhost non un indirizzo IP ....

    
posta newnomad 07.06.2011 - 17:07
fonte

1 risposta

2

Devi aggiornare httpd-vhosts.conf a qualcosa di simile a questo:

<VirtualHost *:80>
    DocumentRoot "/Users/me/Sites/www.site1.dev"
    ServerName www.site1.dev
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "/Users/me/Sites/www.site2.dev"
    ServerName www.site2.dev
</VirtualHost>

Avere ciascun dominio separatamente nella propria configurazione consente di disporre di opzioni server separate per ciascuna, ad es. Riscrivi la configurazione, i file di registro separati, ecc.

Quindi aggiorna il /etc/hosts e aggiungi questo alla fine:

127.0.0.1   www.site1.dev
127.0.0.1   www.site2.dev

Questo passaggio è particolarmente importante in quanto questo è il punto in cui il tuo sistema operativo appare per primo quando risolve i nomi di dominio. Altrimenti non saprà cosa sia www.site1.dev.

Quindi riavvia semplicemente il server disabilitando Web Sharing e attivandolo nuovamente.

Per assicurarti che la tua configurazione funzioni, puoi controllare i log di apache ( access_log e error_log ) tramite Console.app (File > / private / var / log > apache2).

    
risposta data 07.06.2011 - 17:37
fonte

Leggi altre domande sui tag