OS X 10-10 Yosemite istallare Apache php mysql
In questo articolo vi spiegheremo come procedere su OS X 10-10 Yosemite per istallare Apache php mysql .
Nel precedente articolo vi abbiamo parlato di come istallare apache php e mysql su OS X Mountain Lion.
In realtà, dopo Mountain Lion è stata la volta di OS X 10.9 Mavericks, ma l’articolo non è cambiato, in quanto la guida scritta precedentemente per OS X 10.8, restava valida anche per Mavericks.
Nella giornata del debutto si Yosemite, ho subito provveduto ad eseguire l’aggiornamento (per chi volesse farlo consiglio di leggere la guida su come eseguire l’aggiornamento a OS X Yosemite), preso dalle tante novità su “continuity” e tutto il resto che probabilmente già conoscete. Novità su cui mi sono concentrato fino ad oggi che ho deciso che era il momento di smanettare con Apache & Co.
Come mio solito clicco sulla mia homepage http://localhost/~mioutente/ e indovinate un po? Un bel 404:
Arrivano gli errori su Apache
Sinceramente non me lo aspettavo assolutamente. Non era mai capitato con gli upgrade precedenti. Nè da Lion a Mountain Lion, ne da Mountain Lion a Mavericks. La prima cosa che ho pensato è stata: “Vedrai che hanno tappato l’aggiornamento e hanno cancellato la cartella dell’utente.“. Per prima cosa quindi sono andato a verificare che la cartella Sites nella home directory del mio utente fosse ancora li, con tutti i files presenti fino a prima dell’aggiornamento. Ovviamente avevo provveduto ad eseguire il backup dei dati prima di lanciare il setup, per ero tranquillo. Ebbene, la cartella c’era, proprio come prima.
Sono così andato nella cartella /var/log/apache2/ , che ospita i logs, a leggere cosa riportassero. Negli error_log un bel nulla, negli access_log un bel 404 … eppure la cartella Sites era proprio li, dove “avrebbe dovuto essere”. Decido così di investigare più approfonditamente.
Analisi delle problematiche
Il prossimo passo sarebbe stato ispezionare la cartella dei files di configurazione: /etc/apache2/ . Dopo un “ls” ho iniziato a capire qualcosa. Tanto per iniziare, sono stato tanto stupido da pensare a un errore così grossolano da parte di Apple. Sicché un riparatore “Mi sembrava strano!” mi p saltato in testa. A cosa mi sto riferendo? Vediamo chi di voi indovina!??!!? Nella cartella /etc/apache2/ che ospita i
files di configurazione di apache ho trovato un file chiamato httpd.conf~previous che, come da nome, mi ha fatto chiaramente pensare a una copia di backup.
E infatti così è. Il file di configurazione httpd.conf di Yosemite differisce sensibilmente da quello di Mavericks, ma quel poco basta a far si che non funzioni più nulla ( o quasi ). Perché “O QUASI”? Perché La homepage di apache, ovvero http://localhost continuava a mostrare il famoso :
It works!
Quello che non funzionava era la mia homepage e quella di tutti gli utenti configurati sul Mac.
Soluzione vediamo come istallare Apache php mysql su OS X 10-10 Yosemite
Per gli informati del settore è noto che c’è una funzionalità, ovvero un modulo apache, che permette la configurazione delle home-direcotory degli utenti. Il modulo in questione si chiama: userdir_module . Ebbene nel nuovo file httpd.conf questo modulo è commentato, ovvero appare in questo modo:
#LoadModule userdir_module libexec/apache2/mod_userdir.so
Vediamo come risolvere questi problemi. Apriamo il file di configurazione tramite il comando (vi verrà chiesta la password di root):
sudo vi /etc/apache2/httpd.conf
Andiamo alla riga 166 e decommentiamo (togliere il commento, ovvero il cancelletto #) la riga in questione facendola diventare:
LoadModule userdir_module libexec/apache2/mod_userdir.so
Non finisce qui. C’è un’altra riga nell’httpd.conf che ci interessa. E’ la riga che ci dice come far funziona il modulo userdir, ovvero la riga di configurazione. Questa è la riga 493 dello stesso file ed è così riportata:
#Include /private/etc/apache2/extra/httpd-userdir.conf
Anche qui provvediamo a decommentarla, facendola diventare:
Include /private/etc/apache2/extra/httpd-userdir.conf
Siamo finalmente all’ultima modifica. Con l’aggiornamento è stato anche disabilitato il modulo php. Andiamo alla riga 169:
#LoadModule php5_module libexec/apache2/libphp5.so
togliamo il cancelletto e facciamola diventare:
LoadModule php5_module libexec/apache2/libphp5.so
Ora possiamo salvare il file di configurazione.
Se avete leggo la guida su apache su os x (valida fino a 10.9) ricorderete che bisognava indicare al sistema quale fosse la cartella in cui avrei risposto i miei files e che sarebbe diventata la mia Document Root. Nel caso precedente il file da modificare era:
/etc/apache2/users
Beh, non ci crederete (ovviamente è una battuta 😉 ) ma è cambiata anche questa. E provate a indovinare quale il nuovo file da configurare per far sapere al sistema qual’è la mia Document Root? Esattamente il file di configurazione riportato alla riga 493 del di cui abbiamo parlato poco fa.
Andiamolo a modificare (anche qui verrà richiesta la password di root):
sudo vi /private/etc/apache2/extra/httpd-userdir.conf
Subito sotto
UserDir Sites
aggiungiamo le righe:
<Directory “/Users/mioutente/Sites/”>
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Ricordatevi di modificare mioutente con il nome dell’utente che state utilizzando
Salviamo il file ed il lavoro è completato. Non ci resta che riavviare il nostro apache con il comando:
sudo apachectl restart
Il problema su OS X 10-10 Yosemite di Apache è stato risolto. Ora potete continuare con php e mysql seguendo la guida precedente saltando ovviamente la parte relativa ad apache che abbiamo esplicato qui.
Buon lavoro e come al solito …. se avete dei dubbi, commentate!
Info sull'autore