1. Come configgi i tuoi vhosts?
Il "Lion way" per farlo sarebbe decommentare la seguente riga nel tuo httpd.conf.
#Include /private/etc/apache2/extra/httpd-vhosts.conf
Ora puoi modificare /private/etc/apache2/extra/httpd-vhosts.conf e inserire i tuoi vhosts lì. È consigliabile iniziare con uno predefinito che corrisponda a tutti gli host non qualificati, ad esempio:
<VirtualHost *:80>
DocumentRoot /Library/WebServer/Documents
</VirtualHost>
Successivamente, puoi aggiungere ogni vhost allo stesso file, oppure puoi configurare un sistema simile come Debian includendo tutti i file in una directory specifica successiva, in questo modo:
Include /etc/apache2/sites-enabled/*
Ora, se i file symlink qui che esistono da qualche altra parte (siti disponibili) o se i file reali non contano davvero. Personalmente, penso che i siti disponibili siano overkill per un box di sviluppo (e non voglio mai veramente "disabilitare" un vhost), quindi creo un file per ogni vhost direttamente in siti abilitati o equivalenti (in effetti io chiamato la directory / etc / apache / sites per evitare confusione).
2. Dove metti il codice e la docroot per i tuoi vhosts?
I miei siti reali che ho inserito in / Users / username / Sites. Preferisco metterli sotto la mia home directory per un accesso più facile in Finder ecc. Detto questo, è bene notare che questa directory è esposta di default dal modulo userdir. Dal momento che non ho bisogno di userdir hosting, e ho intenzione di configurare i web-root di seguito, l'ho disabilitato commentando la seguente riga:
Include /private/etc/apache2/extra/httpd-userdir.conf
3. Dove metti i file di registro?
I file di registro mantengo lo stesso (ad esempio / var / log / apache / *). Ancora una volta, per una casella di sviluppo locale, credo che i singoli file di registro per ogni vhost siano eccessivi. C'è solo così tanto che posso multitasking :) Se vuoi i file di log separati, puoi ovviamente configurarlo in questo modo all'interno della direttiva VirtualHost (ad esempio /var/log/apache/my.project.dev-error.log) .
4. Dove inserisci la configurazione dell'applicazione locale?
A quali applicazioni ti stai riferendo? Se l'applicazione web, li tengo insieme a tutti gli altri file di progetto. A seconda della tua architettura, i tuoi file di configurazione non devono necessariamente essere sotto il tuo webroot se questo è un problema, in genere il mio webroot per ogni progetto sarà / Users / username / Sites / someproject / web, quindi i file di configurazione potrebbero essere in / Utenti / nome utente / Sites / someproject / config senza esporli tramite Apache.
5. Come risolvi il servizio di denominazione?
Il più diretto sarebbe aggiungere ogni hostname a / etc / hosts. Sfortunatamente, questo non funziona con i caratteri jolly. Se ti senti a tuo agio con l'impostazione di un server DNS come bind, puoi configurarne uno localmente o sulla tua rete per risolvere * .dev a 127.0.0.1, per esempio. Lo svantaggio di farlo sulla rete è, naturalmente, che smetterà di funzionare in una posizione diversa. Personalmente, io uso / etc / hosts.