Configurare apache su Mac OS X 10.11 El Capitan

Configurare apache su Mac OS X 10.11 El Capitan

max os x el capitan apache configuration

Come ogni volta che Apple rilascia una nuova versione versione di OS X, si presentano nuovi problemi con l’apache istallato sul sistema, e anche OS X 10 11 EL CAPITAN non ha fatto eccezione. In questo articolo vi mostreremo come Configurare il webserver Apache su Mac OS X 10.11 El Capitan, e sopratutto come risolvere i problemi riscontrati nel passaggio di versione da OS X 10.10 a 10.11. Vi avevamo già mostrato come istallare apache php e mysql su OS X Mountain Lion e come risolvere i problemi in apache nel passaggio tra OS X 10.8 e 10.10 (la versione 10.9 Mavericks non aveva dato problemi). Ebbene vi confermiamo che anche stavolta il passaggio non è stato indolore e che al termine dell’aggiornamento (noi siamo passati da Yosemite a El Capitan) su Apache non funzionava un bel niente.

Configurare apache su Mac OS X 10.11 El Capitan

Appena terminata l’istallazione di El Capitan avremo un bel po di problemi:
  • Il PHP sarà disabilitato
  • La homedirectory dei nostri utenti non si vedrà
  • Se la DirectoryIndex della nostra DocumentRoot sarà diversa da index.html non vedremo la nostra homepage
Per prima cosa andiamo recuperare il nostro file di configurazione http.conf che si trova in /etc/apache2 . 
# cd /etc/apache2  

Abilitiamo il PHP

