OSX, come molte distribuzioni linux hanno integrato il webserver Apache. Apache ha centinaia di opzioni e configurazioni disponibili per la gestione di qualsiasi situazione.
Tra queste configurazioni ci sono i VirtualHost, che permettono l’esecuzioni di più siti (www.sito1.com, www.sito2.com) sulla stessa macchina. I siti possono essere suddivisi basandosi sia su nomi differenti sia su IP.
In OSX tutte le configurazioni si trovano dentro la cartella “/etc/apache2/”. I passi da fare per abilitare i VirtualHost sono i seguenti:
- Apri un Terminale e digita il comando:
sudo vim /etc/apache2/httpd.conf
- Intorno alla linea 460 c’è questa direttiva
# Virtual hosts #Include /private/etc/apache2/extra/httpd-vhosts.conf
che dovrà diventare:
# Virtual hosts Include /private/etc/apache2/extra/httpd-vhosts.conf
- Il prossimo passo è editare il file con il comando:
sudo vim /private/etc/apache2/extra/httpd-vhosts.conf
- Ora configura il tuo VirtualHost seguendo questa documentazione
- Riavvia Apache per fargli rileggere la configurazione. Per fare ciò vai sulle “Preferenze di Sistema -> Condivisione”
- Disabilita ed abilita la condivisione Web cliccando sul segno di spunta.
- Apri il tuo browser e testa il corretto funzionamento dei VirtualHost
Se hai suggerimenti, correzioni, domande… sai cosa fare!


#1 by JellyBelly on 2010/07/20 - 11:49
Ciao,
ho seguito la tua guida alla perfezione, ma ricevo l'errore 403!
Forbidden
You don't have permission to access / on this server.
Come posso risolvere?
Grazie!
#2 by Diego Russo on 2010/07/20 - 12:14
Sicuramente è qualche direttiva nel virtualhost. Mi incolli per favore il codice del tuo virtualhost?
#3 by JellyBelly on 2010/07/20 - 12:22
Questo è il mio file /etc/apache2/extra/httpd-vhosts.conf: http://paste.bradleygill.com/index.php?paste_id...
Nel file /etc/hosts ho aggiunto la seguente riga:
127.0.0.1 mystery.local
La directory /Users/iJellyBelly/Development/MysteryClient esiste ed al suo interno è presente un file index.php!!
Aiutami please che sto uscendo pazzo!!!
Grazie!
#4 by Diego Russo on 2010/07/20 - 12:33
Inizia con eliminare o commentare i virtualhost di esempio, in modo da togliere eventuali fastidi. Inoltre dimmi come accedi tramite browser e con quale path.
#5 by JellyBelly on 2010/07/20 - 12:41
Accedo tramite browser come: http://mystery.local/
Ho eliminato i dati esempio lasciando questo: http://paste.bradleygill.com/index.php?paste_id...
Mica dovevo commentare anche: NameVirtualHost *:80 ???
Comunque il risultato non è cambiato! :'(
#6 by Diego Russo on 2010/07/20 - 12:44
No, va bene come hai fatto. Ora dentro la direttiva Directory al posto di AllowOverride mettici queste due righe:
Order deny,allow
Allow from all
#7 by JellyBelly on 2010/07/20 - 13:01
Grande!!!!!! Ora funziona!!!
Solo che ora ho un'altro problema! :'(
Ho notato che snow leopard di default monta la 5.3.1!
Io utilizzo un framework che non funziona con php 5.3, ma vuole la 5.2, come posso effettuare il downgrade?
Se mi aiuti anche in questo ti amerò per sempre!!!
Ciao
#8 by Diego Russo on 2010/07/20 - 13:12
Allora ti vuoi fare proprio male!
Su google ci sono molti howto su come fare e non sono così tanto semplici da seguire. Uno dei tanti: http://andreys.info/blog/2010-03-25/compile-php...
Secondo me ti conviene upgradare il tuo framework al 5.3 o trovare qualche workaround.
#9 by JellyBelly on 2010/07/20 - 13:14
Purtroppo effettuare l'upgrade del framework non è possibile!!! :'(
L'inculata è che poi per gli altri progetti con Zend mi farebbe molto comodo la 5.3, ora mi spizzo la guida e speso di poter effettuare eventuali switch!
Grazie infinite!
#10 by Diego Russo on 2010/07/20 - 13:20
Grazie a te per la visita e per i commenti! In bocca al lupo!
#11 by JellyBelly on 2010/07/20 - 13:23
Crepi!