SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di...

17
SOFTWARE SITI DINAMICI PC Professionale - febbraio 2006 224 grafica e modi operativi differen- ti. Tutte le applicazioni fanno uso di un linguaggio chiamato Php (un acronimo ricorsivo: Php Hy- pertext Processor) e usano come database MySQL. Queste tecno- logie sono particolarmente inte- ressanti per due motivi: innanzi tutto sono gratuite e open source, poi sono supportate da un’ampia comunità di sviluppatori. Ne ab- biamo analizzato le principali ca- ratteristiche in un riquadro in cui troverete anche qualche consi- glio sulla scelta delle versioni da adottare, tra le numerose dispo- nibili on-line. Fortunatamente esistono moltis- sime applicazioni Web gratuite e open source che possono essere usate per allestire un sito funzio- nale e sofisticato con pochi clic del mouse e senza dover pro- grammare. Non è neppure neces- sario conoscerne nel dettaglio il funzionamento e l’architettura. In questo articolo vi presentiamo alcuni pacchetti pensati per la creazione non solo di siti generi- ci, ma anche di siti che imple- mentano funzioni più specifiche come blog, forum, gallerie di im- magini e così via. Potrete sceglie- re tra soluzioni con funzionalità, D agli inizi degli anni Novan- ta a oggi il Web e il modo di presentare contenuti su Internet sono cambiati moltissimo. Solo alcuni anni fa un editor di te- sto e una buona conoscenza del- l’Html potevano bastare per crea- re un sito Web ricco e completo. Oggi invece sono moltissime le tecnologie e i linguaggi che ven- gono utilizzati per il Web design. La creazione a partire da zero di un sito Web moderno richiede molte competenze in ambiti diver- si che spaziano dalla progettazio- ne grafica alla programmazione, alla grafica vettoriale. Di Francesco Caccavella e Filippo Moriggia Abbiamo provato per voi 11 applicazioni che per- mettono di allestire in un batter d’occhio siti Web sofisticati e professionali senza scrivere neppure una riga di codice. Un sito Web dinamico con Php e MySQL

Transcript of SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di...

Page 1: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006224

grafica e modi operativi differen-ti. Tutte le applicazioni fanno usodi un linguaggio chiamato Php(un acronimo ricorsivo: Php Hy-pertext Processor) e usano comedatabase MySQL. Queste tecno-logie sono particolarmente inte-ressanti per due motivi: innanzitutto sono gratuite e open source,poi sono supportate da un’ampiacomunità di sviluppatori. Ne ab-biamo analizzato le principali ca-ratteristiche in un riquadro in cuitroverete anche qualche consi-glio sulla scelta delle versioni daadottare, tra le numerose dispo-nibili on-line.

Fortunatamente esistono moltis-sime applicazioni Web gratuite eopen source che possono essereusate per allestire un sito funzio-nale e sofisticato con pochi clicdel mouse e senza dover pro-grammare. Non è neppure neces-sario conoscerne nel dettaglio ilfunzionamento e l’architettura.In questo articolo vi presentiamoalcuni pacchetti pensati per lacreazione non solo di siti generi-ci, ma anche di siti che imple-mentano funzioni più specifichecome blog, forum, gallerie di im-magini e così via. Potrete sceglie-re tra soluzioni con funzionalità,

D agli inizi degli anni Novan-ta a oggi il Web e il mododi presentare contenuti su

Internet sono cambiati moltissimo.Solo alcuni anni fa un editor di te-sto e una buona conoscenza del-l’Html potevano bastare per crea-re un sito Web ricco e completo.Oggi invece sono moltissime letecnologie e i linguaggi che ven-gono utilizzati per il Web design.La creazione a partire da zero diun sito Web moderno richiedemolte competenze in ambiti diver-si che spaziano dalla progettazio-ne grafica alla programmazione,alla grafica vettoriale.

Di Francesco Caccavella e Filippo Moriggia

Abbiamo provato per voi11 applicazioni che per-mettono di allestire in unbatter d’occhio siti Websofisticati e professionalisenza scrivere neppureuna riga di codice.

Un sito Webdinamico con Php e MySQL

Page 2: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006225

Sul prossimo numero della rivistatroverete poi una guida dettaglia-ta alla configurazione dell’am-biente necessario per l’esecuzio-ne dei pacchetti presentati su uncomputer con sistema operativoWindows. Vi mostreremo sia co-me installare una applicazioneWeb su Windows e pubblicarlacon il server Web Apache, sia co-me caricarla su uno spazio Web(gratuito o a pagamento) che sup-porti le tecnologie Php e MySQL. Vi presenteremo anche una gui-da passo per passo alla creazionedi un sito di prova completo ditutto ciò che può servire: un Cms,un blog, un forum e una galleriadi immagini.

Siti Web statici e dinamici

Per capire come funzionano leapplicazioni Web che troveretedescritte nelle prossime pagine èimportante comprendere la diffe-renza tra i linguaggi di program-mazione lato client e lato server. Ilinguaggi del primo tipo vengonousati per scrivere frammenti dicodice inclusi nelle pagine Html.Questi frammenti vengono cari-

cati all’interno del browser e in-terpretati. Per fare un esempio,uno dei più conosciuti ed utiliz-zati linguaggi lato client è Java-Script. Il ricorso alla programma-zione lato client ha il vantaggiodi non occupare le risorse dei ser-ver, ma richiede browser sempreaggiornati e presentano spessoproblemi di compatibilità. I lin-guaggi di programmazione latoserver invece vengono usati perprodurre frammenti di codice in-clusi all’interno delle pagine pre-senti sul server. Questo codiceperò viene eseguito dal serverper creare al volo le pagine Htmlche vengono poi inviate al client.L’utilizzo di una tecnologia diquesto tipo richiede server piùsofisticati e potenti ma, come ve-dremo, ha molti vantaggi. Un sito Web che non richiede l’u-so di linguaggi lato server vienechiamato sito statico. I siti Webche fanno uso di linguaggi latoserver per la generazione dellepagine vengono invece chiamatidinamici. La dinamicità è legataal meccanismo di creazione dellapagina visualizzata dall’utente. Nella navigazione in un sito sta-tico le pagine Web in Html sono

semplici file che vengono scari-cati dal browser durante la navi-gazione e aperti in locale, propriocome se si trattasse di un file diWord o di un Pdf. In un sito dina-mico invece la pagina viene ge-nerata in tempo reale in seguitoall’esecuzione di codice interpre-tato dal server al momento delcaricamento. Tra i numerosi lin-guaggi utilizzati lato server per lacreazione di pagine dinamichecitiamo ad esempio Php, JavaServlet Pages (Jsp) e Active Ser-ver Pages (Asp). Nella maggior parte dei casi que-sti linguaggi di programmazionevengono usati in combinazionecon un database in cui vengonoarchiviati i dati utilizzati per lacreazione delle pagine.

Dietro le quinte

Le pagine di un sito dinamicocontengono – insieme all’Html –righe di codice che vengono ese-guite sul server. Il linguaggio concui sono scritte queste righe dicodice, nel nostro caso, è il Php.Dunque tutte le pagine prima diessere inviate al browser vengo-no processate dal preprocessore

L’utente digita un Url o fa clic

su un collegamento ipertestuale.

1 2

Il browser richiede al server Web

la pagina corrispondente.Il server Web invia la pagina al browser

Il server leggela pagina nel file system.

La pagina viene inviata al preprocessore Php.

Il preprocessoreaccede, se necessario, al database.

Il preprocessore genera al volo una pagina Web e la passa al server.

www.sitoweb.com/pagina.php

7

3

5

6

mySQL

4

Come funziona un sito dinamico

IIll ffuunnzziioonnaammeennttoo ddii uunn ssiittoo ssttaattiiccoo ccoonncceettttuuaallmmeennttee èè ppiiuuttttoossttoosseemmpplliiccee:: il browser richiede una pagina, il server Web la legge nelfile system e la invia in risposta al browser. Nel caso di un sitodinamico, le attività che si svolgono dietro le quinte sono ben piùcomplesse. Ecco il meccanismo che si mette in moto in seguito allarichiesta di una pagina dinamica.

Page 3: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006226

Php che interpreta il codice scrit-to in questo linguaggio presentenella pagina. In questa fase ilpreprocessore consulta il databa-se in cui vengono conservati i da-ti che dovranno poi essere visua-lizzati nella pagina. Prendiamoad esempio in considerazione unsemplice blog. La pagina di unmessaggio conterrà il nome delblog, la data corrente, il nomedell’autore, il testo del post e ladata in cui è stato scritto. Il nomedel blog sarà contenuto nel data-base MySQL, insieme al testo delpost e alla data di inserimento. Ladata corrente verrà invece inseri-ta nel momento in cui la paginaviene richiesta dal client leggen-do la data indicata dal sistemaoperativo del server.

