Qualche tempo fa scrissi un articolo su come installare i diversi componenti AMP su Windows XP. Dopo l'acquisto del MacBook mi ero ripromesso di fare la stessa cosa non sul nuovo sistema, non appena avessi trovato il tempo di fare l'upgrade a Leopard. Bene, vediamo ora come installare e configurare:

  • Apache.
  • PHP.
  • MySQL.
  • PHPMyAdmin.

Premetto che Leopard è già dotato di Apache 2.2 e del PHP. Ma per esigenze personali ho compilato il PHP dai sorgenti distribuiti da PHP.net. E questo mi ha costretto anche a compilare Apache, in quanto quello compreso in Leopard è a 64bit mentre la libphp5.so compilata dai sorgenti è a 32bit ed impedisce al web server persino di avviarsi.

 

Fasi Preliminari

E' necessario installare i tool di sviluppo che trovate direttamente nel DVD di installazione di Leopard. Inseritelo nel lettore del vostro Mac, aspettate che parta lo splashscreen.

 

Leopard at davidonzo.com

Cliccate su Optional Install per installare i tool XCode mediante il pacchetto XcodeTools.mpkg.

 

xcode at davidonzo.com

In questo modo saremo in grado di compilare tutti i sorgenti necessari senza particolari problemi. Avremo installato, fra l'altro, il compilatore gcc che ci servirà sia per Apache che per PHP.

 

Apache

Niente di più semplice. Leopard è già pronto con Apache 2.2. Dovete solo attivare la condivisione web nelle preferenze di sistema.

 

apache su mac os x at davidonzo.com

 

Fatto questo accedete via browser a http://localhost (o http://127.0.0.1). Vi si aprirà la pagina di conferma di installazione del webserver. Ma a noi non piace la DocumentRoot configurata di default, ed allora come prima cosa la cambieremo :)

Apriamo una finestra del terminale ed accediamo alla directory di Apache:

 

cd /etc/apache2

 

Il file di configurazione del webserver è il solito httpd.conf. Apriamolo con vim ed apportiamo le seguenti modifiche.

 

sudo vim httpd.conf
password:

 

Notato niente di strano? Ebbene si. Anche su Leopard è stato implementato il comando sudo per aprire ed accedere a file di sistema con tutti i privilegi.

 

Cerchiamo la riga:

 

DocumentRoot "/Library/WebServer/Documents"

 

E modifichiamola in:

 

DocumentRoot "/Users/VOSTROUTENTE/Sites"

 

E successivamente cerchiamo la riga:

 

<Directory "/Library/WebServer/Documents">

 

E modifichiamola in:

 

<Directory "/Users/VOSTROUTENTE/Sites">

 

Per VOSTROUTETE si intende il nome della directory che indentifica la root di sistema del vostro account. Nel mio caso è "davide". Ed inserendo la URI in questo modo la webroot sarà fisicamente nella directory "Siti" del vostro account. State attenti che nel finder il nome della directory che vedete è proprio "Siti", ma è solo un alias dovuto alla lingua italiana. Il nome di sistema dela directory è "Sites" e questo va scritto in ogni file di sistema che in qualche modo interessa questa direttiva.

 

Per rendere effettive le modifiche riavviamo il webserver:

 

sudo apachectl graceful

 

Ma abbiamo detto che il server Apache compreso nella distribuzione Apple non è compatibile con il php compilato dai sorgenti. Quindi, a configrazione ultimata e testata, ricompiliamo il web server dai sorgenti scaricati direttamente da Apache.org. Se lo fate oggi scaricherete la versione 2.2.8. Scompattate l'archivio un po' dove vi pare, entrate nella directory e digitate il solito trittico di comandi.


sudo apachectl stop
cd httpd-2.2.8
./configure --enable-layout=Darwin --enable-mods-shared=all
make
sudo make install
sudo apachectl start

 

Fatto questo non ci sarà bisogno di riconfigurare il webserver per modificare la DocumentRoot. Andrà bene e verrà usato il file di configurazione precedentemente editato in /etc/apache2.

 

MySQL Server

