MySQL e PHP: sviluppo web dinamico
sul vostro desktop con Mac OS X

di Marco Centofanti
18-11-2002

Le fondamenta Unix di MacOS X hanno permesso agli sviluppatori Web di poter finalmente effettuare tutta la fase di sviluppo di un sito utilizzando solo un computer Apple, evitando di dover elaborare le immagini con Photoshop, creare le pagine con Golive, Dreamweaver o BBEdit sul Mac e poi dover passare il tutto su una macchina Linux o Windows, con installati un web server, un linguaggio come PHP e un database come MySQL.

Occorre aggiungere che, a nostro parere, Apple commette un grosso errore non dotando il suo sistema operativo, perlomeno nella versione client, di tutti gli strumenti necessari a questa attività, infatti il solo web server Apache è fornito preinstallato e dotato di un comodo pulsante di attivazione nelle preferenze di sistema, mentre PHP e MySQL richiedono qualche smanettamento in più per poter essere utilizzati.
Visto che l'argomento suscita spesso domande, anche nel nostro forum, vediamo di fare chiarezza e di indicare magari qualche strumento che aiuti lo sviluppatore alle prime armi.
La stessa Apple ha messo in linea una pagina in cui vengono spiegati i vantaggi di MySQL e le procedure di installazione di questo database sulla versione client di MacOS X.
La lettura di questo tutorial, che illustra come preparare il sistema, creando un nuovo gruppo e un nuovo utente, come compilare il sorgente di MySQL e come fare ad attivarlo, è assolutamente consigliata, in quanto contiene informazioni utili in generale, dall'uso di Netinfo Manager e niutil, ad avvertimenti sulla sicurezza.


In ogni caso, se vogliamo la vita più facile, il sito di riferimento è il sito www.entropy.ch, qui sono contenute le istruzioni semplici e dettagliate per attivare sia PHP che MySQL su MacOS X 10.1 e Jaguar.
Le istruzioni vanno seguite passo passo e la procedura deve essere effettuata su una macchina "pulita", ad esempio, Apache deve essere quello fornito da Apple, eventuali precedenti installazioni di MySQL devono essere eliminate...

Naturalmente occorrono i privilegi di amministratore e sarebbe bene avere qualche minimo rudimento di Unix prima di cimentarsi nella operazione, visto che viene coinvolto l'uso del terminale.
In ogni casi, lo ripetiamo, la procedura è semplice e ben descritta, senza errorie
si porta a compimento in pochi istanti.

Ricordiamo che il fatto che qualcuno, in questo caso il benemerito signor Marc Liyanage, ci abbia fornito i binari di MySQL, evitandoci le rogne della compilazione, e ci regali un comodo modulo PHP per Apache, non ci esime dai problemi di sicurezza che possono sorgere attivando un server web con supporto per pagine dinamiche e un server di database sulla propria macchina.

Quindi, una volta installato il tutto, se il vostro computer viene esposto su internet anche saltuariamente, mantenete costantemente aggiornato l'OS con le patch fornite da Apple, leggete qualche bollettino di sicurezza per sapere le eventuali nuove vulnerabilità dei vostri server, e, soprattutto, date delle password e dei privilegi a MySQL.

Messo a posto l'ambiente di sviluppo, occorre iniziare a lavorare, ma ci si rende conto velocemente che la creazione di siti dinamici, per chi ha poca esperienza di programmazione e creazione e amministrazione di basi dati, non è una passeggiata.
Per questo, premesso che occorrerà comunque parecchio tempo dedicato allo studio di qualche buon manuale e molte prove, vogliamo segnalare un paio di strumenti che possono sicuramente aiutare: Phpmyadmin e MacSQL.

Phpmyadmin
E' una riuscitissima utility Open Source, basata proprio su PHP, che permette di amministrare MySQL via web, quindi di creare e cancellare basi di dati e le relative tabelle, eseguire query SQL (anche batch), caricare dati via files di testo e molto altro.
Il download può essere effettuato a partire da questa pagina e l'installazione è banalissima: occorre semplicemente decomprimere quanto scaricato e verrà creata una cartella chiamata phpmyadmin-x (dove x è il numero di versione).
A questo punto basta inserire questa cartella in Sites, presente nella vostra Home, modificare opportunamente il file config.inc.php3 con i corretti valori per host, user, password e tipo di autenticazione (in ogni caso leggete attentamente il file Documentation.txt), proteggere la directory di installazione magari con un appropriato file .htaccess e siamo pronti.


Lanciamo il nostro browser e ci colleghiamo ad http://localhost/~vostronomeutente/phpmyadmin-x/index.php (ricordate che x deve essere sostituito dal numero di versione di phpmyadmin.
Naturalmente siete liberi di modificare il nome della directory in uno più umano, come per esempio "admin")
E' fatta: avete a disposizione un ambiente decisamente amichevole e funzionale per amministrare le vostre basi di dati e il vostro server MySQL.

MacSQL
MacSQL è uno shareware abbastanza costoso (esiste in due versioni, una normale e una Lite, vendute rispettivamente a 249 e 99 dollari) , ma per certi versi unico: permette infatti di generare delle query, di creare nuove tabelle, di osservare la struttura del database, di importare dati da files di testo, di esportare verso files di testo o Excel, di sincronizzare una tabella SQL con un database di FileMaker Pro e addirittura di generare una pagina in PHP capace di interagire con il nostro database.

Forse questa ultima è la funzione più interessante: a partire da una pagina web da noi creata e contenente un form, MacSQL è capace di creare gli script per la connessione al database, in modo da poter aggiornare i dati o effettuare delle ricerche.

Ovviamente un tool simile, per quanto ben riuscito, non è in grado di risolvere tutte le casistiche di interazione possibili con un database, ma per progetti semplici si rivela molto rapido e funzionale, e in ogni caso può essere interessante anche come strumento didattico: il codice generato può eventualmente essere studiato e modificato in seguito.
Certo, il prezzo della versione completa non è da poco, ma si può sempre ripiegare sulla Lite, che si connette solo a MySQL, SQL Server, e PostgreSQL, tralasciando FrontBase e Oracle, non ha la capacità di esportare in Excel, ha un limite nella sincronizzazione con FileMaker ed ha un supporto di soli 60 giorni via e-mail.


In definitiva, ci sentiamo di segnalare senza alcuna riserva phpmyadmin, che, oltre ad essere uno strumento utilissimo e ormai collaudato, ha il vantaggio di essere totalmente gratuito, ma consigliamo anche di scaricare MacSQL per qualche giorno di prova, in modo da poterlo valutare di persona.