I componenti softwarenecessari

Cerchiamo di capire ora qualicomponenti software sono neces-sari per la realizzazione di un sitodinamico. Il primo componente èil Web server, unico elemento ne-cessario anche nel caso di un sitostatico. Il Web server attende lerichieste da parte dei client, leg-ge i file su disco e invia le pagineal browser o – se necessario – alpreprocessore Php. Il Web serverche abbiamo preso in considera-zione è Apache. Nelle prossimepagine troverete maggiori detta-gli su questo Web Server. Nelprossimo numero vi spiegheremoanche come installarlo e configu-rarlo su un sistema Windows. Il secondo componente softwareè il preprocessore Php, che si oc-cupa di processare le istruzionicontenute nelle pagine dinami-che. Il terzo componente è il da-tabase server, l’applicazione chericeve le richieste di lettura escrittura dati dal preprocessore eche si occupa di gestire il databa-se in cui vengono archiviati i dati.Il prodotto che vi presentiamo èMySQL, opensource e multipiat-taforma. Vi daremo le istruzionidettagliate anche per l’installa-zione di Php e MySQL su unamacchina Windows.

N elle prossime pagine trovere-te la presentazione di alcuni

pacchetti pronti all’uso adatti alleesigenze più comuni: la gestionedi contenuti generici, di un blog,un forum, una galleria di immagi-ni, Wiki e newsletter.

Content ManagementSystem

La creazione di un sito completoper la pubblicazione e la gestionedi contenuti generici è una delleesigenze più comuni in ambitoWeb. Esiste una categoria precisadi prodotti pensati per questo sco-po: i Content Management System(Cms). Queste applicazioni offronotutti gli strumenti necessari per or-ganizzare, gestire e pubblicarecontenuti su Web. Vi presentiamoi tre prodotti open source basati suPhp e MySQL più conosciuti ecompleti. Come vedrete questisoftware permettono non solo lapubblicazione di articoli e infor-mazioni, ma anche la creazione disondaggi e forum e la gestione diun’area per il download di file.

JJoooommllaa (www.joomla.org) è unprodotto open source molto com-pleto e semplice da installare eutilizzare. Joomla deriva diretta-mente dal noto CmsMambo (www. mambo-server.com). Molti deglisviluppatori di questapiattaforma hanno infattideciso di abbandonare ilprogetto Mambo per di-vergenze con la societàche ne detiene il copyri-ght. La versione 1.0 diJoomla, rilasciata a set-tembre 2005, è quasiuguale (a parte alcunepatch di sicurezza e pic-cole modifiche) alla re-lease 4.5.2.3 di Mambo.L’installazione di Joom-la è molto semplice e of-fre una procedura gui-

