WAMP: Apache, MySql, PHP per ambienti Windows A cura di Silvio Bonechi per http://www.pctrio.com Ver. 1.0 del 03.03.06 Indice 1 WAMP un paradigma per l ambiente Windows: i programmi 2 EasyPHP, il nostro WAMP 3 Installazione di EasyPHP 4 Vediamo se tutto funziona correttamente 5 Controlliamo EasyPHP ed amministriamo MySQL con phpmyadmin 6 Personalizziamo Apache 1 WAMP un paradigma per l ambiente Windows: i programmi WAMP è un acronimo, una semplice sigla che sintetizza con le iniziali di Apache, MySQL e PHP un paradigma di programmazione molto diffuso, ovverosia la pacchettizzazione in un unico tool di installazione dei tre software prima menzionati per l ambiente Windows, e che brevemente andiamo a descrivere. Apache è un Web Server che gode di una amplissima diffusione presso gli ISP di tutto il mondo, specie in ambiente Linux. Può essere scaricato dal sito www.apache.org. PHP è un linguaggio di scripting per il web, che gode di ampia notorietà date le proprie doti di flessibilità e versatilità nello sviluppo di applicazioni per gli ambienti di rete. Può essere scaricato dal sito www.php.net. MySQL è un motore di data base, in gergo RDBMS, che piano piano viene acquisendo tutte le caratteristiche che sono proprie di dati di base blasonate. E utilizzato negli ambienti più eterogenei, e può essere liberamente utilizzato per applicazioni non commerciali. Può essere scaricato dal sito www.mysql.com. Se andiamo su Google e facciamo cercare la parola WAMP otterremo numerosi risulati; tra tutti questi io utilizzo da diversi anni, e invito anche Voi a provarlo, un software che si chiama EasyPHP. 2 EasyPHP, il nostro WAMP EasyPHP può essere scaricato da www.easyphp.org. In questa breve guida alla installazione e configurazione faremo riferimento alla versione 1.7 in quanto utilizzata non solo per effettuare i test, ma come ambiente di produzione e lavoro. Le versioni installate dei programmi sono: Apache 1.3.27; PHP 4.3.3, MySQL 4.0.15. C è poi PHPmyAdmin 2.5.3che consente di lavorare agevolmente e di gestire MySQL mediante una interfaccia Web. Ci sono dei rilasci più recenti e maggiormenti aggiornati anche per le quali vale quanto andremo a descrivere. 3 Installazione di EasyPHP
Dopo avere scaricato il software si può procede con l installazione, e verremo accolti da una pagina introduttiva. Una caratteristica dell intera fase è che tutte le videate saranno in francese, lingua madre degli autori del progetto. Si passa poi alla fase di accettazione delle licenze che regolano le modalità di utilizzo dei softwares che compongono la pacchettizzazione. Ovviamente è necessario accettarle per poter andare avanti e procedere con la installazione. La scelta della directory all interno della quale installare EasyPHP è molto importante, in quanto condizionerà tutto il nostro lavoro. Io utilizzo un percorso del tipo c:\www\app, che invito anche voi ad utilizzare, perché: tutti i programmi verranno installati dentro a questo path, per cui il pathname per arrivare alla radice del web server dove ci metteremo tutti i files visibili dall esterno sarà c:\www\app\www, e per i singoli programmi avremo dei path name del tipo: per MySQL c:\www\app\mysql; per PHP avremo c:\www\app\php; e così via per tutti gli altri e per le directory virtuali. dopo avere sviluppato anche un intero sito, oppure una porzione, fate voi, sarà possibile copiare il nostro lavoro contenuto in c:\www\app\www dalla macchina di test su una penna usb ed incollarlo sulla macchina di produzione sulla quale avremo avuto l accortezza di installare il software con la medesima struttura di directory. Si crea così una sorta dei jail, di gabbia dentro alla quale girerà il nostro web server. Questo concetto non ha proprio il medesimo significato che ha nell ambiente Linux, ma gli si avvicina abbastanza. Infatti l esecuzione degli scrip potrà essere limitata ai soli script presenti sotto la radice del web server e non dove ci pare in maniera arbitaria.
4 Vediamo se tutto funziona correttamente OK. Abbiamo installato il software, la procedura è terminata, non sono stati segnalati errori, dunque vediamo se tutto funziona correttamente. Il programma può essere lanciato automaticamente come servizio, ma anche invocandone l esecuzione utilizzando il solito Start, Programmi, EasyPHP 1.7, EasyPHP e nell angolo destro in basso comparirà la lettera e con un quadrato rosso. Se lampaggia tutto funziona correttamente e potrò utilizzarlo. Se invece è fisso il programma è in esecuzione ma il web server non è partito e le richieste http rimarranno inevase, disattese. Potremo fare partire il server cliccando sopra con il pulsante destro e scegliere l opzione Avvia. Il server può essere anche fermato, oppure riavviato, così come essere chiuso utilizzando sempre lo stesso meccanismo e scegliente la relativa opzione. Se invece clicchiamo due volte sulla lettera e comparirà il pannello di controllo sottostante. Dq qui potremo scegliere tra diverse opzioni. Partenza automatica dei servers all avvio dell applicazione, ovverosia quando si lanci il programma. Controllare automaticamente se c è stato il rilascio di nuove versioni del programma. Controllo automatico delle modifiche alla configurazione dei servers; questa può essere comoda in quanto dopo avere apportato una qualunque variazione alla configurazione dei servers è necessario riavviarne l esecuzione per fare si che tutte le modifiche apportate abbiano effetto. E possibile fare partire automaticamente EasyPHP all avvio di Windows (dove attivabile). E possibile fare partire i servers Apache e PHP come servizi (provato su Windows NT e Windows XP Pro).
Sempre da questo console possiamo verificare il funzionamento dei due server controllando, se sono stati o meno avviati, dal colore del semaforo: verde, funziona tutto regolarmente, arancione, server in corso di avvio, rosso, server non avviato. Se i seamfori sono entrambi verdi, ed il quadratino rosso sulla lettera e lampeggia, i servers sono correttamente avviati e possiamo provare il web server. Apriamo il nostro browser preferito, Firefox non c è dubbio, scriviamo l indirizzo di loop back http://localhost, et voilà, se tutto è ok ci troveremo di fronte alla seguente videata: dove ciascuna cartelline gialla india una directory contenuta sotto la radice del web server ovvero nell albero delle directories poste sotto c:\www\app\www, ciascuna delle quali potrà contenere delle pagine html, degli scrip php e python, delle immagini, file audio-video e così via di seguito. Bene. Tutto è a posto. Possiamo lavorare. Ma questa è un altra storia. 5 Controlliamo EasyPHP ed amministriamo MySQL con phpmyadmin Una volta verificato che il sever è stato correttamente avviato, possiamo provare ad amministrarlo. Per prima cosa scriviamo sul broser l indirizzo http://localhost/home/ e ci troveremo davanti alla pagina di introduzione di EasyPHP.
Da qui potremo andare a leggere le licenze di tutti i programmi che compongono il paradigma, Apache PHP PhpMyAdmin MySQL, nonché definire degli alias per Apache; controllare quali sono le estenzsoni di PHP installate; andare ad amministrare MySQL. Questo ultimo è raggiungibile anche all indirizzo http://localhost/mysql/. phpmyadmin è un utile strumento che ci consente di fare tutte le operazioni di gestione (creazione, modifica, cancellazione) di una base di dati. Una volta connessi è possibile selezionare una tabella tra quelle esistente e ne è possibile manipolarne tanto la struttura quanto modificdare i dati contenutevi, aggiungendo cancellando o modificando il contenuto dei records.
Ciò può essere facilemente realizzato sia utilizzando la facile ed intuitiva interfaccia web che scrivendo delle istruzioni sql. Codice che, comunque, viene proposto al termine di una qualunque operazione richiesta tramite l interfaccia. 6 Personalizziamo Apache 6.1 Parametri fondamentali La configurazione di Apache avviene, alemeno per la serie 1.x, modificando a mano i valori contenuti nel file httpd.conf contenuto nella directory \apache\conf, ed il cui percorso completo è c:\www\app\apache\conf.
I parametri fondamenti di questo file, che è diviso in sezioni, sono: ServerRoot "c:/www/app/apache": è il punto più alto dell albero della directory sotto al quale sono memorizzati i files di configurazione, di errore e di log; Listen 12.34.56.78:80 : specifda l indirizzo IP e/o la porta aggiuntiva oltre a quella di default sulla quale il server resta in ascolto di eventuali richieste da servire; Port 80: la porta sulla quale il server resta in ascolto; ServerAdmin iosonoqui@mioweb.it: l indirizzo al quale inviare le e-mail; questo indirizzo comparirà in molte pagine generate dal server, ad esempio nelle pagine relative alla richiesta di pagine non esistenti; ServerName localhost: che indica il nome con il quale sarà possibile referenziare l host nella rete; di default viene indicato locahost; DocumentRoot c:/www/app/www: indica la path da seguire per arrivare alla radice del web server; è il percorso fisico che corrisponde all indirizzo URL http://localhost/; sotto a questa directory vengono memorizzate le pagine html e tutti gli altri files pubblici; 6.2 La DocumentRoot Il web server dovrà essere istruito circa il comportamento da tenere quando dovrà soddisfare una richiesta di lettura di una data pagina dalla document root. A questo scopo possono essere indicati opportuni parametri che determineranno un comportamento più o meno restrittivo da parte del server nel soddisfare le richieste pervenutegli da parte degli utenti. Si osservi la clausola ExecCGI che consente la esecuzione di script memorizzati all interno della Document Root anziché all interno della directory CGI.
6.3 Alias E possibile indicare con un alia, un soprannome se vogliamo, delle directory che non siano poste esattamente nell albero del web server oppure vi siano memorizzate con nomi strani oppure troppo lunghi. In tal caso l utilizzo dell alias consente di referenziare detta directory come se fosse posta direttamente sotto alla document root. Nell esempio proposto è possibile accedere a /bandini/ mediante l indirizzo http://localhost/bandini/. 6.3 Eseguire script python (cenni) A me piace molto Python. Per ora però mi limiterò a dire che per poter eserguire script Python con Apache è prima di tutto necessario scaricare Python da http://www.python.org ed installarlo in c:\www\app\python, se già non fosse stato già presente. Poi si deve istruire Apache per poter riconoscere come cgi-script i programmi python che hanno come estenzione.py. Ciò è ottenibile aggiungendo alla riga Addhandler l esetesione.py nel modo seguente: Addhandler cgi-script.cgi.php.rb.py Inoltre tutti gli script python che scriveremo e vorremmo eseguire con Apache via web dovranno riportare nella prima riga la seguente istruzione: #!c:/www/app/python/python.exe per richiamare l interprete. Ma questa è una storia che raccoteremo un altra volta. Tutti i marchi sono di proprietà dei legittimi proprietari. Questo materiale è prodotto per esclusivo impiego divulgativo e didattico, senza alcun fine di lucro.