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.

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

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.
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.

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 :-)
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;
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 :-)