data per la configurazione del sitoWeb. Un punto di forza di questoCms è il potente pannello di am-ministrazione, semplice ma riccodi funzioni. Joomla separa in mo-do netto l’aspetto grafico del Cmsdai contenuti e dagli strumenti diamministrazione. I template uti-lizzati per la definizione dell’a-spetto grafico del sito possono ap-portare modifiche anche sostan-ziali alla posizione dei componen-ti e ad ogni aspetto estetico senzatoccare i contenuti. On-line si tro-vano moltissimi template gratuitiper personalizzare il Cms anchesenza sapere nulla di Web design.Per l’aggiunta di funzioni e com-ponenti Joomla non richiede alcunintervento sul codice del program-ma: si possono caricare elementidi tre tipi diversi direttamente dalpannello di amministrazione. Icomponenti di Joomla sono picco-le applicazioni in grado di arric-chire il sito con elementi come fo-rum, sistemi di commercio elettro-nico e gallerie di immagini. I mo-duli sono invece script Php che ge-stiscono la visualizzazione di bloc-chi di contenuti da posizionarenell’interfaccia, come riquadri diricerca, calendari, sondaggi e cosìvia. Prerogativa unica di Joomlasono invece i Mambot (o Joomla

Le applicazioni Web

Il template di default di Joomla è ben disegnato, maper personalizzare il vostro sito Web potete trovareon-line centinaia di template alternativi gratuiti.

Page 4: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006227

Bot), piccole procedure automati-che in grado di modificare il con-tenuto di una pagina nel momentoin cui viene richiesta dall’utente.Con un Mambot ad esempio sipossono trasformare automatica-mente in link tutti gli indirizzi e-mail inclusi in un articolo.Joomla può anche gestire diversiprofili utente con permessi di ac-cesso e modifica dei contenuti piùo meno limitati. Per l’editing deitesti di default viene fornitoTinyMCE editor (http://tinymce.moxiecode.com) che dispone deicomandi principali per la format-tazione dei testi e l’inserimento dilink e immagini, ma esiste la pos-sibilità di caricare anche editorpiù evoluti sotto forma di elemen-ti aggiuntivi (come l’ottimo FCKe-ditor). Nelpannello perl’inserimentodi contenutiJoomla offremoltissimeopzioni, chevanno dal po-sizionamentodelle immagi-ni all’imposta-zione del pe-riodo di pub-blicazione, al-la modificadella data edell’autore e

così via. Per ogni paginadel sito si possono inseri-re opzioni avanzate, co-me la visualizzazione inun formato adatto allastampa e un modulo perl’ invio tramite e-mailuna segnalazione sull’ar-ticolo corrente. È moltointeressante anche lapossibilità di visualizza-re il contenuto sotto for-ma di file Pdf (generatoautomaticamente). Joomla dispone di unalibreria che può essereusata per caricare, cata-logare e visualizzare tut-te le immagini disponi-bili. Include un sistemadi gestione di banner

pubblicitari, un servizio di new-sletter per gli utenti registrati,funzionalità per la pubblicazionedi feed con i protocolli più utiliz-zati (Rss, Atom, Opml) e un siste-ma di statistiche. La versione localizzata in italianopuò essere scaricata dal sito Webwww.joomla.it, mentre un’ottimarisorsa per il download di templa-te, Mambot e altri componenti èJoomla Resource (www.joomlare-source.com).

DDrruuppaall (www.drupal.org) è un si-stema più spartano e complesso diJoomla, anche se più flessibile.Nato nel 2000, dal progetto di unforum online, Drupal conservanella struttura questa vocazionealla gestione di una comunità.

L’installazione non è guidata, marichiede la modifica di un file diconfigurazione testuale. Anche ildatabase MySQL deve esserecreato e preparato in modo ma-nuale. L’interfaccia di ammini-strazione non è completa comequella di Joomla, ma è chiara epulita. Il pannello di controllopresenta sulla sinistra, in un’uni-ca lista, le opzioni di configura-zione globale e i moduli attivati.Tra i moduli che fanno parte del-l’installazione standard troviamoun blog, un forum e un sistemaper la pubblicazione di contenutiin modo collaborativo. Dal sitoWeb http://drupal.org/ project sipossono scaricare molti moduli ingrado di aggiungere svariate fun-zioni al Cms. L’installazione dinuovi moduli è abbastanza sem-plice, anche se richiede comunquela modifica del database e l’attiva-zione dal pannello di controllo. Drupal non dispone di un editor ditesto preinstallato, ma può caricarealtri editor (come l’ottimo FCKedi-tor) sotto forma di moduli aggiunti-vi. È interessante la possibilità diimpostare permessi di accesso perogni tipologia di contenuto. La folta comunità di sviluppatoriche supporta la crescita di Drupalha creato un sistema solido, conmolte funzioni che consentono diottimizzare le risorse del sistemasu cui è installato e un meccani-smo di registrazione delle attivitàche offre all’amministratore uncontrollo pressoché completo suciò che accade nel sito. I file per

L’interfaccia di amministrazione di Joomladispone di un comodo pannello di controllo e di numerosi menu ben organizzati.

L’interfaccia semplice e pulita di Drupal puòessere arricchita a seconda delle esigenze.

Drupal può essere potenziato tramite diversi moduliattivabili dall’interfaccia di amministrazione.

Page 5: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006228

la localizzazione di Drupal in ita-liano possono essere scaricati dalsito Web www.drupalitalia.org.

PPHHPP--NNuukkee (www.phpnuke.org) èuno dei Cms più datati, oltre chepiù conosciuti e apprezzati. Svi-luppato dal canadese FranciscoBurzi, è arrivato alla versione 7.9.Anche se questo pacchetto vienerilasciato con licenza open sour-ce, per scaricare l’ultima versionedal sito ufficiale viene richiesto ilpagamento di 10 dollari. Le ver-sioni precedenti sono invece sca-ricabili gratuitamente. Il softwareha licenza open source, perciòchi scarica l’ultima release puòcomunque ridistribuirla gratuita-mente. L’installazione di PHP-Nuke, come quella di Drupal, ri-chiede la modifica manuale di unfile di testo e la creazione dellastruttura del database. Di defaultPHP-Nuke dispone di diverse se-zioni per la gestione di news e ar-ticoli, download, forum, sondag-gi, questionari e newsletter. An-che questo Cms può essere po-tenziato con addon sviluppati daterzi. Per l’inserimento di conte-nuti PHP-Nuke dispone di uneditor essenziale che può facil-mente essere sostituito da stru-menti più evoluti (come SpawEditor per PHP-Nuke, reperibilesul sito www.kodetech.com).Questo Cms, come Drupal, è piùorientato alla creazione di unacomunità online che alla divulga-

zione. Sono infatti molto curatetutte le procedure di registrazio-ne e gestione degli utenti, mentreil sistema di content managementè più approssimato. L’accesso acontenuti e download, e la visua-lizzazione dei commenti di ogniarticolo, possono essere limitati aisoli utenti registrati. PHP-Nukegestisce anche i feed Rss e puòvisualizzare notizie provenientida siti esterni utilizzando questoprotocollo. Supporta trenta lin-gue diverse e permette anche ilcambiamento della lingua duran-te la navigazione. PHP-Nuke èstato spesso afflitto da problemidi sicurezza e le patch per la riso-luzione di questi problemi sonoarrivate sempre con molto ritardoda parte del sito ufficiale. Perquesto alcuni sviluppatori distri-buiscono le cosiddette PHP-NukePatched Series: versioni che in-cludono alcune modifiche perrendere più robusta l’architetturadel programma. I l sito Webwww.nukefixes.com offre Pat-ched Series di PHP-Nuke sempreaggiornate, mentre www.we-blord.it è una buona risorsa inlingua italiana.

Blog

Chi non ha mai pensato di inizia-re a scrivere un Blog personalealzi la mano. Visto il successostraordinario di questa forma dipubblicazione (e comunicazione),

sono molti i sitiche offrono spa-zio e strumenti aquanti voglionoproporre storie,pensieri o memo-rie ai navigatoridella rete. Perchi vuole qualco-sa di più sofisti-cato e persona-lizzabile ci sonomolte applicazio-ni Web completee funzionali. Vipresentiamo duesoluzioni interes-santi che posso-no anche gestire

una discussione sugli argomentitrattati nel Blog tra i navigatoridel sito e offrono altre feature in-teressanti.

WWoorrddpprreessss (www.wordpress.org) èmolto semplice da usare, anche sedispone di molte opzioni e funzio-nalità. Attraverso l’installazione dicomponenti aggiuntivi che posso-no essere scaricati dal Web e atti-vati all’interno dell’interfaccia,può essere potenziato con l’ag-giunta di forum, gallerie di imma-gini, strumenti di download omeccanismi di integrazione con al-tri siti. La disponibilità di questicomponenti aggiuntivi (chiamatiplug-in) è davvero notevole: ilpunto di riferimento per il down-load di queste risorse è il Word-press Plugin DB (http://wp-plu-gins.net). Il template proposto didefault è molto elegante ed essen-ziale. All’indirizzo http://word-press.org/extend/themes si posso-no trovare diversi temi alternativirispetto a quello di default. L’inter-faccia di amministrazione è moltosemplice e comoda. Wordpresspermette l’inserimento di contenu-ti al di fuori della classica visualiz-zazione cronologica, come le infor-mazioni sugli autori o la paginadei contatti. È molto curato ancheil sistema di gestione degli utenti,basato su 10 livelli di autorizzazio-ne. I messaggi da pubblicare sulBlog possono essere caricati ancheutilizzando una casella e-mail,

L’interfaccia di PHP-Nuke: i menu e i riquadripresenti nelle colonne laterali possono esserespostati e modificati con facilità.

L’area di amministrazione comprende unpannello di controllo da cui si può accederealle diverse sezioni del Cms.

Page 6: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006230

mentre tramiteplug-in esterni sipossono aggiun-gere meccanismidi pubblicazionetramite Sms oMms. L’editor perla scrittura deimessaggi contienele opzioni più co-muni di formatta-zione e alcunefunzioni supple-mentari come la ri-cerca su An-swers.com delledefinizioni di unaparola. Sono supportati tutti i prin-cipali standard di connessione allepiattaforme Blog come Trackbacke Pingback per favorire i riferi-menti incrociati tra messaggi di al-tri Blog, i feed Rss e il protocolloXml-Rpc per far interagire il blogcon altri strumenti di pubblicazio-ne o siti Web. Wordpress è dispo-nibile anche in italiano grazie allavoro della comunità di Word-press Italia (www.wordpress-it.it).

SSeerreennddiippiittyy (www.s9y.org) è piùcompleto di Wordpress nella suainstallazione standard, ma menoelegante e a volte più dispersivo.Per l’installazione è disponibile unasemplice procedura guidata chepermette anche l’impostazione del-la lingua del sito (italiano incluso).L’interfaccia grafica mostra a sini-stra i messaggi del blog e a destraun calendario navigabile, il modu-lo di ricerca, gli archivi, le eventua-

li categorie e i link a tutti i feed di-sponibili (nei formati Rss e Atom).Ogni blocco può essere posizionatoo disabilitato dal pannello di ammi-nistrazione. È molto completa lagestione di utenti e gruppi: si pos-sono associare quasi trenta permes-si differenti che coprono pratica-mente ogni possibilità di pubblica-zione o amministrazione. Serendi-pity può essere personalizzato gra-zie a un buon numero di compo-nenti esterni chiamati plugin. L’a-spetto dell’applicazione può esseremodificato facilmente tramite glistili, dal pannello di amministrazio-ne. Nel pacchetto di installazionevengono poi forniti più di 50 temigrafici e se ne possono trovare altrisul Web. Serendipity può gestireuna libreria di immagini con cui ar-ricchire il blog e i messaggi. Suogni immagine conservata nella li-breria si possono anche applicarealcune minime funzioni di editing:

ridimensionamento o rotazione di90 gradi. L’editor per l’inserimentodi testi è abbastanza evoluto e di-spone di una barra di formattazio-ne che ricorda quella di Word. An-che Serendipity accetta la ricezionee l’invio di Trackback e Pingback esupporta il protocollo Xml-Rpc. In-teressante la possibilità di usareuna singola installazione per la ge-stione di diversi blog indipendenti.

Forum

I forum basati su Web sono sicura-mente una delle evoluzioni più im-portanti degli ultimi anni e per mol-ti aspetti hanno preso il posto deinewsgroups di Usenet, sempre me-no utilizzati. In questo campo sonodisponibili molte soluzioni gratuiteo commerciali ma non open source,come Simple Machines (www.sim-plemachines.org), vBulletin (www.vbulletin.com) e Invision Power

Board (www.invi-sionpower.com).Noi abbiamo sceltodi presentarvi duesoluzioni opensource. La prima èpiù ricca ed evolu-ta ma di imposta-zione molto classi-ca (PhpBB) mentrela seconda è piùessenziale e origi-nale (Vanilla), macomunque moltocurata da un puntodi vista grafico efunzionale.

Wordpress è una applicazione funzionale edelegante per la gestione di un blog.

L’interfaccia di amministrazione di questopacchetto è semplice e chiara.

L’interfaccia di Serendipity, completa dicalendario per la ricerca di post arretrati.

I componenti presenti nelle barre laterali possonospostati a piacere oppure nascosti.

Page 7: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006231

PPhhppBBBB (Php Bulletin Board, www.phpbb.com) è uno dei forum di di-scussione più conosciuti e diffusi.Dispone di un sistema di installa-zione e amministrazione semplicee chiaro ed è tradotto in più di cin-quanta lingue (italiano compreso). PhpBB è molto completo a livellodi funzionalità: supporta l’invio dimessaggi privati tra gli utenti, lenotifiche via e-mail, la personaliz-zazione dei profili utente e opzionidi moderazione abbastanza avan-zate. Purtroppo non gestisce nati-vamente gli allegati, ma richiedel’installazione di un compo-nente aggiuntivo. Lo stiledel forum può essere modi-ficato scaricando uno deglistili disponibili all’indirizzowww.phpbb.com/styles op-pure modificando colori egrafica direttamente dalpannello di amministrazio-ne. Il pannello di ammini-strazione è molto curato: sipossono impostare i per-messi per i diversi forum,creare sezioni private, asse-gnare ad ogni forum unmoderatore, cancellare,modificare, spostare e bloc-

care ogni singolo messaggio.PhpBB può essere migliorato edesteso in funzionalità grazie al si-stema di aggiornamento tramiteMod (Modifications). I Mod, peressere approvati, devono seguireun processo di validazione da par-te del Team di sviluppo di PhpBB.L’installazione di un Mod purtrop-po è spesso molto complicata e ri-chiede lunghi passaggi di modifi-ca del codice sorgente. Una solu-zione (parziale) al problema è Ea-symod, un componente in grado digestire l’installazione automatica

dei Mod, purtroppo ancora in viadi sviluppo. Chi vuole una versio-ne di PhpBB già completa dellefunzionalità accessorie più comunipuò scaricare dal sito www.phpbb2.de PhpBB Plus, una releasenon ufficiale pre-modificata conquasi cento Mod. PhpBB Plus an-che se più pesante ed esoso in ter-mini di risorse rispetto alla versio-ne standard, aggiunge, tra le altrecose, un calendario, una galleriadi immagini e la possibilità di in-cludere allegati nei messaggi. Vi-sto che si tratta di una versione

non ufficiale creata sul codi-ce di PhpBB i potenziali pro-blemi di sicurezza di questarelease vanno però studiaticon attenzione.

VVaanniillllaa (http://getvanilla.com) è un forum leggero edessenziale che fa ampio usodella tecnica di sviluppo Web(lato client) che rientra sotto ilnome di Ajax (AsynchronousJavaScript and XML). Se vo-lete saperne di più su Ajax, viinvitiamo a recuperare l’arti-colo di approfondimentocomparso a pagina 330 del

I prodotti che abbiamo esaminato utilizzano il linguag-gio Php. Anche se alcuni di essi supportano una va-

rietà di server Web e di database, nella maggior partedei casi vengono fatti lavorare insieme ad Apache e My-SQL, molto spesso su piattaforma Linux (anche se di so-lito non ci sono problemi di compatibilità con l’ambien-te Windows). L’insieme di Linux, Apache, MySQL e Phpviene abitualmente indicato con l’acronimo Lamp, men-tre è più raro trovare l’acronimo Wamp per identificarel’ambiente analogo basato su Windows.Apache è dal 1996 il Web Server più utilizzato su Inter-net. Sviluppato dalla Apache Foundation, costituisce unodei maggiori successi di sviluppo con il modello opensource. La versione 2.0, rilasciata per la prima volta nel2002 ha ormai rimpiazzato la 1.3, anche per l’uso insie-me a Php. Nella guida all’installazione che troverete sulprossimo numero e nelle prove delle applicazioni chetrovate in queste pagine abbiamo utilizzato Apache 2.0.Se volete provare altre applicazioni Web oltre a quelleconsigliate vi invitiamo a leggere sempre con attenzionei requisiti per evitare problemi di compatibilità.

Il Php (Php Hypertext Preprocessor) è stato rilasciatonella sua prima versione basilare l’8 giugno 1995 da Ra-smus Lerdorf. La più recente versione 5 di Php ha intro-dotto un nuovo scripting engine (lo Zend Engine 2) eutilizza finalmente un modello di programmazioneorientata agli oggetti, anche se per ora molti sviluppa-tori preferiscono utilizzare ancora la versione 4. L'ulti-ma release disponibile, al momento di scrittura di que-sto articolo, è la 5.1.1, ma noi vi consigliamo di utilizza-re la versione 5.0.5 (o la più recente della serie 5.0.x)per evitare problemi di compatibilità con le applicazioniche trovate in queste pagine. MySQL è un Relational DataBase Management System(Rdbms): un sistema di gestione database relazionalecompatibile con il linguaggio Sql (Structured QueryLanguage). Sviluppato dalla società svedese MySQL ABè appena arrivato alla versione 5, ma anche se questaversione viene considerata superiore rispetto alle prece-denti, è ancora troppo recente per l’uso su sistemi diproduzione. Meglio utilizzare la versione 4.1 che offremaggiori garanzie in termini di stabilità e compatibilità.

I fantastici tre: Apache, Php e MySQL

L’interfaccia di PhpBB è semplice ma forniscemolte informazioni in modo chiaro e leggibile.

Page 8: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

menti. Le immagini posso-no essere pubblicate sia apartire da una cartella pre-sente sul server sia diretta-mente dal browser. Si pos-sono inviare foto alla galle-ria di Coppermine ancheutilizzando le funzionalitàdi Pubblicazione guidatasul Web di Windows XP.L’immagine di anteprimadelle foto caricate sul sito(thumbnail) viene creataautomaticamente da Cop-permine, mentre nel casodi documenti o file video eaudio può essere impostatamanualmente. Gli utentiche visitano il sito possono,se consentito dall’ammini-

stratore, commentare e votare leimmagini con un punteggio che vada 1 a 5. Interessante anche la pos-sibilità di inviare cartoline elettroni-che tramite e-mail. Copperminepuò pubblicare automaticamente leinformazioni in formato Exif e Iptcche fanno parte dei file Jpeg creatida fotocamere digitali (o softwareappositi) e visualizzare le immaginiin modalità slideshow. Il pannello diamministrazione offre molte impo-stazioni per la personalizzazione: adesempio si possono assegnare i per-messi agli utenti e cambiare le op-zioni di visualizzazione delle imma-gini, come la qualità, il formato e ladimensione. I visitatori del sito pos-sono anche creare album persona-lizzati con le immagini della galle-ria. Coppermine è disponibile an-

che in italiano (l’imposta-zione della lingua viene ge-stita dal pannello di control-lo). Per la personalizzazio-ne si possono utilizzaretemplate, add-on e modulidi integrazione con altreapplicazioni (come il forumPhpBB già citato) scaricabi-li dal sito ufficiale.

GGaalllleerryy 22 (http://gallery.menalto. com) rispetto aCoppermine vanta unastruttura più modulare eun sistema di gestione deitemplate più avanzato. Imoduli dell’applicazione,

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006232

numero 175 di Pc Profes-sionale (ottobre 2005). L’interfaccia di Vanilla an-cora non ha raggiunto laversione 1.0, ma è giàusabile e sufficientementestabile. Nella pagina ini-ziale non vengono visua-lizzate le categorie, comenei forum classici, ma lediscussioni più recenti ditutti i forum, ordinate perdata. Tra le caratteristichepiù interessanti segnalia-mo la possibilità di mette-re in evidenza tramite ibookmark le discussionipiù interessanti e l’opzio-ne di salvataggio delle ri-cerche preferite all’inter-no del proprio profilo. Il profilopubblico di ogni utente può esse-re personalizzato tramite un’iconao un’immagine identificativa oltreche tramite etichette personaliz-zate (ad esempio Squadra delcuore / Fiorentina). Vanilla è stato disegnato con l’in-tenzione di ridurre al minimo lefunzionalità aggiuntive e concen-trarsi sulle discussioni. È originalela modalità di gestione dei mes-saggi fra utenti: le discussioni pri-vate, infatti vengono visualizzateinsieme agli altri messaggi, l’uni-ca distinzione è la presenza del-l’etichetta [Private]. L’amministra-tore può naturalmente modifica-re, nascondere, chiudere o mette-re in evidenza una discussione.Ogni utente può personalizzare ilmenu laterale di naviga-zione con le informazioniche preferisce, visualiz-zando ad esempio le di-scussioni a cui sta parteci-pando, le ricerche salvatein precedenza, le discus-sioni private, la cronisto-ria (history) della naviga-zione e così via. Vanilla può essere usatoanche per la realizzazionedi forum completamenteprivati ed è in grado digestire i permessi dellecartelle in base ai Role(ruoli) degli utenti.

Gallerie di immagini

Per condividere le foto con gliamici il Web è la soluzione ideale.Le applicazioni che vi presentiamopossono organizzare le vostre fotoin album e renderle accessibili achiunque o solo a chi dispone diun account con i permessi neces-sari. I prodotti che abbiamo sceltosono anche in grado di creare au-tomaticamente le anteprime dellefoto e di gestire la visualizzazionein diversi formati.

CCooppppeerrmmiinnee (http://coppermine.sf.net) è uno strumento per la pub-blicazione di gallerie di immagini,ma non solo: può gestire anche vi-deo multimediali, file audio e docu-

Vanilla è un forum ancora in fase di sviluppo ma giàstabile e dotato di un’interfaccia semplice ed elegante.

Coppermine può visualizzare nella pagina inizialealcune immagini scelte a caso dall’archivio.

Page 9: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - febbraio 2006233

selezionabili al termine dell’in-stallazione, sono più di cinquantae includono numerose funziona-lità come la creazione automaticadi un album per ogni utente,stampa delle foto su siti commer-ciali, estrazione dei dati Exif e in-serimento di watermark. Per caricare le immagini all’internodi Gallery si possono utilizzare me-todi diversi. Si può utilizzare unsemplice form, installare GalleryRemote (un software multipiattafor-ma sviluppato in Java) o sfruttareuna comoda applet Java integratanel sito Web. Si possono installareanche alcuni moduli opzionali perl’invio delle foto direttamente da al-cuni cellulari Nokia o tramite AppleiPhoto. Il pannello per la creazionedi slideshow è ben disegnato e per-mette l’impostazione non solo delladurata, ma anche dell’ordine e delladimensione in pixel di ogni foto.Gli utenti possono essere divisi ingruppi con permessi diversi, galle-rie private e così via. Oltre al temadi default (Matrix), semplice e fun-zionale, sono già disponibili altri te-mi ben disegnati, come Sirius, sem-plice e minimalista che può essereutilizzato facilmente anche all’inter-no di siti Web con colori e imposta-zioni differenti. On-line si può tro-vare anche un buon numero di temigratuiti, come il PG Theme(www.pedrogilberto.net/gallery2/theme.html) molto apprezzato perl’eleganza e l’aspetto professionale.Gallery può essere localizzato initaliano se è stata attivata l’estensio-ne gettex nel file Php.ini.

Chi spedisceperiodicamentee-mail a ungruppo di per-sone sa quantedifficoltà puòincontrare uti-lizzando unqualunque pro-gramma di po-sta elettronica.La soluzioneideale è certa-

mente l’utilizzodi un sistemaper la gestionedi newsletter,

come PPhhpplliisstt (www.phplist .com).Questa applicazione può gestire di-verse liste, creare form per l’iscri-zione e la cancellazione con un si-stema di verifica dell’e-mail inseri-ta, spedire e-mail in formato testo oHtml e proporre all’utente la sceltadel formato (Html o testo) al mo-mento dell’iscrizione. Phplist è ab-bastanza semplice da installare maè un po’ macchinoso nella fase dimessa a punto, anche perché di-spone di moltissimi parametri. Imessaggi in fase di preparazionepossono essere salvati come bozza,inviati immediatamente o program-mati per la spedizione a una data eora precisa. È molto comoda la pos-sibilità di inviare messaggi di provain Html e testo a uno o più indirizzie-mail per verificare la compatibi-lità con client di posta elettronicadiversi. •

Gallery 2 crea automaticamente le anteprimedelle immagini caricate nell’archivio.

L’interfaccia di Wikimedia, il software utilizzatodalla Wikipedia, enciclopedia on-line gratuita.

Altre applicazioni

Per finire, ecco altri due pacchet-ti utili e interessanti che permet-tono di creare, rispettivamente,siti di tipo Wiki e newsletter. Wikipedia, la conosciuta e apprez-zata enciclopedia gratuita che rac-coglie più di 850.000 articoli, scrittiin modo collaborativo dagli utentidella Rete, utilizza una applicazio-ne Web open source: MMeeddiiaawwiikkii(www.mediawiki.org). Questa ap-plicazione permette la creazione dicontenuti in modo collaborativo:ogni articolo include un tasto perl’inserimento di commenti, uno perla modifica del testo e uno per la vi-sualizzazione della cronologia del-la pagina corrente. Nell’imposta-zione di default tutti gli utenti pos-sono modificare gli articoli, mal’amministratore può anche proteg-gere una pagina dallamodifica oppure cancel-larla definitivamente. Gliarticoli devono esserescritti con un markup lan-guage diverso dall’Html echiamato Wikitext. Fortu-natamente si tratta di unlinguaggio semplice daimparare e che offre tuttele funzioni necessarie perla creazione di contenuti.Per chi volesse provarealtre applicazioni Webper la creazione di Wikisegnaliamo PhpWiki(http:// phpwiki.sour-ceforge.net/) e DocuWiki(http:// docuwiki.org).

Phplist offre tutte le opzioni necessarieper creare una newsletter personalizzata egestirla in modo automatico.

Page 10: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

PC Professionale - marzo 2006206

PhpBB e Coppermine. Vi daremopoi alcuni suggerimenti su comecaricare il sito su uno spazio Webe su come scegliere il fornitore diservizi. Come vedrete esistonoofferte sia gratuite (purtroppocon diverse limitazioni) sia a pa-gamento con prezzi che partonoda cifre minime (intorno ai 10 eu-ro all’anno).Infine, vi presenteremo alcunisoftware per l’allestimento rapido diun ambiente basato su Php, Apachee MySQL: questi pacchetti hannoqualche limite, ma sono comodissi-mi per chi ha poco tempo e vuoledisporre subito di tutto il necessarioper provare in locale qualche appli-cazione da caricare solo successiva-mente su uno spazio Web.

e MySQL, è naturalmente necessa-rio un server Web, e la scelta più co-mune è quella di Apache, un serveranch’esso open source. In questoarticolo vi spiegheremo quindi neldettaglio come installare su uncomputer Windows questi tre com-ponenti, fondamentali per realizza-re un ambiente di test o per allestireun server di produzione. Successivamente vi mostreremotutti i passi necessari per installa-re alcune delle applicazioni piùsignificative tra quelle descrittenell’articolo citato. Nelle pagineche seguono troverete le istruzio-ni per allestire un sito generico,un blog, un forum e una galleriadi immagini sfruttando, rispetti-vamente, Joomla!, Wordpress,

I l mondo del software gratuitoe a sorgente aperto offre unagrande varietà di applicazioni

che possono essere usate per alle-stire un sito completo e sofisticatosenza avere alcuna conoscenza diprogrammazione. Sul numero pre-cendente di PC Professionale vene abbiamo presentate 11, tuttebasate sul linguaggio di scriptingPhp e sul database MySQL (potetetrovare l’articolo, in formato Pdf,anche sul Cd-Rom allegato a que-sto numero della rivista). Con le applicazioni esaminate sulnumero scorso è possibile realizza-re, ad esempio, un sito generico, unblog, un forum, una galleria di im-magini, un Wiki o una newsletter.Per metterle in funzione, oltre a Php

Di Francesco Caccavella e Filippo Moriggia

Il mese scorso vi abbiamo presentato11 applicazioni Web: sistemi di con-tent management, blog, forum e mol-to altro ancora. In questo articolo vimostriamo come installarle e comeallestire la piattaforma necessaria perpubblicarle on-line.

Come installare una applicazione

Web

Page 11: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006207

Se siete impazienti e volete prova-re subito non solo le applicazioniWeb di cui vi parliamo nelle prossi-me pagine, ma anche tutte quelleche abbiamo descritto nell’articolodel numero scorso, potete usare laprocedura di installazione automa-tica che abbiamo preparato per voi.Si trova sul Cd allegato alla rivistae in pochi clic vi permetterà di cari-care sul computer le applicazionicitate. Potrete provarne l’interfac-cia e mettere mano al pannello diamministrazione per capirne le po-tenzialità. Trovate una descrizionedettagliata di questa procedura,sviluppata dal nostro laboratoriosoftware, nelle pagine di presenta-zione del Cd, all’inizio della rivista.Di seguito vi presentiamo invece laguida passo per passo all’installa-zione di tutti i componenti, per chivuole partire da zero e comprende-re meglio l’architettura del sistema.

Indicazioni preliminari

Nel corso dell’installazione dei di-versi componenti faremo riferimen-to a una cartella precisa del disco disistema (C:). Voi potrete ovviamen-te scegliere percorsi diversi daquelli suggeriti. In questo caso do-vrete però prestare molta attenzio-ne e ricordarvi di modificare i per-corsi suggeriti negli esempi. La car-tella che abbiamo usato per conte-nere l’intero sito Web e le applica-zioni è c:\web\www. Per evitare conflitti, il Pc su cuiinstallerete Apache, Php e My-SQL non dovrà contenere versio-ni precedenti di queste applica-

zioni. L’account per l’installazio-ne dovrà disporre ovviamente deipermessi di amministratore. Seutilizzate Windows XP dovreteaver installato almeno il ServicePack 1 (richiesto da Apache), an-che se vi consigliamo di adottaredirettamente il Service Pack 2. Seavete una versione di Windowsdiversa da XP verificate la neces-sità di eventuali aggiornamentidal sito Web di Apache(www.apache.org) e di Php(www.php.net).Uno strumento indispensabile perla modifica dei file di configurazio-ne di alcuni programmi è un editordi testo che superi le limitazioni delBlocco Note di Windows. La sceltadi applicazioni gratuite in questocampo è vastissima. Se cercate unostrumento che sostituisca a tutti glieffetti Blocco Note vi consigliamoNotepadex (http://notepadex.cjb.net). Questa applicazione è estre-mamente leggera e pratica e rim-piazza completamente il program-ma di Microsoft. Una funzionalità diNotepadex molto utile, in particola-re per seguire le indicazioni che viforniremo nelle prossime pagine, è

la possibilità di accedere rapida-mente a una riga precisa di un fileinserendone il numero. Una soluzione più evoluta èPsPad (www.pspad.com/it/) che,a differenza di Notepadex, è uneditor orientato alla programma-zione, perciò offre molte funzioniavanzate come la numerazionedelle righe, la colorazione del te-sto in base alla sintassi di alcunilinguaggi, l’anteprima dei fileHtml e molto altro ancora.

Installazionedi Apache

Il primo passo è l’installazione delWeb server, nel nostro caso Apache.Questo prodotto open source puòessere scaricato dal sito http://httpd.apache.org/download.cgi. Neesistono varie versioni, voi dovetecercare quella indicata come Win32Binary (Msi Installer) e chiamataapache_2.0.XX-win32-x86-no_ssl.msidove al posto di XX troverete il nu-mero della revisione più recente (la55 al momento delle nostre prove).Il file, in formato Microsoft Installer(Msi), può essere lanciato diretta-mente per iniziare la procedura. L’installazione di Apache è moltosemplice. Nella maggior parte deicasi basta proseguire mantenendole impostazioni di default. L’unicaeccezione è la schermata per l’in-serimento delle informazioni rela-tive al server (Server Information).I campi Net-work Domain e Ser-ver Name non sono molto impor-tanti se state installando il Webserver su una macchina di test,mentre vanno compilati con at-tenzione nel caso di un server di

1

Notepadex dispone diun’interfaccia simile aquella di Blocco notema è compatibile coni file di testo cheusano set di caratterinon standard. Inoltrepuò gestire ricercheall’interno di un fileusando il numero diriga.

L’installazione diApache è moltosemplice. Bastainserire il nome delserver, il dominio el’indirizzo e-maildell’amministratore.Bisogna poiscegliere la portaTcp che si vuoleusare e la modalitàdi setup dell’ap-plicazione.

Page 12: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006208

produzione. Per ef-fettuare i test potresteinserire semplice-mente localhost in en-trambi. Il campo Ad-ministrator’s E-mailAddress va compilatocon l’indirizzo e-maildell’amministratoredel sito, ma l’inseri-mento di un indirizzoe-mail fittizio noncompromette le fun-zionalità del server.La schermata doman-da se si desidera in-stallare Apache comeservizio o come appli-cazione da lanciaremanualmente. Nelprimo caso la porta Tcp impostatadi default è 80, nel secondo caso8080. Per decidere se installareApache come servizio o come ap-plicazione dovete valutare con at-tenzione le vostre intenzioni. Sestate installando Apache su unamacchina che svolgerà principal-mente la funzione di server Web,dovrete sicuramente procedere al-l’installazione come servizio. Se sitratta di una installazione su un Pcdesktop, vi conviene scegliere l’in-stallazione come applicazione. Leporte di installazione possono co-munque essere cambiate a piacerein un secondo tempo e non sonostrettamente collegate all’uso comeservizio o come applicazione. Noiper comodità abbiamo scelto l’in-stallazione di Apache come servi-zio sulla porta 80, dunque nelle fasisuccessive di questa guida faremoriferimento a questo caso. Se sce-gliete la seconda alternativa dovre-te ricordarvi di avviare manual-mente Apache e fare riferimentoall’indirizzo http://localhost:8080anziché a http://localhost.Se sul sistema su cui volete instal-lare Apache avete già caricato Sky-pe, l’uso della porta 80 potrebbecausare qualche problema. Skypeusa la porta 80 per superare i bloc-chi dei alcuni firewall presenti abi-tualmente sulle reti aziendali. Se ilvostro Pc non è schermato da un fi-rewall hardware, potete continuarea usare Skype, ma dovete cambiare

una opzione che si trova nel menuStrumenti / Opzioni / Connessione.Più precisamente dovete eliminarela spunta dalla voce Usa le porte80 e 443 come alternative.Se disponete di un sistema Win-dows XP Service Pack 2, al terminedell’installazione di Apache dovre-te anche rispondere Sblocca alla ri-chiesta del firewall di Windows. Sedisponete di un firewall personaledi terze parti dovrete comunquecontrollare che la porta 80 (o 8080)non risulti bloccata. Apache caricanell’area di notifica della barradelle applicazioni di Windowsun’icona con una penna rossa (il

simbolo di Apache).Facendo doppio clicsu questa icona siapre Apache Servi-ce Monitor, un co-modo pannello dacui si può avviare,bloccare o riavviareil server Web e con-trollarne lo stato.Per avere la certez-za che tutto sia in-stallato corretta-mente provate a di-gitare nella barradegli indirizzi delbrowser http://lo-calhost (o http://lo-calhost:8080 se ave-te installato Apa-

che sulla porta 8080). Dovrebbecomparire la pagina di confermadell’installazione.

Installazione di Php

Dopo aver installato Apache e ve-rificato il suo corretto funziona-mento, si può passare al carica-mento di Php. Anche se è già di-sponibile la versione 5.1 di Phpabbiamo deciso di utilizzare laversione della serie 5.0.5, la piùrecente della serie 5.0.x, dato chegarantisce la compatibilità contutte le applicazioni provate. Puòessere scaricare dall’indirizzowww.php.net/releases.php. Il formato da scegliere è Windowsbinary: la versione con installerinfatti non è completa di tutti i fi-le. Al termine del download do-vrete creare la cartella c:\web\php ed estrarre al suo interno ilcontenuto del file Zip appena sca-ricato. A questo punto doverte in-cludere il percorso appena citatonel Path di sistema. Andate inPannello di controllo / Sistema /Avanzate / Variabili d’ambiente /Variabili di sistema. Cercate lavoce Path, selezionatela e poipremete il pulsante Modifica. Siaprirà la finestra di modifica: at-tenzione a non cancellare ciò cheè già scritto al suo interno. In fon-do al contenuto del campo Valore

2

Per il corretto funzionamento di Php è necessario l’inserimentodel percorso di installazione nelPath di sistema.

Apache Service Monitor è un comodo pannello da cui si puòavviare, bloccare o riavviare il server Web e controllarne lo stato.

Page 13: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

T utte le applicazioni Web di cui abbiamo parlato possono essere instal-late anche su un Web server remoto e rese accessibili a tutti attraver-

so la rete Internet. Il requisito minimo dello spazio Web è ovviamente ladisponibilità di Php e Mysql. Prima di procedere all’installazione di unaapplicazione Web dovrete confrontarne i requisiti con le versioni dei di-versi componenti offerti dal fornitore dello spazio Web. Vediamo quali sono le differenze principali per l’upload su uno spazioWeb rispetto alle indicazioni che trovate nell’articolo. Per pubblicare unaapplicazione sul Web è necessario replicare sul server remoto la stessastruttura delle cartelle: i file devono essere estratti in locale e trasferiti sulserver remoto con un client Ftp. Vi consigliamo, ad esempio, Filezilla, cheè gratuito e molto facile da usare; inoltre è disponibile anche in lingua ita-liana (http://filezilla.sf.net). Se il server di pubblicazione è basato su Linux, dovrete cercare nella do-cumentazione del programma se è necessaria qualche modifica ai permes-si di lettura e di scrittura di alcuni file e cartelle. Per modificare tali per-messi, usando Filezilla, basta fare clic con il tasto destro del mouse sul fileo sulla cartella a cui siete interessati e scegliere Attributi file. I dati di connessione al database, da inserire nei file di configurazioni onelle schermate di setup, vengono forniti abitualmente dal fornitore delservizio. Se dovete installare più di una applicazione è meglio creare undatabase per ciascuna di esse. Se si dispone di un solo database si può in-vece utilizzare un prefisso diverso per le tabelle di ogni applicazione. Nontutte le applicazioni purtroppo supportano i prefissi, dunque dovrete leg-gere attentamente la documentazione caso per caso.Esistono diverse società che forniscono gratuitamente spazio Web consupporto a Php o Mysql. Nelle nostre prove siamo riusciti a installare sen-za problemi il Cms Joomla e il Blog Wordpress sugli spazi gratuiti fornitida 100Webspace (www.100webspace.com) e Altervista (www.altervista.org). Invece con Lycos Tripod (www.tripod.lycos.it) abbiamo ri-scontrato alcune difficoltà. Altervista si è mostrato il servizio più efficiente:a differenza degli altri due, non carica banner pubblicitari direttamentesulle pagine del sito ma richiede l’adesione a un sistema di crediti basatosullo scambio di pubblicità. Tophost (www.tophost.it) offre invece spazioWeb e registrazione di un dominio a 10,79 euro annuali (Iva inclusa). Secercate altre soluzioni di hosting potete far riferimento ahttp://hosting.html.it o www.tophosts.com che offrono database aggiorna-ti con la possibilità di confrontare prezzi e caratteristiche di centinaia difornitori di spazio Web.

Installare le applicazioni su uno spazio Web

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006209

variabile dovrete aggiungere, do-po un punto e virgola (;) la strin-ga: c:\web\php. Confermate eriavviate il computer per rendereeffettivi i cambiamenti. Per completare l’installazione bi-sogna modificare il file di confi-gurazione di Php. Fate una copiadel file php.ini-recommended chesi trova nella cartella c:\web\phpe assegnategli il nome php.ini.Per effettuare le modifiche apritephp.ini con Notepadex, Pspad o ilvostro editor preferito. Attorno al-la riga 670 (probabilmente a par-tire dalla riga 673) troverete la se-zione seguente:

[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25

; For Win32 only.;sendmail_from = [email protected]

Al posto di localhost inserite l’in-dirizzo del server Smtp che usateabitualmente. Cancellate poi ilpunto e virgola prima di send-mail_from e sostituite [email protected] il vostro indi-rizzo di posta elettronica. Modifi-cando questi parametri configu-rerete la funzione di Php per laspedizione di messaggi di postaelettronica, utilizzata da molteapplicazioni. Se il vostro serverSmtp richiede l’autenticazionepurtroppo non potrete usarlo, madovrete cercarne uno privo di au-tenticazione.Ora dovrete modificare la confi-gurazione di Apache per aggiun-gere il supporto a Php. Aprite il fi-le di configurazione di Apache

httpd.conf (per farlo andate inStart / Tutti i Programmi / ApacheHTTP Server / Configure ApacheServer / Edit the Apache httpd.conf Configuration file). Alla finedel file, senza modificare nulla,aggiungete le tre righe seguenti:

LoadModule php5_module“c:/web/php/php5apache2.dll”AddType application/x-httpd-php .phpPHPIniDir “c:/web/php/”

Prima di salvare il file cercate an-che, alla riga 228, la stringa:

DocumentRoot “C:/Programmi/ApacheGroup/Apache2/htdocs”

e modificatela in:

DocumentRoot “C:/web/www”

Questa stringa indica la cartellaprincipale in cui si trovano i file che

“ “

Dopo aver configuratoApache si può passareall’installazione di Php e MySQL.

Page 14: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006210

caricherà il Web server. Nello stes-so file, intorno alla riga 320, cercatela stringa:

DirectoryIndex index.html index.html.var

e aggiungete al termine index.php:

DirectoryIndex index.html index.html.varindex.php

In questo modo Apache userà an-che il file index.php come indicedelle cartelle. Salvate il file di con-figurazione e riavviate Apache dalService Monitor. Non resta che te-stare la configurazione: create unnuovo file di testo, inserite il con-tenuto seguente e salvatelo col no-me index.php al’interno della car-tella c:\web\www.

<?phpecho “Php ok!”;?>

A questo punto aprite l’indirizzohttp://localhost nel browser: dovre-ste veder apparire la scritta Php ok!.

Installazione di MySQL

MySQL può essere scaricato dal-l’indirizzo: http://dev.mysql.com/downloads/mysql/4.1.html#Windows.Scegliete la versione denominataWindows Essentials. Durante l’in-stallazione impostate Typical comeSetup Type, poi scegliete Skip Si-gn-Up alla richiesta della creazionedi un account su Mysql.com e pri-ma di premere il tasto Finish con-trollate che sia selezionata la voceConfigure the MySQL Server now.Partirà automaticamente la proce-dura guidata di configurazione diMySQL. Nella prima schermatascegliete Standard Configuration,poi valutate se installare MySQLcome servizio oppure come sempli-ce applicazione, seguendo le stesseindicazioni che vi abbiamo dato nelcaso di Apache. In questo esempio,come nel caso precedente abbiamoscelto l’installazione come servizio(Install as Windows Service) e lapartenza automatica del server

3

(Launch the MySQL Server auto-matically). Il passo successivo è lascelta della root password. Root, co-me nei sistemi Unix, è l’amministra-tore del server. Scegliete la pass-word con cura e appuntatela daqualche parte per non dimenticarla:nel corso di questa guida la utilizze-remo diverse volte. Controllate anche che non sia spun-tata la casella Enable root accessfrom remote machines. Terminatela configurazione premendo Execu-te e poi Finish quando MySQL avràconcluso le operazioni necessarie.Perché Php sia in grado di interfac-ciarsi con MySQL, dovrete ancheabilitare all’interno del file php.inil’estensione php_mysql.dll. Bastaaprire il file php.ini (che sta nellacartella c:\web\php). Alla riga515 troverete:

extension_dir = “./”

Questa variabile va mo-dificata così:

extension_dir = “c:/web/php/ext/”

Poi nello stesso file, allariga 645, dovrete cam-biare la riga

;extension=php_mysql.dll

cancellando il punto evirgola iniziale. Allostesso modo dovrete fa-re alla riga 632, cancel-lando il punto e virgolaanche dalla voce

;extension=php_gettext.dll

Quest’ultimo passaggioè necessario per il buonfunzionamento di alcu-ne applicazioni che usa-no questa estensioneper la localizzazionedell’interfaccia. Poi ri-cordatevi di salvare echiudere il file e riav-viate Apache. Poteteverificare la corretta in-stallazione di MySQLaprendo di nuovo il fileindex.php creato in pre-

cedenza e modificandolo:

<?phpecho “Php ok!”;

$connessione = mysql_connect(“lo-calhost”, “root”, “pass”) or die(“Connes-sione fallita: “ . mysql_error());

print (“Database OK!”);mysql_close($connessione);

?>

Dove al posto di pass dovrete in-serire la password scelta durantel’installazione di Mysql. Se tuttoè andato a buon fine, aprendo nelbrowser l’indirizzo http://localho-st dovreste veder comparire lascritta PPhhpp ookk!! DDaattaabbaassee ookk!!. Incaso di problemi, un messaggioin lingua inglese, segnalerà l’er-rore riscontrato. L’assenza totaledi messaggi significherebbe che

La procedura di configurazione di MySQLpuò installare il database server comeservizio e impostarne l’avvio automatico.

La password di root di MySQL verràutilizzata per l’accesso al database da partedelle applicazioni Web installate sul sito.

Page 15: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

“ “Il sito di riferimentoper la versione in lingua italiana di Joomla èwww.joomla.it.

I n questo articolo vispieghiamo tutti i

passi necessari per in-stallare separatamentePhp, Apache e MySQL.Se avete fretta e non viinteressa capire comefunziona l’integrazionetra queste applicazioni,esistono soluzioni piùsemplici e immediateche possono mettervi adisposizione un ambien-te di test in pochi minuti.Uno dei software più co-nosciuti in questo ambi-to è EEaassyypphhpp (www.ea-syphp.org), un pacchet-to gratuito che installa e configura con le opzioni più comuni Php, Apachee MySQL completo di PhpMyAdmin (interfaccia grafica per MySQL basa-ta su Php). Easyphp offre una semplice interfaccia, in italiano, da cui gesti-re l’avvio e l’arresto dei server e un comodo tool visuale per la gestione del-le estensioni di PHP. WWMMSSeerrvveerr TToooollss PPeenn DDrriivvee (www.wmcreation.it) èuna soluzione ancora più originale e pratica: può caricare l’ambiente Apa-che/Php/MySQL da una chiavetta Usb. Supporta anche il linguaggio Perl.JJssaass (Joomla! Stand Alone Server, http://jsas.joomlasolutions.com) è inveceun prodotto comodissimo per quanti vogliono disporre di un ambiente ditest del Cms Joomla. Infatti include Apache, MySQL, Php, PhpMyAdmin eil Cms Joomla preinstallati. Può gestire contemporaneamente più istanzeseparate di siti realizzati con Joomla.

Jsas (Joomla! Stand Alone Server) è una comodaroutine che installa in pochi secondi Joomla etutti i componenti di supporto necessari.

Un clic e il server è pronto

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006211

l’estensione php_mysql.dll non èstata configurata correttamente:riaprite il file php.ini e controllatela correttezza delle modifiche ef-fettuate.

Un sito generico con Joomla

L’ultima versione di Joomla in lin-gua italiana (la 1.05 nel momentoin cui scriviamo) può essere scari-cata dalla sezione Downloads /Core e Patch del sito www.joom-la.it. Per installarla dovete innan-zitutto creare un nuovo databasein MySQL. Dal menu Start seguiteil percorso Tutti i Programmi / My-SQL / MySQL Server 4.1 / MySQLCommand Line Client. Si aprirà laconsole di comando testuale diMySQL. Come prima cosa dovreteinserire la password di root impo-stata in precedenza, poi potrete di-gitare il comando seguente (com-preso il punto e virgola finale):

create database joomla;

e premere Invio. MySQL dovrebberispondervi così:

Query OK, 1 row affected

Significa che la creazione del da-tabase joomla è andata a buon fi-ne. Potete uscire dalla console conil comando quit. Per continuare nell’installazioneestraete il contenuto dell’archiviocompresso di Joomla nella cartellac:\web\www\joomla e puntate ilbrowser all’indirizzo http://lo-calhost/joomla. Se avete svolto leoperazioni correttamente, verrà vi-

4

sualizzata la prima pagina del pro-cesso di installazione. Fate clicdunque su Avanti, accettate la li-cenza e inserite i dati di connessio-ne al database. Nel campo hostna-me digitate localhost, come nome

utente MySQL indicate root e spe-cificate poi la password impostatadurante l’installazione di MySQL.Come nome di database inseriteinvece joomla. Il programma di in-stallazione vi chiederà un nome

L’installazione diJoomla richiedepochi semplicipassaggi. Il primopasso è l’inse-rimento dei datiper l’accesso aldatabase MySQL.

Page 16: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006212

per il sito, un’e-mail e lapassword di amministrato-re. L’ultima schermata dellaprocedura guidata richiedela cancellazione della car-tella installation che si tro-va in c:\web\www\joomla.Cancellatela prima di con-tinuare con l’installazione.Il pannello di amministra-zione di Joomla si trova al-l’indirizzo http://localhost/joomla/administrator, men-tre il sito può essere visualiz-zato all’indirizzo http://lo-calhost/joomla. Come vedrete, le possibilitàdi personalizzazione e lasemplicità dell’interfacciavi permetteranno di essereoperativi in pochi minuti.

Un blog con Wordpress

Come nel caso di Joomlaper installare Wordpress,dovremo creare un data-base dalla console di My-SQL con il comando:

create database wordpress;

Potete scaricare Word-press dalla pagina www.wordpress-it.it. Il pacchetto compressova estratto nella cartellac:\web\www\wordpress. Unavolta terminata l’estrazione ,apri-te il file wp-config-sample.php einserite le informazioni di colle-gamento al database appenacreato:

define(‘DB_NAME’, ‘wordpress’);define(‘DB_USER’, ‘root’);define(‘DB_PASSWORD’, ‘pass’);define(‘DB_HOST’, ‘localhost’);

Al posto di pass, come al solito,dovrete inserire la password scel-ta in fase di installazione di My-sql. Al termine salvate il file conil nome wp-config.php. Ora apri-te il browser e digitate l’indirizzohttp://localhost/wordpress/wp-ad-min/install.php per avviare l’in-stallazione. Alla prima schermata

5

dovrete inserire il nome del Blog eun indirizzo e-mail a cui verrà reca-pitata la password casuale generatadal sistema. La stessa passwordverrà visualizzata nella pagina suc-cessiva: prendetene nota. Una voltaterminata la procedura guidata col-legatevi all’indirizzo http://localho-st/wordpress/wp-login.php per ese-guire il login e configurare il Blogdalla voce Opzioni.

Un forum con PhpBB

Anche PhpBB, come Joomla, di-spone di una procedura guidatadi installazione, con cui si puòevitare la modifica manuale delfile di configurazione. Il pacchet-to completo localizzato in linguaitaliana può essere scaricato dal-la sezione downloads di

6

www.phpbb. it. Estraetecome al solito il contenutodel pacchetto in c:\web\www. Al termine dell’e-strazione vedrete la cartel-la phpBB2. Per creare ildatabase usate il solito co-mando dalla console diMySQL:

create database phpbb;

A questo punto potrete ac-cedere all’indirizzo http://localhost/phpbb2/ per pro-seguire con la configura-zione dell’applicazione.Come Tipo di database do-vrete impostare Mysql 4.x,in Nome database scrivetephpbb, e nei campi user-name e password (sempredella sezione database)dovrete scrivere root e lapassword scelta in fase diinstallazione di MySQL.Riempite i campi rimanentie fate clic sul pulsante Ini-zia installazione per dare ilvia alla creazione delle ta-belle e dei file di configu-razione di PhpBB. Una vol-ta terminata l’installazionePhpBB vi inviterà a cancel-lare le due cartelle c:\web\

www\phpbb2\ include e c:\web\www\phpbb2\contrib. Dopoaverle cancellate potete fare log-in usando l’account scelto in fasedi configurazione. Per navigarenel forum puntate il browser al-l’indirizzo http://localhost/phpbb2.

Una galleria di immagini con Coppermine

Per concludere, vediamo come in-stallare Coppermine per creareuna galleria di immagini. Prima diprocedere all’installazione dovretemodificare due parametri nel filephp.ini (che si trova nella cartellac:\web\php): apritelo con il vostroeditor e cercate, attorno alla riga448, la variabile register_long_ar-rays. Dovrete cambiare lo stato diquesta variabile da Off a On.

7

Una volta inseriti i parametri del database nel filedi configurazione, l’installazione di Wordpress èmolto semplice e richiede solo l’inserimento deltitolo del Blog e dell’e-mail dell’amministratore.

La configurazione di PhpBB tramite browserrichiede l’inserimento di molti parametri.

Page 17: SOFTWARE SITI DINAMICI Di Francesco Caccavella e Filippo ... · L’utilizzo di una tecnologia di questo tipo richiede server più ... zione di Php e MySQL su una macchina Windows.

M ySQL non include un’interfaccia grafica: dispone solo di unaconsole a riga di comando. Esistono però svariate soluzioni

per svolgere attività di amministrazione in modalità grafica. La stes-sa MySQL AB ad esempio propone MySQL Administrator(www.mysql.com/products/administrator/) un’interfaccia molto cu-rata graficamente e disponibile in formato binario per Windows,Mac e Linux. MySQL Administrator, oltre a mettere a disposizioneuno strumento grafico per la creazione, la modifica e la visualizza-zione di database, offre funzionalità di monitoring e di configura-zione del server MySQL. Il collegamento al server può essere ese-guito anche da remoto (se le impostazioni di sicurezza lo permetto-no). PhpMyAdmin (www.phpmyadmin.net) è una alternativa inte-ressante e diffusa, basata sul Web. Questa applicazione Php, disponibile anche in italiano, è sempliceda usare e sfrutta bene le possibilità offerte da una soluzione Web.Segnaliamo anche due soluzioni commerciali interessanti: SQLyog(www.webyog.com), di cui esiste una versione liberamente utilizzabile completadelle opzioni più comuni e Navicat MySQL (www.navicat.com), per Windows,Mac OS X e Linux, proposto ad un prezzo di 99 dollari (versione Standard). Navi-cat è disponibile anche in versione dimostrativa della durata di 30 giorni.

Un tool grafico per amministrare MySQL

SOFTWARESITI DINAMICI

PC Professionale - marzo 2006213

Attorno alla riga 631 cercate poil’istruzione:

;extension=php_gd2.dll

e cancellate il punto e virgola ini-ziale in modo da renderla attiva.Per attivare le modifiche dovretesalvare il file e riavviare Apache.Continuate poi con la creazionedel database; questa volta il co-mando da digitare nella consoledi MySQL sarà il seguente:

create database coppermine;

Dal sito http://copper-mine.sourceforge.netscaricate l’archivio conl’ult ima versione diCoppermine in formatozip. Il contenuto del-l’archivio va estrattonella cartella c:\web\www. L’estrazionecreerà una cartella conun nome simile acpg142, rinominatelain coppermine primadi proseguire. Apritel’ indirizzo http://lo-calhost/coppermine/install.php per dare il viaall’installazione. Sce-

gliete un nome utente e una pas-sword per l’amministrazione e di-gitate i dati di connessione a My-SQL e il nome del database dautilizzare (nel nostro caso cop-permine). Lasciate vuota l’opzione Image-Magick path che fa riferimento aun componente non installatonella nostra configurazione. Appena farete clic sul pulsanteLet’s Go Coppermine verrà in-stallato. Al primo accesso potretemodificare la lingua dell’applica-zione facendo clic sul link Adminmode / Config. Dovrete modifica-

Anche durante l’installazione di Coppermine bisogna inserire i parametri del database creato con MySQL.

L’interfaccia grafica di MySQLAdministrator, un tool dello stessoproduttore di MySQL.

“ “

MySQL Administratorè un’interfacciagrafica per lagestione di MySQL.

re il valore del campo Languagein Italian. A questo punto Cop-permine sarà pronto. Per aggiun-gere le prime immagini dovretecreare un Album facendo clic sulpulsante Albums e successiva-mente sul pulsante Nuovo. Il nome predefinito dell’album(Nuovo album) può essere modi-ficato con un titolo a vostro piace-re: al termine selezionate la voceApplica le modifiche. Le immagini da pubblicare (informato Jpeg o Png, Gif non èsupportato) devono essere salva-te in una cartella creata all’inter-no del percorso c:\web\www\coppermine\albums (ad esempioin c:\web\www\coppermine\al-bums\vacanze) e successivamen-te integrate in un album dellagalleria dal menu Aggiungi Im-magini. •