Scaricate il pacchetto binario direttamente da MySQL.org. Installate il pacchetto mysql-5.0.51a-osx10.5-x86.pkg. Potete anche evitare di installare MySQLStartupItem, dato che al momento con Leopard non funziona. Ed anche il pannello di controllo aggiuntivo non va. Ma per quest'ultimo è stata rilasciata una versione funzionante, scaricabile qui.

 

mysql control panel at davidonzo.com

 

Purtroppo non c'è ancora modo di avviare automaticamente il server all'avvio del sistema. La preferenza spuntata non funziona. Ma quantomeno risulta agevole avviarlo manualmente.

 

Librerie aggiuntive: libpng e libjpeg (opzionale)

Se abbiamo intenzione di usare le funzionalità date alla libreria GD del php, abbiamo la necessità di installare le librerie libpng e libjpeg. E' possibile farlo direttamente utilizzando un archivio binario scaricabile a questo indirizzo. Per semplicità utilizzate il combo installer che in un sol colpo le installa entrambe.

 

Installazione PHP

Bene, siamo arrivati al clou della nostra avventura. Scaricato il pacchetto con i sorgenti, scompattiamo l'archivio ed accediamo alla directory da terminale.

 

cd php-5.2.5

Importante è la stringa di configurazione. Un ./configure --help può togliervi molti dubbi. In ogni caso la mia stringa è la seguente. Dopo il ./configure, i soliti comandi per compilare ed installare il pacchetto.

 


./configure --prefix=/usr/local/php5 --enable-calendar --with-apxs2=/usr/sbin/apxs --enable-mbstring --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql/ --with-gd --enable-soap --with-zlib --with-jpeg-dir=/usr/local/bin --with-png-dir=/usr/local/bin
make
sudo make install
sudo apachectl graceful

 

Il comando install si occuperà anche di editare il file di configurazione di Apache per permettere il running della libreria libphp5.so. L'ultimo comando serve a far riavviare il webserver in modo da fargli caricare tutte le librerie necessarie.

 

Non ri rimane che testare l'installazione! Accediamo alla DocumentRoot e creiamo uno nuovo file. Chiamiamolo info.php. Con un qualsiasi editor di testo, scriviamo:

 

<?php phpinfo(); ?>

 

Salviamo e chiudiamo il file ed accediamo via browser a http://localhost/info.php. Se vediamo qualcosa del genere, se cose sono andate bene :-)

 

php installed on Leopart at davidonzo.com

 

phpMyAdmin

Anche qui è tutto molto semplice. Basta scaricare l'ultima release del web tool di amministrazione del server MySQL, scompattare l'archivio in /Users/VOSTROUTETE/Sites e magari rinominare la directory in phpmyadmin per maggior comodità.

 

Avendo avuto cura che il server MySQL sia avviato, accedete via browser a http://localhost/phpmyadmin/scripts/setup.php ed utilizzate l'interfaccia web per la configurazione.

 

Per un uso in locale, senza troppo star a pensare alla sicurezza di un pc che non sarà mai utilizzato come web server pubblico, basta selezionare:

  • Server hostname: localhost;
  • PHP extensions to use: mysql (o mysqli se intendete usare la libreria improve);
  • Autentication type: config;
  • User for config auth: root;

phpMyAdmin on Leopard at davidonzo.com

 

Tutto fatto! Anche se secondo me, resta tutto molto più facile su Linux, ma la smetto qui che poi mi dicono che istigo guerre religiose fra sistemi operativi :-)

Hai trovato l'articolo interessante?
Sottoscrivi il Feed RSS per essere informato automaticamente degli ultimi aggiornamenti!
 
.Commenti rss
# 1
Personalmente preferisco MAMP: tutto in una cartella, puoi brasare e azzerare tutto in un attimo, attivi i server in pochi secondi ;-)
Di PseudoTecnico  (Inviato il 11/03/2008 @ 10:33:26)
# 2
E io nemmeno lo conoscevo prima di questo commento :D

In ogni caso dipende sempre dal cosa serve. Se interessano configurazioni particolari, soprattutto di PHP, è sempre meglio compilarselo dai sorgenti avendo a disposizione tutte le opzioni di configurazione.

