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.
Info sull'autore