Con i privilegi di root andiamo a editare il file di configurazione http.conf:
# sudo vi http.conf
e andiamo alla riga 169 (scrivendo :169 e dando invio). Qui troveremo la riga:
#LoadModule php5_module libexec/apache2/libphp5.so
togliamo il cancellato ( # ) e facciamo diventare:
LoadModule php5_module libexec/apache2/libphp5.so
  Riavviamo apache tramite il comando:
# sudo apachectl restart
E ora il nostro Apache sarà di nuovo in grado di gestire le pagine php.

Ripristiniamo il DirectoryIndex

Con l’aggiornamento, la riga 271 del file di configurazione è stato modificato in:
DirectoryIndex index.html
Ciò significa che chi ha istallato WordPress (solo per fare un esempio) non vedrà la propria homepage ma, presumibilmente il fatidico It works! di Apache, contenuto all’interno del file index.en.html. WordPress utilizza invece il file index.php. Per fare questa modifica sarà sufficiente editare in vi il file httpd.conf (vedi righe precedenti) ed andare alla riga 271, sostituendo l’esistente con:
DirectoryIndex index.php index.html
In questo modo il file index.php sarà il primo ad essere cercato. Se il file contenente la homepage del visto sito si chiamasse per esempio home.php, sarà sufficiente scriverlo al posto di index.php nella medesima riga.
  Le operazioni fatte finora permettono di vedere nuovamente i contenuti della pagina http://localhost, ovvero il “sito” principale pubblicato sul nostro Mac.

userdir_module e siti degli utenti

Passiamo ora vedere come abilitare il sito dedicato a ciascuno degli utenti presenti sul nostro Mac. Ogni utente infatti ha la possibilità di avere il proprio spazio web sul mac, raggiungibile all’indirizzo: http://localhost/~NOMEUTENTE/ . Vediamo come fare. Apriamo nuovamente il file httpd.conf e andiamo alla riga 166 ( :166 invio in vi) che apparirà nel modo seguente:
#LoadModule userdir_module libexec/apache2/mod_userdir.so
Eliminiamo il cancelletto ( # ) in modo che appaia:
LoadModule userdir_module libexec/apache2/mod_userdir.so
Ancora non abbiamo finito. Andiamo alla riga 493 che dovrebbe apparire:
#Include /private/etc/apache2/extra/httpd-userdir.conf
Eliminiamo anche qui il cancelletto # in modo che appaia in questo modo:
Include /private/etc/apache2/extra/httpd-userdir.conf
Quest’ultima modifica richiama il file di configurazione /private/etc/apache2/extra/httpd-userdir.conf che è quello che richiama le DocumentRoot degli utenti. Eseguiamo una copia di backup di questo file (cp /private/etc/apache2/extra/httpd-userdir.conf /private/etc/apache2/extra/httpd-userdir.conf.backup) e andiamo a editarlo, sempre con il comando vi ( sudo vi /private/etc/apache2/extra/httpd-userdir.conf ) in modo che il suo contenuto diventi:
# Settings for user home directories # Required module: mod_authz_core, mod_authz_host, mod_userdir # UserDir: The name of the directory that is appended onto a user’s home # directory if a ~user request is received.  Note that you must also set # the default access control for these directories, as in the example below. User   Dir Sites   <Directory “/Users/MIOUTENTE/Sites/”> DirectoryIndex index.html index.php index index.html default.html default.htm AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec <Limit GET POST OPTIONS> Require all granted </Limit> <LimitExcept GET POST OPTIONS> Require all denied </LimitExcept> </Directory> # # Control access to UserDir directories.  The following is an example # for a site where these directories are restricted to read-only. # Include /private/etc/apache2/users/*.conf <IfModule bonjour_module> RegisterUserSite customized-users </IfModule>
Ovviamente dovrete modificare “MIOUTENTE” con lo username che utilizzate per accedere al Mac in questione. Questo file di configurazione richiama la cartella /private/etc/apache2/users/ all’interno della quale dovrebbe essere presente il file MIOUTENTE.conf. Questo file non è stato modificato con l’aggiornamento ma per sicurezza ne riporto il contenuto:
<Directory “/Users/MIOUTENTE/Sites/”>   Options Indexes MultiViews   AllowOverride None   Order allow,deny   Allow from all   </Directory>
Questa configurazione offre la possibilità di proteggere web le pagine tramite una password. Se siete interessati a questa funzionalità, potete leggere l’apposita guida.
MySQL su OS X 10.11 El Capitan
Anche stavolta eseguire l’aggiornamento (da 10.10 a 10.11) non ha avuto impatti su Mysql. Sia il motore che i database che i dati in essi contenuti sono rimasti intatti.
Considerazioni
In linea generale le configurazioni sono terminate e se avete fatto tutto come si deve, dovreste essere in grado di vedere sia la pagina web principale del vostro mac, all’indirizzo http//localhost, sia la pagina web del vostro utente (http://localhost/~MIOUTENTE/). Configurare apache su Mac OS X 10.11 El Capitan come ogni aggiornamento di sistema operativo da parte di Apple ha portato un po di lavoro, ma come sempre siamo riusciti a risolvere. Quello che possiamo consigliarvi, prima di procedere ad ogni aggiornamento, fate sempre un backup dei vostri dati. Se avete dei problemi o delle domande, commentate l’articolo. Faremo del nostro meglio per rispondervi il prima possibile.    

Trackback dal tuo sito.

Fabio

Appassionato di tecnologia, lavoro nel mondo dell'informatica dal 1999. Mi diletto con PHP e MYSQL e ultimamente mi sono appassionato al mondo SEO ...più per sfida che per necessità. In questo blog voglio condividere con gli utenti quello che imparo, sperando che altri possano trarne "profitto" .

Commenti (7)

  • Enio

    |

    Salve!
    Come consigliato ho creato la cartella del mio sito Enio nella cartella Siti createmi dal tecnico.
    Ho configurato il sito in Dreamweaver, configurando sia il server Remoto che il server locale, tutto perfetto: vedevo sia i file in remoto e se visualizzavo i file su Safari mi si apriva appunto il http://localhost/Enio/index.html
    OK sono passato a prendere visione dei programmi e del computer, tutto OK.

    Essendo tutto a posto ho aggiornato il OS come richiesto a El Capitan – tutto OK
    Ho spostato trascinando nella colonna preferiti del Finder la cartella admin.(per vederla meglio)
    Riaprendo ora Dreamweaver mi ha chiesto di aggiornare javaforosx , ho fatto e dreamweaver mi si è aperto regolarmente, ho aperto il mio file precedentemente creato nel mio sito index.html, visualizzandolo in Safari con Dreamweaver non mi trova più il file!:The requested URL /Enio/index.html was not found on this server.
    Ho rifatto la configurazione del server locale in dreamweaver, ma purtroppo non mi trova il file? non so cosa mi sia successo!

    Enio

    Reply

    • Fabio

      |

      Ciao Enio, purtroppo non sono molto esperto di Dreamweaver e non so in che modo questo possa influire sulle configurazioni.
      Puoi provare a spiegarti meglio? Cosa intendi con “visualizzandolo in Safari con Dreamweaver” ?

      Ciao
      Fabio

      Reply

  • Marco

    |

    Ciao, non c’è verso di far funzionare le pagine in php con El capitan, mi fa vedere l’elenco dei file e non si legge la index.php

    Reply

    • Fabio

      |

      Ciao Marco,
      hai controllato che il modulo mod_php si decommentato?

      Se vedi il contenuto del file php anziché la sua elaborazione, questa è sicuramente la soluzione.

      Fammi sapere
      Grazie
      Fabio

      Reply

  • Marco

    |

    Non riuscivo a vedere le pagine php, ho dovuto aggiungere:
    AddType application/x-httpd-php .php
    nel file httpd.conf, l’ho aggiunto dove si trovano le sequenti righe:
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType application/x-httpd-php .php

    Reply

  • alessandro

    |

    Ciao, anche io sono uno di quelli sfortunati ( o disattenti )
    ho provato a rifare tutti i passi della guida utilizzando però texwrangler che trovo più comodo per editare.

    purtroppo non sono ancora riuscito a sistemare le cose il problema si verifica quando DECOMMENTO la riga 493
    non mi cambia il puntamento.

    c’è qualche prova che potrei fare?

    grazie confido in voi
    Alex

    Reply

    • Fabio

      |

      Ciao Alessandro. MNOn ho ben capito il tuo problema. Potresti cortesemente provare a spiegarlo più nel dettaglio?

      Grazie 1000
      Fabio

      Reply

Lascia un commento