Per installazioni a cui servono le principali caratteristiche, MAMP per Mac, come EasyPHP per Win sono ottima soluzioni.
Di davidonzo  (Inviato il 11/03/2008 @ 11:37:51)
# 3
Scusa, non riesco a capire cosa vuoi dire quando ti riferisci ai sorgenti scaricati da apache.org. Potresti darmi una delucidazione? E saresti cosi' gentile da elencarmi dettagliatamente le operazioni da fare per l'installazione del pacchetto suddetto? Grazie e scusa per il disturbo.
Di Stefano  (Inviato il 11/03/2008 @ 13:40:29)
# 4
@ Stefano: http://httpd.apache.org/download.cgi
Scarica gli UNIX Sources. E' un archivio tar.gz. Scompattalo sul desktop (o dove preferisci).

Da terminale, entra nella directory che avrai scompattato (si chiamerà httpd-2.2.8) e lancia questi comandi:

./configure --enable-layout=Darwin --enable-mods-shared=all
make
sudo make install

Dopo di che riavvia il webserver. Puoi farlo anche da pannello di controllo, disattivando e riattivando la condivisione web, come mostrato in figura sopra.
Di davidonzo  (Inviato il 11/03/2008 @ 14:12:31)
# 5
perfetto!! ho fatto tutto quanto mi hai suggerito, funziona! Ora però ho un altro problema: l'installazione di mysql non va a buon fine. Mi spiego: ho installato da qualche tempo MAMP, sembra che le due applicazioni vadano in conflitto, non capisco il motivo. Il fatto è che comunque mi viene detto che l'installazione di mysql è stata effettuata. Potresti darmi delle indicazioni? Grazie in ogni caso.
Di Stefano  (Inviato il 11/03/2008 @ 14:32:04)
# 6
Come scritto prima non conosco MAMP, ma sicuramente prima di installare il server MySQL dai binari ufficiali è buona norma stoppare MAMP e magari disinstallarlo cercando di eliminare anche qualsiasi file di configurazione esterno alla directory in application.

Installato anche il pannello di controllo alternativo linkato sopra?
Non ti parte MySQL? Che errore ti da il sistema?
Di davidonzo  (Inviato il 11/03/2008 @ 14:40:02)
# 7
configure: error: mysql configure failed. Questo mi viene in output all'avvio della procedura "./configure --prefix=/usr/local/php5 --with-apxs2=/usr/sbin/apxs --enable-mbstring --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql/ --with-gd --enable-soap --with-zlib --with-jpeg-dir=/usr/local/bin --with-png-dir=/usr/local/bin
" per php 5.2.5. Non so proprio che fare. Anche perchè mi avevano parlato di questo conflitto e nn se ne dice molto bene. Sinceramente sto facendo diversi lavori utilizzando MAMP e non mi va di disinstallarlo completamente. Lo stop dei servizi l'ho eseguito ma penso che non basti per questo tipo di situazioni, occorre qualcos'altro.
Di Stefano  (Inviato il 11/03/2008 @ 15:01:18)
# 8
MAMP installa anche MySQL vero? Dove lo installa? Se non ti serve la mysqli prova questo, modificando però le direttive del --with-mysql

