in blog

AMP stack su Mac – OSX 10.7.x Lion

In questo articolo ci occuperemo di configurare la nostra macchina mac-osx con sistema operativo Lion per lavorare con apache,php e mysql.

I passi che seguiremo saranno i seguenti:

  1. Configurazione di Apache e Php
  2. configurazione di xdebug
  3. Configurazione di Mysql

Apache e PHP sono già presenti in OS X 10.7 Lion e in 10.6 Snow Leopard, le versioni presenti su 10.7 Lion sono PHP 5.3.6 and Apache 2.2.20, questi due prodotti Open Source fanno parte dello stack “AMP” insieme a MySQL che non è già presente nel nostro sistema operativo.

A – Apache      M – MySQL      P  – PHP


Esistono alcuni pacchetti di terze parti che forniscono una piattaforma già pronta per l’uso come MAMPDAMPXAMPP e BitNami, ma noi ne faremo a meno e partiremo da quello che già ci offre la nostra piattaforma.

1 – Apache e PHP

Come abbiamo già detto apache è già installato su Mac Osx 10.7.0 Lion per verificarlo aprire il terminale e scrivere :

utente@[~]: httpd -v
Server version: Apache/2.2.21 (Unix)
Server built:   Nov 15 2011 15:12:57

Per verificare la corretta presenza di PHP sempre nel terminale verificare la versione

utente@[~]: php -v
PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15)
Copyright (c) 1997-2011 The PHP Group

Sebbene siano presenti entrambi i software, PHP non è abilitato di default.Per renderlo attivo bisogna modificare il file di configurazione di apache “httpd.conf”. Per prima cosa ci portiamo nella cartella di configurazione di apache:

utente@[~] cd /etc/apache2/

Con il nostro editor di testo preferito modifichiamo il file “httpd.conf” ad esempio usiamo “nano”.

E’ importante eseguire l’editor di testo come super utente attraverso l’impiego del comando sudo.

utente@[/etc/apache2]: sudo nano httpd.conf

Dopo aver inserito la password ed entriamo in nano facciamo click su “control+w” e cerchiamo la stringa “php5” fino a trovare la seguente linea:

#LoadModule php5_module libexec/apache2/libphp5.so

Decommentiamo la linea cancellando il carattere # :

LoadModule php5_module libexec/apache2/libphp5.so

a questo punto digitiamo “control + x” per uscire da nano e salviamo digitando “y” quando ci viene chiesto.

2 – XDebug

A questo punto siamo pronti per installare xdebug per effettuare il debugging.
Per prima cosa dobbiamo installare pear/pecl, mancanti su lion.
Verifichiamo che xcode sia installato digitando :

utente@[~] gcc -v

In caso di errore installare xcode dal Mac Store.
Se è tutto ok procediamo con l’installazione di pear/pecl
Il primo passo è scaricare l’installer

curl http://pear.php.net/go-pear.phar > go-pear.php

poi procediamo con l’installazione

sudo php -q go-pear.php

Quando chiesto cambiamo la cartella di installazione ($prefix) ad esempio /usr/local, e continuare con l’installazione premendo return.
Pear/Pecl a questo punto è pronto, quindi installiamo xdebug:

sudo pecl install xdebug

Configuriamo ora php per usare xdebug, apriamo il file di configurazione di php

utente@[~]nano /private/etc/php.ini

Cerchiamo la riga che comincia con [xdebug] e inseriamo le seguenti linee:

[xdebug]
xdebug.idekey="macgdbp"
xdebug.file_link_format="txmt://open?url=file://%f&line=%1"
xdebug.remote_enable = On
xdebug.remote_autostart = 1

ora abbiamo tutto pronto.

3 – Mysql

Installare Mysql sotto mac è un operazione molto semplice. Cominciamo con lo scaricare il pacchetto di installazione dal sito di mysql all’indirizzo http://dev.mysql.com/downloads/mysql/
scarichiamo il pacchetto “Mac OS X ver. 10.6 (x86, 32-bit), DMG Archive” (al momento il più aggiornato) e installiamolo.

Dopo il download apriamo il file .dmg and installiamo prima il file mysql5.5.xxx.pkg poi il file MySQLstartupitem.pkg e infine il file MySQLPrefPane. Il primo è il server MySQL, il secondo permette a MySQL di avviarsi al boot del Mac e il terzo è un pannello per le preferenze di sistema che permette di avviare/interrompere il servizio manualmente oppure predisporre l’avvio automatico.

Completato il processo mysql si troverà nel percorso /usr/local/mysql/bin/mysql per verificare che tutto sia stato installato correttamente digitiamo sul terminale:

/usr/local/mysql/bin/mysql -v

In caso di errore bisogna avviare mysql dal pannello di controllo nelle preferenze di sistema come in figura:

Altrimenti digitare “quit” e premere invio per tornare al terminale.
Se volessimo inserire nel path l’accesso agli strumenti di mysql ci poniamo, dapprima nella nostra home:

 utente@[~]:cd ~
 utente@[~]:nano .bash_profile

e aggiungiamo la cartella bin di mysql al nostro path:

 export PATH="/usr/local/mysql/bin:$PATH"

chiudiamo nano, salviamo le impostazioni e torniamo al terminale.
Proviamo le impostazione digitando ancora

mysql -v

Se non abbiamo errori possiamo configurare l’utente root di mysql:

sudo mysql_secure_installation

ottenendo l’accesso alla configurazione di mysql:

 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MySQL to secure it, we'll need the current
password for the root user.  If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):

Inseriamo i dati richiesti e rispondiamo alle domande che ci vengono poste.
Le domande che ci vengono fatte sono le seguenti

  1. Removing anonymous users?
  2. Disallow root login remotely?
  3. Remove test database and access to it?
  4. Reload privilege tables now?

Se è la prima installazione possiamo rispondere si (yes) a tutte le domande.

Ora riavviamo apache:

sudo apachectl start
sudo apachectl stop

Oppure riavviamo il server in un modo alternativo:

sudo apachectl graceful

Di default sul mac vengono servite da apache le directory presenti nel percorso

~/Sites

aggiungiamo un nuovo file con estensione .php ad esempio “info.php” e inseriamo il seguente testo:


digitiamo sul browser il percorso :

http://localhost/~utente/info.php

dove “utente” è il nostro nome utente con il quale si effettua il login.

A questo punto siamo pronti per usare il nostro stack AMP su mac.
Nella prossima puntata vedremo come installare phpmyadmin, e come impiegare Titanium studio per lo sviluppo php con tanto di debug.