./configure --prefix=/usr/local/php5
--with-apxs2=/usr/sbin/apxs --enable-mbstring
--with-mysql=/questo/lo/sai/tu/
--with-gd
--enable-soap --with-zlib
--with-jpeg-dir=/usr/local/bin
--with-png-dir=/usr/local/bin
Di davidonzo  (Inviato il 11/03/2008 @ 15:10:39)
# 9
Grazie per le info, provo nelle prossime ore. A presto e buon lavoro.
Di Stefano  (Inviato il 11/03/2008 @ 15:18:42)
# 10
Ma se usaste ZendCore? E' FREE :)
http://www.zend.com/it/products/core/downloads
Di Anonimo  (Inviato il 26/03/2008 @ 08:07:03)
# 11
ho installato mysql...non funzona, come lo tolgo? non riesco a trovare l'uninstall...
Di lu  (Inviato il 09/04/2008 @ 17:20:47)
# 12
Ho creato un piccolo tool per avviare mysql su leopard. E' un binario, ma fornisco anche il sorgente.
Se non dovesse funzionare basta metterci mano, non è complicato.
Qui il link (per chi fosse interessato):
http://preiser.altervista.org/index.php?page=mac&crono=mac
Di preiser  (Inviato il 11/05/2008 @ 11:07:42)
# 13
PREMESSA è da poco e con tanto sacrificio che cerco di mettere mano al "php" per fare prove in locale del mio sito, tu sei stato molto esaustivo, e tutto funzionava bene. Poi in phpmyadmin involontariamente ho cancellato tutti gli accessi compresi i root e da quel momento mi da "errore 1045" e non riesco da terminale ad accedere alla mia password. Scusami... come posso disinstallare sto "mysqul di MERDA" dal mio Leopard...
Credimi sto impazzendo... grazie e per favore dammi una mano
Di Sasha  (Inviato il 14/05/2008 @ 13:52:02)
# 14
Ciao,
stavo provando a cambiare il file httpd.conf ma non riesco a salvarlo, ho provato anche a cambiare i permessi con chmod ma non ci riesco, ...come fare ?
Fabio
Di Anonimo  (Inviato il 16/05/2008 @ 11:41:05)
# 15
@ Sasha: reinstallato come se facessi un upgrade. Nel file readme contenuto nel binario, trovi le indicazioni delle location.

@ Fabio: devi essere il super utente per modificare quel file

cd /etc/apache2
sudo vim httpd.conf
Di davidonzo  (Inviato il 16/05/2008 @ 17:47:37)
# 16
Complimenti per il tutorial. Mi è servito per compilare php col supporto per gd2.
Sono venuto incontro al problema del pannello preferenze ufficiale di MySQL realizzando un'applicazione con interfaccia che dovrebbe risolvere i problemi di avvio noti.
E' completamente gratuita.
Per chi fosse interessato:
http://preiser.altervista.org/index.php?page=mac&crono=mac

Di preiser  (Inviato il 21/05/2008 @ 20:16:41)
# 17
io nel mio disco originale di xLeopard 10.5.2 non ho le Xcode tools ..come è possibile? ..dove recuperare questa cartella?
azz..ma io sono proprio sfigato!
Di Popper6  (Inviato il 16/06/2008 @ 13:56:09)
# 18
aggiungerei per quelli come me che iniziano:
nel terminale: a per entrare in modalità insert
ESC per uscire della modalità insert
shift + 2 volte Z per salvare.
Di xpmatrix  (Inviato il 09/07/2008 @ 23:51:35)
# 19
Ottima guida ;)
Di miky4e  (Inviato il 17/10/2008 @ 11:54:28)
# 20
Ciao a tutti,
Il mio problema è con phpmyadmin, mi da questo errore:

Messaggio di MySQL: Documentazione
#2002 - Il server non risponde (o il socket del server locale MySQL non è correttamente configurato)

ovviamente mysql è attivo da preferenze di sistema

Qualche suggerimento?
Grazie in anticipo
Davide
Di Anonimo  (Inviato il 29/10/2008 @ 23:47:29)
# 21
Scusa l'ignoranza io ho mac os x 10.5.5. Apache è sicuramente installato in quanto se digito http://127.0.0.1 vedo la pagina iniziale ma non riesco a trovare il file httpd.conf per editarlo, cercandolo con il finder non lo ntrova in nessuna cartella. Non esiste nemmeno una cartella etc da nessuna parte, chiedo venia ma sono nuovo di Mac. Spero tu mi possa dare un aiuto. Grazie.
Di Giginiello  (Inviato il 14/11/2008 @ 13:26:44)
# 22
Ciao Giginiello,

Per trovare quei file devi andarci da terminale. Pechè finder fa navigare solo le directory del tuo utente, ma non ti da accesso al sistema.
Di davidonzo  (Inviato il 15/11/2008 @ 13:11:10)


I commenti possono essere moderati.
Se non lo vedi comparire subito non reinserirlo più volte.
Grazie per la gentile collaborazione.