Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni84 pagine

Corsophpnuke FDL

Il documento fornisce una guida dettagliata su come utilizzare PHP-Nuke per la creazione e gestione di portali web, con focus su forum, notizie e interazioni con gli utenti. Include informazioni su amministrazione, scrittura di articoli, installazione e configurazione, oltre a una panoramica delle funzionalità di PHP-Nuke. È destinato a educatori e utenti che desiderano sfruttare le tecnologie informatiche in ambito educativo.

Caricato da

sandrotor83
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
19 visualizzazioni84 pagine

Corsophpnuke FDL

Il documento fornisce una guida dettagliata su come utilizzare PHP-Nuke per la creazione e gestione di portali web, con focus su forum, notizie e interazioni con gli utenti. Include informazioni su amministrazione, scrittura di articoli, installazione e configurazione, oltre a una panoramica delle funzionalità di PHP-Nuke. È destinato a educatori e utenti che desiderano sfruttare le tecnologie informatiche in ambito educativo.

Caricato da

sandrotor83
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Sei sulla pagina 1/ 84

Appunti del laboratorio di creazione

di fori, notiziari e conversazioni con


PHP-Nuke

Max de Mendizábal
[email protected]

28 febbraio 2003

1
Titolo originale dell'opera:
“Apuntes del taller de creación de foros, noticieros y
conversaciones con PHP-Nuke”
Autore: Max de Mendizábal - [email protected]

Permission is granted to copy, distribute and/or modify this


document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts, and no
Back-Cover Texts.
A copy of the license is included in the section entitled "GNU Free
Documentation License" (page 77).

2
Indice generale

1. Introduzione 5

2. Amministrazione di un foro di discussione 6


2.1. Un primo sguardo a PHP-Nuke
2.2. Il processo di creazione degli articoli 7
2.3. Il punto di vista dell'utente 8
2.3.1. Registrazione dell'utente 8
2.3.2. Selezione della lingua dell'interfaccia 9
2.3.3. Scrivere un articolo 9
2.4. Il punto di vista dell'amministratore 10
2.4.1. La pagina dell'amministratore 11
2.4.2. Aggiungere un nuovo editore/amministratore 13
2.4.3. Revisione degli articoli inviati dagli utenti 14
2.4.4. Come scrivere un articolo 15
2.4.5. La creazione della comunità virtuale 15
2.4.6. Configurazione iniziale 16

3. Scrittura con HTML 21


3.1. Cosa è HTML? 21
3.2. Primi passi (grassetto, corsivo, sottolineato) 22
3.3. Come costruire una semplice pagina web 22
3.4. Struttura gerarchica di HTML 23
3.5. Paragrafi e salti di linea 24
3.5.1. Allineamento di testi e paragrafi 24
3.6. Ipertesti e collegamenti 25
3.6.1. Struttura delle directory e degli ipertesti 25
3.7. Immagini 26
3.8. Liste 27
3.9. Tabelle 29
3.10. Commenti 33
3.11. Tipi di caratteri 34
3.12. Stili 35
3.13 Argomenti che vanno troppo oltre l'obbiettivo di questo corso 36

4. Installazione e configurazione 37
4.1. Installazione con Windows 37
4.2. Installazione con Linux 40
4.2.1. Red Hat 8.0 40
4.2.2. Debian 42
4.3. Configurazione dettagliata 43
4.3.1. Informazioni generali del sito 43
4.3.2. Opzioni Multilingua 45
4.3.3. Opzioni Banners 45
4.3.4. Messaggi Piè Pagina 45

3
4.3.5. Backend Configurazione 46
4.3.6. Notifica Nuovi Articoli all'Amministratore 46
4.3.7. Moderazione Commenti 47
4.3.8. Opzioni Commenti 47
4.3.9. Opzioni Grafica 47
4.3.10. Opzioni varie 48
4.3.11. Opzioni utente 49
4.3.12. Opzioni di censura 49
4.3.13. Opzioni del servizio WebMail 50
4.4. Gestione dei blocchi 52
4.5. Blocchi 54
4.6. Gestione dei file scaricabili o “download” 56
4.7. Edit amministratori 58
4.8. Edit utenti 59
4.9. Enciclopedia 60
4.10. Eventi Storici 61
4.11. FAQ 62
4.12. Fori 63
4.13. HTTP Referers 63
4.14. Messaggi 63
4.15. Moduli 64
4.16. Newsletter 64
4.17. Optimize DB 64
4.18. Recensioni 65
4.19. Sezioni 66
4.20. Sondaggio 66
4.21. Manager argomenti 66
4.21.1. Aggiungere un argomento 67
4.21.2. Cancellazione di un argomento 67
4.22. Gestione dei collegamenti o “Web Links” 68

5. PHP-Nuke in profondità 70
5.1. SQL per principianti 70
5.2. Installazione dei moduli 70
5.3. Installazione e creazione di temi grafici 72
5.4. Salvataggio dei dati (backup) 72
5.5. Aggiornamenti 72
5.6. Considerazioni sulla sicurezza 73

6. Bibliografia 74

7. Appendici 75
7.0.1. Domande di verifica 75
7.0.2. Cloni di PHP ed altri siti interessanti 75
7.0.3. Glossario 75

- Licenza della traduzione (sezione “Gnu Free Documentation Licence”) 77


- Brevi note del traduttore 84

4
Capitolo 1

Introduzione

Le Tecnologie informatiche hanno avuto ed hanno un grande impatto nella società attuale. Una
delle aree dove tale impatto dovrebbe essere maggiore è nel settore educativo. Tuttavia non è così.
L'obbiettivo di questo corso è di mostrare uno strumento di uso generale che promuova l'uso di
Internet in ambito educativo. Questo strumento è PHP-Nuke. PHP-Nuke è, a detta del suo autore,
un sistema per la creazione di portali, l'ideale per ottenere in poche mosse il proprio portale senza la
necessità di saper programmare. L'amministratore (tu) installa PHP-Nuke nel server e gestisce il
portale per mezzo del navigatore di qualsiasi PC connesso ad internet, mantiene il controllo totale
del sito potendo ricevere/modificare/cancellare notizie (news), creare directory in stile Yahoo!,
creare documenti per la lettura, ecc... Potrà poi aggiungergli diversi moduli molto utili secondo le
proprie necessità e visualizzarlo a proprio piacere utilizzando temi differenti. Per conoscerlo meglio
può ricorrere a http://phpnuke.it e vedere tutte le sue possibilità, come utente registrato conoscerà
alcune delle funzioni che offre ai visitatori che si registrano e visitano il (tuo) sito abitualmente
(anche loro possono personalizzare a piacimento il sito).
La pagina web dove si trova ubicato il progetto PHP-Nuke in lingua italiana è
http://www.phpnuke.it. Lì si può trovare il programma, un forum su PHP-Nuke, contributi di altri
autori, moduli nuovi, consigli per principianti e, in genere, molte informazioni circa il tema della
creazione di portali e siti internet utilizzando PHP-Nuke.
Il corso pratico è diviso in tre parti fondamentali: come amministrare un forum già installato con
alcuni consigli sul suo impiego e idee circa il coinvolgimento della comunità; una parte tecnica
dove si parla del linguaggio HTML e della creazione di elementari pagine web ed infine come
installare e modificare le funzionalità di PHP-Nuke.
Queste note riguardano la versione 6.0 di PHP-Nuke (le immagini in italiano sono tratte dalla
versione 6.5 – ndt).

5
Capitolo 2

Amministrazione di un foro di discussione

Una pagina web con PHP-Nuke installato è composto dalle parti seguenti:

• Testata

• Barra sinistra di navigazione

• Barra destra di navigazione

• Blocco centrale

• Piè di pagina

Tutte queste parti sono modificabili a capriccio dell'amministratore. In PHP-Nuke si gestiscono


sezioni e temi che sono le due grandi divisioni del contenuto di una pagina utilizzante questo
software.
Nelle barre sinistra e destra si trovano vari blocchi. Tali blocchi contengono riferimenti al resto
della pagina e, possibilmente ad altri siti internet. Il contenuto dei blocchi può essere trasformato
secondo le necessità del sito.
La testata e i piè di pagina sono i primi che vanno modificati per dare personalità al nostro sito.
Più avanti vedremo come fare questi cambiamenti.
Il blocco centrale è dove verranno collocate le notizie più “fresche” e gli avvisi. Gli avvisi
consentono di mostrare, in un posto evidente, un messaggio dell'amministratore. Può trattarsi di
un'introduzione al contenuto del sito, una giustificazione della sua esistenza, una ragione d'essere o
semplicemente una nota amministrativa. Possono esserci vari avvisi diretti alle seguenti categorie:
per tutti i visitatori, per gli utenti anonimi, per quelli registrati o per gli amministratori. PHP-Nuke
si prenderà cura di mostrare il messaggio al pubblico selezionato.
Pubblicare un messaggio è una prerogativa speciale dell'amministratore: gli utenti non lo
possono fare da soli e senza autorizzazione.
Le notizie che vanno collocate sotto gli avvisi, sono le note che giorno per giorno vengono
pubblicate nella pagina.
Le sezioni consentono di scrivere note che non appaiono nella home del sito e che sono destinate
ad un pubblico specializzato su un certo tema. Tale pubblico potrà sapere che esistono queste note e
che non vengono pubblicate nella pagina principale perché stanno in una sezione speciale. E'
possibile creare tante sezioni quante si desiderano.
Gli argomenti sono, come sta ad indicare il loro nome, una classificazione del tipo di contenuto
che viene mostrato. Come le sezioni, la loro funzione è di distinguere gli articoli pubblicati
mediante una classificazione arbitraria. Gli argomenti sono aggiornabili e indipendenti dalle
sezioni, e ciò impone di decidere in che sezione collocare ogni articolo ed, eventualmente,

6
utilizzando un argomento, il quale ha come fondamentale vantaggio che è distinguibile da un altro
argomento tramite la visualizzazione di un'immagine che viene rappresentata che appare nella
pagina principale e durante la lettura dell'articolo. Ciò vivacizza una pagina di notizie. In versioni
precedenti, PHP-Nuke presentava vari argomenti predefiniti di interesse per la comunità del
software libero, mentre in questa versione (6.0 -ndt-) è necessario creare i disegni in modo tale che
si possa mantenere un impatto visivo del sito conforme ai nostri scopi.
Esistono altri tipi di contenuti in PHP-Nuke, però sono meno importanti, per esempio i
cosiddetti weblink o collegamenti che consentono di tenere una raccolta di richiami ad altri siti. In
questo tipo di contenuto, l'utente può suggerire un collegamento ad altro sito e si compilerà così un
elenco di siti costruito poco a poco dagli utenti stessi e dall'amministratore. Si possono anche
realizzare enciclopedie, eventi storici ricorrenti, recensioni, download , liste di domande frequenti
(cd. FAQ) e sondaggi.
Riassumendo, con PHP-Nuke si hanno i seguenti tipi di contenuti:

• Articoli

• Contenuti

• Download

• Enciclopedie

• Eventi storici

• Liste delle domande frequenti (FAQ)

• Forum

• Messaggi

• Recensioni

• Sondaggi

• Collegamenti

E' possibile realizzare altri tipi di contenuto ma, per questo, è necessario modificare la struttura
del PHP-Nuke, argomento che sorpassa la portata di questa officina.

2.2. Il processo di creazione degli articoli


In PHP-Nuke esistono due modi per pubblicare articoli: il primo è dato dall'editore, meglio noto
come amministratore, che scrive un testo che poi pubblicherà direttamente nella pagina principale.
Il secondo modo, che è più interessante, consiste nell'utente registrato che scrive un testo e poi,
dopo che l'amministratore lo ha letto e modificato, se ritiene opportuno lo approva per la

7
pubblicazione.

2.3. Il punto di vista dell'utente

2.3.1. Registrazione dell'utente

L'utente che intende collaborare con un testo deve, per principio, registrarsi nel sistema. Per far
ciò deve selezionare nel riquadro (box) “Ingresso” o “Login” il collegamento che dice “create an
account”, “creare un account” o qualcosa di simile. Lì dovrà riempire un questionario molto
semplice in cui andranno scritti alcuni dati fondamentali come l'indirizzo elettronico. Una volta
terminato il formulario, l'utente riceverà la sua password all'indirizzo di posta elettronica da lui
indicato in fase di registrazione.

8
Infine l'utente dovrà scrivere il suo nome utente e la sua password nel riquadro di “Login” per
entrare nel sistema e poter così collaborare con un articolo.

2.3.2. Selezione della lingua dell'interfaccia

Una volta entrato nel sistema, è buona cosa cambiare la lingua impostandola ad “Italian”. Si può
anche modificare l'aspetto della pagina web selezionando un tema grafico distinto e alcune altre
cose.

2.3.3. Scrivere un articolo

Dopo essersi registrato, l'utente può collaborare con un articolo. Per fare ciò deve scegliere
l'opzione “Invia News” che si trova nel menù principale.

Il formulario per inviare l'articolo ha poche opzioni:

• Titolo

• Argomento

• Testo

• Testo esteso

• Bottoni di anteprima, di invio e di tipo di testo

9
L'argomento consente di collocare l'articolo nella tematica del foro. L'amministratore è colui che
decide quali argomenti interessano la comunità. Il “Testo” deve contenere l'articolo stesso: tuttavia,
se questo è molto lungo, è conveniente porre il paragrafo iniziale nel ”Testo” e la continuazione nel
riquadro “Testo Esteso” in modo da migliorarne la leggibilità. L'utente, finalmente, può visualizzare
come va il suo articolo prima di inviarlo grazie al tasto “Anteprima”. Quando sarà sicuro del
risultato, lo potrà inviare con il bottone “Accetto”. L'ultimo tasto consente di specificare che tipo di
testo si andrà ad inviare: testo “piatto”, HTML formattato o Extrans (html tags sul testo).

2.4. Il punto di vista dell'amministratore


L'amministratore, o editore, come anticipato, è il responsabile di tutti i contenuti del sito PHP-
Nuke. E' infatti colui che rivede gli articoli inviati dagli utenti e che ne pubblica di propri. Può
altresì pubblicare i messaggi che appaiono nella pagina principale. Per accedere alla modalità di
amministrazione è necessario scrivere il seguente indirizzo http://nomedelsito/admin.php.
Raggiunta la pagina, PHP-Nuke chiederà l'ID dell'amministratore e la sua password: la prima volta
che questo programma viene utilizzato andrà perciò creato un account di amministratore.

Il procedimento per aggiungere un account di amministratore è il seguente: per prima cosa è


necessario entrare nella pagina principale. Lì un messaggio iniziale permette di creare il detto
account. Tale messaggio avverte “Per motivi di sicurezza, la soluzione migliore è di creare
immediatamente un Super Utente facendo click QUI” (“For security reasons the best idea is to
create the Super User right NOW by clicking HERE” - ndt). Dopo di che, seguendo questa
istruzione, si ottiene la seguente schermata:
In questo esempio, l'amministratore si chiama “Negrabarba”, la sua pagina web è http:/localhost,
l'indirizzo elettronico [email protected], la password “segreto”. Alla richiesta se creare un
utente comune con gli stessi dati, conviene rispondere positivamente. Tale utente consente
all'amministratore di inviare scritti affinché altri amministratori possano editarli e di avere perciò
una forma conveniente di edizione degli articoli nei siti ritenuti più opportuni.
Infine ci ritroviamo già un account di amministratore plenipotenziario. Conservate con
attenzione questo account che permette di modificare completamente il sito.
Successivamente viene mostrata la schermata di entrata dell'amministratore, dove viene richiesta
di Admin ID e di password, Inserite i dati che avete fornito nel passo precedente: nel caso di specie

10
“Negrabarba” e “segreto”.
Da lì si passerà alla pagina di amministrazione.

2.4.1. La pagina dell'amministratore

Una volta giunti nel sistema, si ottengono le seguenti opzioni (in questo caso mi riferirò alla
versione in italiano):

• Menù Amministrazione. E' il menù principale da dove si possono vedere le ultime news
pubblicate.

• Aggiungi Articolo. Con tale opzione si scrive un nuovo articolo

• Backup DB. Genera una copia di backup del database di PHP-Nuke. Utilizzatela
frequentemente.

• Banners. Questa opzione è pensata per chi gestisce un sito finanziato tramite annunci
pubblicitari e rappresenta il residuo della moderna chimera dell'oro, conosciuta un tempo
come il crack delle punto com, che ha causato gran parte della attuale crisi.

• Blocchi. Consente di modificare i blocchi che appaiono a sinistra e a destra della pagina
principale.

• Contenuto. Permette di inserire pagine di contenuto in forma arbitraria. Si può verificare


se si ha accesso al modulo “Contenuti”.

• Download. Qui si collocano i file che gli utenti possono scaricare nei propri computer.

11
• Edit Amministratori. Gestisce l'aggiunta e l'eliminazione di amministratori e la modifica
delle loro opzioni.

• Edit Utenti. Permette di assegnare privilegi alti o bassi agli utenti e di modificarne le
opzioni.

• Enciclopedia. E' il luogo dove si creano le enciclopedie, elenchi di termini ordinati


alfabeticamente.

• Eventi Storici. E' il posto dove creare un evento ricorrente per ciascun giorno importante
del forum sul quale stiamo lavorando.

• FAQ. Qui si riportano le domande più frequenti relative al forum.

• Forums. Consente di creare forum di discussione su qualsiasi argomento.

• HTTP Referers. Se un sito ha un riferimento al nostro (ndt: cd. link), qui verrà registrato.

• Messaggi. E' il luogo dove vengono collocati gli annunci che vengono pubblicati nella
parte centrale e superiore del sito, e dove su può descrivere il tema del sito ed a chi è
destinato.

• Moduli. Questa opzione gestisce i moduli di PHP-Nuke.

• Newsletter. Invia per posta un messaggio informativo a tutti gli utenti registrati di PHP-
Nuke.

• Optimize DB. Ottimizza il database di PHP-Nuke. Questa opzione va utilizzata quando il


sistema è molto lento.

• Recensioni. E' il posto dove si creano le pagine delle recensioni. Le recensioni possono
essere di gruppo, di programmi, film o qualsiasi altra cosa che si desidera.

• Manager Sezioni. Qui su creano nuove sezioni di iteresse per il forum.

• Preferenze. E' il posto dove si configura il sito PHP-Nuke.

• Articoli. Qui si rivedono i testi inviati dagli utenti registrati.

• Sondaggio. Il luogo dove si gestiscono le inchieste che vedranno i visitatori.

• Argomenti. Consente di aggiungere od eliminare un argomento di discussione.

• Web Links. I collegamenti ad altri siti si amministrano da qui.

12
• Logout/Exit. Uscita dal sistema. Si può impiegare per cambiare l'account di utente: ad
esempio, se si entra come amministratore ed invece si intende diventare un utente normale,
si deve utilizzare questa opzione.

Come si può osservare sono molte le opzioni a disposizione dell'amministratore. Vedremo in


dettaglio le più importanti, soprattutto quelle destinate al processo di edizione.

2.4.2. Aggiungere un nuovo editore/amministratore

Gli editori sono gli incaricati di rivedere e pubblicare gli articoli. Per aggiungerne uno è
sufficiente accedere all'opzione “Edit Amministratori”. Dopo il messaggio “Amministrazione
Autori” appare una prima sezione dove si posson modificare le informazioni relative agli
amministratori. Lasciamo perdere per ora questa parte ed andiamo alla creazione di un nuovo
amministratore, le cui opzioni sono qui sotto esattamente riportate:

Il primo dato richiesto dal sistema è il nome dell'amministratore, che non potrà essere poi
cambiato in quanto, costituendo la chiave del campo delle collaborazioni, la sua modifica potrebbe
intaccare l'integrità del sistema. Il dato seguente è il nickname (soprannome) dell'amministratore ed
è quello che apparirà nel sistema. Se non si desidera utilizzare un soprannome, è sufficiente scrivere
lo stesso nome indicato nella precedente richiesta. L'account di indirizzo elettronico è un altro dato
indispensabile. Eventualmente, se l'amministratore ha una pagina web, questa può essere indicata
nella casella URL.
La parte dei permessi è più complicata. Che diritti attribuire all'amministratore?
Fondamentalmente i diritti sono divisi in capacità di modificare gli articoli, argomenti, utenti,
sondaggi, sezioni, web link, eventi storici, FAQ, download, recensioni, newsletter, forum,
contenuto ed enciclopedia. Infine si posso concedere tutti i diritti di account dell'amministratore se
selezioniamo “Super User”. E' possibile che un amministratore abbia uno o più compiti a seconda
della quantità di caselle marcate. L'unica che non conviene combinare con le altre è “Super User”
perché, avendo tutti i diritti, non ha senso aggiungere un'altra opzione.
Infine si scrive la password che utilizzerà l'amministratore per accedere al sistema e si invia con
il bottone “Aggiungi Autore”.

13
2.4.3. Revisione degli articoli inviati dagli utenti

Continuando con la logica seguita nella parte precedente, vedremo in che modo l'amministratore
revisiona e pubblica un articolo inviato da qualcuno. Per far ciò l'amministratore deve accedere alla
voce “Articoli” in modo che gli appariranno tutti gli articoli inviate dagli utenti: a questo punto
potrà modificarli o cancellarli a seconda della loro rilevanza nella comunità virtuale che si vuole
creare.

Se l'amministratore decide di pubblicare l'articolo, basta che lo selezioni con il mouse. Nella
pagina di inserzione dell'articolo si può inviare all'utente un indirizzo o un messaggio elettronico
attraverso PHP-Nuke. Ciò può risultare utile in caso ci siano dei dubbi sul materiale da pubblicare
o si desideri ampliare il testo.
Durante la gestione dell'articolo, è possibile modificare il nome dell'autore, il titolo e l'articolo
stesso. Altresì si può cambiare la “categoria” in modo da evitare che l'articolo appaia nella pagina
principale. Per questa ragione si rende necessario predisporre una nuova categoria e ciò si può fare
mentre si sta controllando una collaborazione selezionando la opzione “Aggiungi” che sta giusto
davanti alle categorie. In seguito si riceverà una richiesta che dice: “Pubblica in home page?”. Tale
domanda dipende dalla categoria. Selezionando “No”, cesserà di apparire nella pagina principale, a
condizione che non appartenga alla categoria “Articoli”.
La domanda successiva recita “Attivare i commenti per questo articolo?”. ciò serve per
consentire, o meno, agli utenti di commentare l'articolo. Per creare un foro di discussione su un
articolo bisogna rispondere “Si”.
Poi si può controllare il “Testo” che è quello che appare di primo acchito. Rappresenta il
contenuto dell'articolo. Il testo per esteso si impiega se l'articolo è molto lungo e richiede più spazio
di un paragrafo.
Le note permettono all'editore di fare commenti sulla collaborazione prestata dall'utente.
Eventualmente possono essere impiegate per moderare le opinioni del collaboratore o per dare un
taglio “editoriale” nel rispetto della collaborazione.
E' possibile programmare l'articolo decidendo di non pubblicarlo immediatamente ma solo dopo
un certo orario o giorno. Ciò è utile quando si prepara un annuncio speciale che deve essere
pubblicato a partire da un certo momento.
Infine si può selezionare tra le opzioni “Anteprima Articolo”, per vedere come l'articolo apparirà
pubblicato, “Cancella Articolo”, per cancellarlo e “Invia Articolo” per la pubblicazione immediata
o secondo il calendario di programmazione prima descritto.
C'è dell'altro. Ad ogni collaborazione può essere associata un'inchiesta. Cioè si può promuovere
eventualmente una votazione sul contenuto dell'articolo o sull'argomento da esso trattato. Per

14
attivarla è molto semplice: basta formulare la domanda e fino a dodici risposte possibili.

2.4.4. Come scrivere un articolo

Nello stesso modo in cui un utente può scrivere un articolo, così l'amministratore può accedere al
modulo di “Nuovo Articolo”, dove verranno riproposte le medesime opzioni riscontrate
revisionando l'articolo di un utente comune. La differenza fondamentale è che l'editore pubblica
immediatamente il testo senza la necessità di alcuna approvazione. Tale facoltà deve essere
utilizzata con molta prudenza poiché l'immediatezza della pubblicazione comporta lo svantaggio
della mancanza di riflessione. Dal punto di vista tecnico non c'è molto da fare, tuttavia è possibile
costituire un “comitato editoriale” che discuta sugli argomenti da pubblicare e che l'editore si
astenga dall'avvalersi da detta facoltà nel pubblicare testi. Se, perciò, l'editore scriverà un articolo,
dovrà accedere al sistema come normale utente e sottoporlo all'anzidetto comitato editoriale di cui,
eventualmente, farà anche parte, nel modo visto nella sezione 2.4 alla pagina 10.

2.4.5. La creazione della comunità virtuale

Una volta abilitato il foro, è necessario farlo conoscere a tutti i partecipanti della comunità
virtuale. Alle volte ci sono comunità che crescono da sole grazie all'interesse comune verso un
argomento specifico, altre volte invece ci sono quelle che sono forzate, come possono esserlo i corsi
virtuali necessari per essere promossi in una materia.
Per invitare un nuovo partecipante nel foro, basta inviargli l'indirizzo internet di dove è collocata
la pagina web. Per esempio, nel nostro caso, la pagina web di questo corso si trova in
http://curso.ajusco.upn.mx (per il testo originale - ndt).
Il procedimento per l'iscrizione è semplice però si richiede che l'utente abbia un indirizzo di
posta elettronica: se costui non ce l'ha, non è un problema, diciamogli di sottoscrivere un account
presso http://mail.yahoo.com che ha un eccellente servizio e un ottimo trattamento, sebbene ci sarà
chi preferirà http://www.hotmail.com, http://www.starmedia.com o qualcun altro sito meno
conosciuto. E' qualcosa che l'utente dovrà scegliere liberamente e da solo. Una volta attivato un
account di posta, dovrà registrarsi nella casella che dice “Login” e da lì selezionare il collegamento
che dice “Crealo Qui!”. Terminato di riempire il formulario, l'utente riceverà tramite e-mail la sua
password.
Un utente con account della nostra comunità virtuale ha il permesso di collaborare con uno
scritto o di partecipare ad un foro. Inoltre può modificare l'aspetto visivo della pagina web,
selezionando un tema, e di effettuare piccoli cambiamenti nel suo account, come cambiare la sua
password o l'indirizzo della sua pagina web.
Mantenere una comunità virtuale è un lavoro impegnativo dal momento che richiede uno
scrupoloso contatto con ciascuno dei suoi membri: ascoltiamo i loro problemi ed agiamo di
conseguenza. Una comunità virtuale insoddisfatta di disperde alla prima difficoltà. E' per tale
ragione che l'amministratore deve guidare i commenti giunti nel foro e, se lo ritiene opportuno, deve
moderare quelli che possono mandare a monte o danneggiare la comunità stessa.
Qui di seguito si elencano alcuni consigli di carattere generale che possono contribuire a creare e
a mantenere una comunità virtuale.

15
• Quando si intende dare inizio alla comunità virtuale, è conveniente far partecipare un gruppo
di persone che condividano un interesse comune e rendere manifesti obbiettivi, scopi e
importanza del gruppo.

• Offrire materiali di richiamo per la comunità (software, documenti, grafici, musica e qualsiasi
altro che sia pertinente a quel nucleo associativo).

• Moderare le polemiche che possono spaccare la comunità.

• Proporre un complesso di regole di comportamento.

• Dare una risposta rapida ai contributi che arrivano agli editori: così se si tratta di risposta
negativa, dovremo trattare con tatto l'utente contributore.

• Sostenere la sensazione di appartenenza ad una comunità.

2.4.6. Configurazione iniziale

Una volta presa la decisione di utilizzare PHP-Nuke per creare un foro, le prime cose da fare
sono spiegare il perché del foro e selezionare la rappresentazione visiva della nostra comunità. Può
essere conveniente includere le immagini che identificano la nostra istituzione o il nostro gruppo di
lavoro.
Redatta la spiegazione dell'esistenza del foro, è molto semplice posizionarla nella pagina
principale. Scegliamo la voce “Messaggi” e lì apparirà un messaggio iniziale il cui titolo è “New
ML message system”, cancelliamolo con il collegamento che dice “cancella” e creiamo un nuovo
messaggio con la spiegazione dell'esistenza del foro. Tale messaggio può esser scritto in HTML e
contenere qualche immagine, se lo vogliamo. Nella prossima parte vedremo come far ciò; per ora ci
limiteremo a scrivere un semplice testo. Per esempio:

Questo è un foro dedicato alla discussione su argomenti attinenti all'uso di PHP-


Nuke per la creazione di fori, notiziari e conversazioni via internet come strumento per
l'educazione a distanza e la integrazione delle comunità virtuali.

Siccome si tratta della presentazione del foro, è possibile selezionare l'opzione “Illimitato” alla
voce “Scadenza”, in modo che questo messaggio apparirà sempre nella pagina principale del nostro
foro.
L'altra configurazione indispensabile si ha attraverso l'opzione “Preferenze”. Le scelte
disponibili sono le seguenti:

• Info Generali Sito

• Nome Sito

• URL Sito

• Logo

16
• Slogan

• Data Inizio Sito

• Email Amministratore

• Articoli in Top Page

• Articoli in Home

• Articoli nel Box Articoli Vecchi

• Attivare Ultramode

• Abilita Anonimi a Postare

• Tema di Default

• Seleziona la Lingua

• Formato Ora Locale

• Opzioni Multilingua

• Attivare le caratteristiche multilingua?

• Mostrare le bandierine al posto della lista?

• Opzioni Banners

• Attivare Banners

• Messaggi Piè Pagina

• Piè Pagina Linea 1

• Piè Pagina Linea 2

• Piè Pagina Linea 3

• Backend Configurazione

• Backend Titolo

• Backend Linguaggio

• Notifica Nuovi Articoli all'Amministratore

• Notificare nuovi inserimenti via email?

17
• Email a cui inviare il messaggio

• Soggetto Email

• Messaggio Email

• Email Account (Da)

• Moderazione commenti

• Tipo di Moderazione

• Opzioni Commenti

• Limite Commenti in Bytes

• Nome di Default Utente Anonimo

• Opzioni Grafica

• Menu Grafico in Amministrazione?

• Opzioni Varie

• Attivare Referenti HTTP?

• Quanti Referers vuoi al Massimo?

• Attivare Commenti in Sondaggi?

• Attivare i commenti negli articoli?

• Opzioni Utente

• Lunghezza Minima password Utenti?

• Attivare i messaggi in Broadcast?

• Attivare Headlines Reader?

• Permetti agli utenti di cambiare il numero di News in Home?

• Opzioni di censura

• Modalità Censura

• Sostituisci le parole censurate con

• Opzioni del servizio WebMail

18
• Messaggio a piè di pagina in tutte le e-mail inviate

• Permetti ai tuoi utenti di inviare e-mail?

• Permetti ai tuoi utenti di inviare allegati?

• Directory temporanea degli allegati

• permetti agli utenti di vedere/leggere gli allegati?

• Directory temporanea degli allegati ricevuti

• Max. numero di accounts

• Questo servizio è basato in un singolo account?

• Nome di default dell'Account singolo

• Default POP3 Mail Server

• Path di default delle immagini mailbox

• Filtrare gli header nel forward

• Salva Modifiche

Di tutte queste opzioni, per il momento le modificheremo una ad una per vedere il
comportamento di PHP-Nuke. Ne abbiamo alcune che sono ad effetto immediato come, per
esempio, il “Nome Sito”, in cui scriveremo semplicemente “Appunti del corso di creazione di
forum, notiziari e conversazioni con PHP-Nuke”. Altre, come “URL Sito” possono sembrare più
misteriose. In particolare l'URL del sito è, per esempio, http://www.nomesito.com e rappresenta
l'indirizzo internet del sito PHP-Nuke che stiamo amministrando. Non toccheremo per ora
l'opzione Logo del sito, posto che non sappiamo ancora come inserire un file grafico in PHP-Nuke.
“Slogan” potrebbe essere “Creare comunità virtuali per l'educazione”, “Educare per trasformare” o
“Voto effettivo, no rielezione”. La “Data Inizio Sito” serve unicamente come riferimento, cosicché,
per esempio, potremmo scrivere “Novembre 2001”. La “Email Amministratore” è molto importante
essendo il mezzo tramite cui vengono segnalati lagnanze, errori o difetti che riguardano il sito. In
questo caso può essere del tipo “[email protected]”.
Abbiamo invece altre opzioni meno immediate che, per ora, ignoreremo semplicemente.
Passiamo allora alla opzione “Abilita Anonimi a Postare?”: questa chiede di scegliere se qualunque
visitatore, anche non registrato, possa inviare un articolo al nostro foro. Tale invio non verrà
pubblicato senza il consenso dell'amministratore. Detta opzione risulta utile quando è richiesto un
foro più aperto possibile poiché permette l'anonimato dei collaboratori.
Il tema di default consente di modificare l'aspetto del foro e per ora lo lasceremo invariato. La
lingua del sito è buona idea che sia l'italiano. Il formato del tempo locale deve essere impostato
“it_IT” per l'Italia. Adesso le “Opzioni Multilingua” le lasceremo disattivate, però in futuro, sarà
possibile attivarle e, con qualche difficoltà, potremo aggiungere altre lingue come il Tzotzil, il
Maya o il Nahuatl (ndt.: così nel testo originale): il problema sarà scrivere le traduzioni dei

19
messaggi in tali lingue. Per ora infatti esistono le traduzioni del PHP-Nuke nelle lingue europee, in
arabo e in alcuni idiomi orientali.
I banners vengono impiegati nei siti commerciali e per adesso ignoreremo completamente questa
parte.
I messaggi a piè di pagina servono per fornire informazioni generali su sito. Personalmente la
prima cosa da fare è cancellare quelle preimpostate in un PHP-Nuke appena installato poiché non
vedo grande utilità nel pubblicizzare il sistema con cui stato costruito il foro.
Il backend è un'opzione avanzata che vedremo nella sezione 4.3.5 e serve per scambiare
informazioni con altri siti.
Anche le opzioni di default per i weblink o collegamenti ipertestuali verranno commentate più
avanti nella sezione 4.22.
L'invio di articoli all'amministratore è molto importante. L'opzione di notificare via e-mail i
nuovi articoli serve ad avvisare immediatamente, tramite la posta elettronica, il gestore di un foro
se c'è una nuova collaborazione in attesa. Ciò snellisce la pubblicazione degli articoli perché le
persone consultano anche più volte al giorno il proprio indirizzo di posta, ma non possono certo
controllare ogni cinque minuti se è arrivata una nuova collaborazione. L'Email a cui inviare il
messaggio è l'indirizzo dell'amministratore o editore a cui giungerà l'avviso di arrivo di una nuova
collaborazione. Il “Soggetto Email” ci consente di selezionare l'oggetto del messaggio che si
riceverà, il Messaggio Email è il contenuto e l'Email Account è il nome dell'utente da cui si invia
l'email, per esempio, “Il fantasma del foro” potrebbe essere un buon mittente.
La moderazione dei commenti è un argomento molto interessante. Se il foro è aperto e consente
la partecipazione agli utenti anonimi, si presta a qualche abuso da parte di questi. Pochi, che si
dedichino ad insultare tutti gli altri, possono causare gravi danni alla coesione interna del gruppo.
Perciò è necessario attivare la moderazione dentro un foro se si permette l'accesso ad utenti anonimi
o se non si ha completa fiducia nei partecipanti.
Con le Opzioni Commenti si può limitare la dimensione dei commenti a 4096 byte che
corrisponde più o meno ad una cartella dattiloscritta: ogni byte, per chiarezza, è una lettera, uno
spazio o qualsiasi altro simbolo. Il “Nome di Default Utente Anonimo” è il modo in cui si
presenteranno gli utenti non registrati che partecipano ad una discussione. “Anonimo” è una buona
idea, però possiamo usare nomi più divertenti come “Franco tiratore”, “Uomo senza volto”, “Ombra
del capo” o qualsiasi altro che ci suggerisce la fantasia.
L'opzione “Menu Grafico in Amministrazione” rende più gradevole la gestione del PHP-Nuke
presentando in modalità grafica le possibilità dell'amministratore.
In quanto alle opzioni varie, il numero di articoli in amministrazione dipende dal gusto
dell'editore e dalla quantità di articoli pubblicati nel foro. Sono i testi che sono visibili
all'amministratore. La lunghezza minima delle password di utente aiuta ad evitare quelle ovvie
come “A”, “1” che sono fonte di problemi di sicurezza. Cinque è un buon numero, ma se sarà
maggiore, maggiori sarà pure la scomodità per gli utenti.
L'attivazione dei commenti nei sondaggi e negli articoli sono una questione di scelta personale
dell'amministratore: attivateli se li considerate necessari.
Infine, affinché il sistema accetti le modifiche, dovremo premere il pulsante “Salva Modifiche”.
Con ciò abbiamo già una buona panoramica sulle possibilità di PHP-Nuke però è necessario
apprendere a maneggiare meglio alcuni aspetti tecnici della costruzione delle pagine web per
ottenere maggior profitto dalle capacità di questo sistema. Perciò , di seguito presentiamo il capitolo
dedicato a come creare pagine web, intitolato “Scrittura con HTML”. Con tali basi, utilizzeremo
meglio PHP-Nuke.

20
Capitolo 3

Scrivere con HTML

3.1. Cos'è HTML?


HTML significa, nella sigla in inglese, Linguaggio di Marcatura per Ipertesti (HyperText
Markup Language – ndt.). E si tratta di una forma molto semplificata per comunicare ad un
computer come rappresentare un testo. Per esempio, se desideriamo scrivere una frase in corsivo,
basta scrivere <I> Questa frase è in corsivo </I> e questa apparirà così.
In generale i marcatori (tag) HTML seguono questa forma:

<NOME_DEL_MARCATORE PROPRIETA' ...>

Per terminare un marcatore, si scrive semplicemente:

</NOME_DEL_MARCATORE>

Chiudendo un marcatore, non è necessario ripetere le proprietà già indicate precedentemente.


C'è' inoltre un altro tipo di codici utilizzati in HTML, che sono chiamati metacaratteri. Ad
esempio, per scrivere una a accentata, si può scrivere &aacute oppure direttamente la lettera à.
Generalmente conviene scrivere gli accenti con questa simbologia giacché in altri sistemi, come in
MS-DOS o Macintosh, gli accenti scritti in maniera diretta si vedono in modo sbagliato. Ciò è
dovuto ad internet che utilizza quali font quelli previsti dalla norma ISO-8859-1 e, cioè, i caratteri
dell'alfabeto latino occidentale. In MS-DOS è stata creata invece una propria norma che non
coincide con questo standard e qualcosa di simile è accaduto con Macintosh. Cosicché se si scrive
un accento direttamente in MS-DOS è probabile che non coincida con l'accento utilizzato nei
caratteri ISO-8859-1. Tuttavia, utilizzando un qualsiasi editor in Linux o Windows, gli accenti si
codificheranno secondo questa norma e, in genere, funzioneranno correttamente.
I metacaratteri seguono la seguente struttura:

&nome_del_metacarattere;

Il simbolo “&” o ampersand come è noto in inglese (e commerciale in italiano), il nome del
metacarattere e il punto e virgola “;” per terminare la segnalazione che è stato inserito un carattere
speciale.
Finora abbiamo parlato di com'è la struttura dei simboli. D'ora in poi si parlerà dell'ordine che
devono seguire. Per iniziare qualsiasi pagina di Internet conviene scrivere ciò che segue:

<HTML>

21
<HEAD>
<TITLE>Titolo della pagina</TITLE>
</HEAD>
<BODY>

... Qui va inserito il contenuto della pagina ...

</BODY>
</HTML>

Come si può osservare, per ciascun marcatore di apertura, si deve utilizzarne uno corrispondente
per indicare la chiusura.

3.2. Primi passi (grassetto, corsivo, sottolineato)


Una delle prime cose da fare per confezionare un testo è sapere come scrivere in grassetto,
corsivo e altri semplici attributi delle lettere.
Per esempio, per scrivere <B>Questo testo è in grassetto</B> bisogna racchiudere il testo che
si vuole in grassetto entro i simboli <B> e </B>. Il grassetto in inglese si chiama bold, da qui
l'abbreviazione <B>. Nel caso del corsivo, chiamato dagli anglofoni italics, va scritto nella seguente
maniera: <I>testo in corsivo</I>. Qui di seguito riportiamo gli attributi per manipolare un semplice
testo:

<B> Grassetto
<EM> Enfasi
<I> Corsivo
<U> Sottolineato
<TT> Carattere macchina da scrivere (Courier)

Ricordate che, per terminare l'uso di ciascuno di questi si deve chiudere con </marcatore>.

3.3. Come costruire una semplice pagina web


Per creare una pagina web in Windows, si può aprire il Notepad con i bottoni “Start”,
“Programmi”, “Accessori” e “Notepad”. Una volta che è apparso il notepad, si scrive il testo del
seguente esercizio e, una volta finito, si seleziona il menù “File”, “Salva come” e si scrive
prova.html che è il nome della pagina web appena creata.
Per vedere i risultati basta semplicemente premere due volte il bottone destro del mouse sopra il

22
documento appena creato che molto probabilmente si trova nella cartella “Documenti”.

Esercizio: la mia prima pagina web

Scrivi una breve lettera come la seguente:

Cara nonnina:
Ti scrive il tuo nipote
<B>Giovanni</B>,
il figlio di Emilio, per dirti che
intendo frequentare un'Università
meravigliosa, l'Università Nazionale di
Pedagogia. E' un posto formidabile ai
piedi dell'Ajusco.
Per questo tutto l'anno il posto è
fresco.
Tuo nipote che ti vuol bene.
Giovanni

Osservate che la parola “Giovanni” appare in grassetto


dato che l'abbiamo indicato al navigatore (browser) che ha
così provveduto utilizzando i marcatori <B> e </B>. Si
noterà tuttavia che, quantunque sia stato lasciato spazio
sufficiente tra le righe, il navigatore mostrerà tutto il testo
su una sola linea. Questo dipende dal navigatore che
necessita di certi comandi speciali per saltare le righe,
argomento che tratteremo più avanti.

3.4. Struttura gerarchica di HTML


Il testo scritto in Html può avere una struttura gerarchica. Ciò è fattibile utilizzando una serie di
marcatori speciali noti come intestazioni: <H1>, <H2>, <H3>, ..., <H9>. Le intestazioni assegnano
un livello di importanza a ciascun titolo di un documento.
Cosicché, per avere un'intestazione di primo livello basta scrivere:

<H1>Questa è un'intestazione di primo livello</H1>

Nell'esempio seguente si possono notare cambi di dimensioni dipendenti dal livello di


intestazione utilizzato:

Se si scrive: si ottiene

<H1>Questa è un'intestazione di primo livello</H1> Questa è un'intestazione di primo livello


<H2>Questa è un'intestazione di secondo livello</H2> Questa è un'intestazione di secondo livello
...
<H9>Questa è un'intestazione di nono livello</H9> Questa è un'intestazione di nono livello

23
Esercizio: Visione gerarchica

Creare una pagina web dove si mostrano tutti i livelli


gerarchici dall'1 al 9.

3.5. Paragrafi e salti di linea


Un testo assai lungo è troppo noioso da leggere. Per tale motivo servono i paragrafi. In HTML i
paragrafi si separano con i marcatori <P> e </P>. Con questi marcatori, paragrafi vengono separati
gli uni dagli altri. Questo è poi un caso in cui si fare a meno del marcatore di chiusura: basta cioè
scrivere <P> alla fine del paragrafo per ottenere la voluta separazione, senza necessità di
ottemperare alle regole normali.
Per interrompere una linea in un punto preciso prima del termine predefinito della riga, è
necessario l'uso del marcatore di interruzione di riga <BR>. Questo viene solitamente impiegato, ad
esempio, nella scrittura di una poesia:

Il seguente codice HTML... produce tali risultati

<P>
Era un uomo attaccato ad un naso,<BR> Era un uomo attaccato ad un naso,
era un naso superlativo,<BR> era un naso superlativo,
era un naso boia e scriba,<BR> era un naso boia e scriba,
era un pesce spada molto barbuto.</P> era un pesce spada molto barbuto.
<P>Francisco de Quevedo</P> Francisco de Quevedo

Il comando <BR> indica che la riga va spezzata, anche se fa parte di un paragrafo. Anche tale
marcatore non richiede di essere chiuso.

3.5.1. Allineamento di testi e paragrafi

Per centrare un testo è possibile scrivere:

<CENTER>Testo centrato</CENTER>

Ci sono altri sistemi per manipolare il testo che non sempre funzionano: per esempio,

<P ALIGN=”RIGHT”>

allinea un testo a destra e

<P ALIGN=”JUSTIFY”>

24
lo giustifica sui due margini.
Naturalmente

<P ALIGN=”LEFT”>

funziona come si suppone e, cioè, allinea il testo a sinistra. Sfortunatamente questi effetti non
sono visibili in tutti i navigatori.

3.6. Ipertesti e collegamenti


La forza di HTML non sta nella generazione di testi bene o mal formattati bensì la possibilità di
collegare testi a testi, immagini e qualsiasi altro materiale audiovisivo. Tale possibilità è ottenibile
con gli collegamenti ipertestuali (hyperlink).
Per creare un ipervincolo, è necessario scrivere quanto segue:

<A HREF=”altrodocumento.html”>Altro documento</A>

Osservate che l'etichetta <A>, come molte altre di HTML, deve essere chiusa con </A>. La
proprietà più importante di <A> è HREF (Hyperlink Reference o riferimento a collegamento
ipertestuale) che indica dove si trova il documento che si intende raggiungere quando si aziona
questo link. Il contenuto di HREF deve essere un URL (Uniform Resource Locator o Localizzatore
Uniforme di Risorse), cioè che indica un formato speciale. Tale formato speciale è molto semplice
perché si può trattare solo del nome di un file collocato nello stesso computer, come nell'esempio
precedente, o una risorsa localizzata in un punto qualsiasi di internet, se viene indicato il protocollo
di comunicazione che si sta utilizzando, per esempio

<A HREF=”http://www.upn.mx/index.html”>Pagina Web di UPN</A>

indica che il documento sta in un luogo determinato su internet. Questa è la forza di HTML: è
più facile richiamare pagine e altri oggetti dentro o fuori del nostro ambiente. La prima parte, che
dice http, è la abbreviazione di HyperText Transfer Protocol o protocollo di trasferimento di
ipertesti. Ciò indica che si devono utilizzare le risorse di comunicazione esterna del navigatore per
raggiungere il sito e dunque segue il percorso completo fin dove si incontrerà il file che desideriamo
vedere. In questo caso, index.html.

3.6.1. Struttura delle directory e dei vincoli ipertestuali

25
Fin dagli anni sessanta, quand fu inventato il sistema operativo Unix, si scelse una modalità di
guardare l'informazione in maniera strutturata. Il file system che si disegnò a quei tempi si comporta
come una struttura ad albero, cioè come un albero con le sue radici, rami e sottorami. Di fatto, la
prima directory di un file system è conosciuta come “directory radice” (root); i rami invece come
“cartelle”, “folder” o sottodirectory. Questa idea di struttura è sopravvissuta per oltre quarant'anni
ed anche oggigiorno è seguita, come nel seguente esempio, dove si può osservare la figura di un
albero di directory nel sistema operativo Windows.

I vincoli ipertestuali impiegano la stessa struttura delle sottodirectory. Per esempio, se si desidera
aprire un collegamento ad un file nella stessa macchina, ma in un'altra sottodirectory, si può
scrivere

<A HREF=”/directory/sottodirectory/file.html”>File</A>

Ciò tuttavia costituisce un riferimento assoluto perché punta al medesimo server dove si trova la
pagina attuale.
Infine, si possono costruire ipercollegamenti relativi alla sottodirectory da cui si sta puntando ad
altro collegamento:

<A HREF=”sottodirectory2/file2.html”>File 2</A>

Generalmente la struttura di un ipercollegamento o iperlegame è la seguente

<A HREF=URL_puntata>Testo o immagine richiamata dall'ipervincolo</A>

URL significa Uniform Resource Locator, che, in italiano, significa localizzatore uniforme di
risorse e cioè, per chiarire, è il modo per trovare un file in internet. Una URL può essere costituita
da qualsiasi direzione o destinazione valida nel Web.

3.7. Immagini
Per inserire immagini in una pagine web si utilizza l'istruzione

<IMG SRG=”immagine.jpg”>

La parte che si trova tra le virgolette contiene una URL, cioè può essere il nome del file grafico,

26
se sta nella stessa directory della nostra pagina, oppure un riferimento assoluto o relativo ad altra
directory o immagine che si trova in qualche luogo di internet.
Se utilizziamo un'immagine all'interno di un ipercollegamento, si possono ottenere pagine web
molto belle, tuttavia avremo un bordo azzurro tutto attorno all'immagine che, una volta utilizzato
l'ipervincolo, muterà di colore per trasformarsi in un bordo viola. Per evitare tale bordo si può
scrivere la chiamata all'immagine in questo modo

<IMG SRC=”immagine.jpg” BORDER =”0”>

Le immagini sono collocate nella posizione da cui sono richiamate. Se serve porre un'immagine
in un punto preciso, è necessario ricorrere alle funzioni di allineamento già descritte
precedentemente o all'uso delle tabelle che danno un migliore controllo sul posizionamento
all'interno della pagina web.

Esercizio: un collegamento grafico all'Università

Se si vuole porre un logo che porti direttamente alla


pagina web dell'Università, si può digitare il seguente
codice:

<A HREF=”http://www.upn.mx”><IMG
SRC=”http://www.upn.mx/images/upn.gif”
BORDER=”0” WIDTH=”50”></A>

Il navigatore aggiusterà automaticamente la dimensione


verticale. Se si desidera, per qualche motivo, deformare
l'immagine e stabilire un'altezza diversa da quella
automatica, si può impiegare la proprietà HEIGHT.

Una cosa che non è stata detta è che le URL distinguono la differenza tra maiuscole e minuscole,
cosicché bisogna prestare molta attenzione a ciò che si scrive poiché ABC non è uguale a abc.

3.8. Liste
Una struttura molto utile è la lista. In HTML ci sono due tipi di liste: quelle che mostrano un
punto alla sinistra e quelle che numerano gli elementi. Per ottenere una lista puntata si scrive

questo codice che produce tale risultato

<UL>
<LI>Primo elemento o Primo elemento
<LI>Secondo elemento o Secondo elemento
<LI>Terzo elemento o Terzo elemento
<LI>Quarto elemento o Quarto elemento
</UL>

27
Il marcatore </LI> non è obbligatorio e perciò può essere omesso. Se al posto di un punto si
vuole che appaia un'altra cosa, si può scrivere, per esempio,

<UL TYPE=”SQUARE”>
<LI>Primo elemento
<LI>Secondo elemento
<LI>Terzo elemento
<LI>Quarto elemento
</UL>

e così, invece di mostrare dei punti pieni, mostrerà quadretti. I tipi possibili sono:

Tipo Significato
DISC Punto pieno standard
CIRCLE Punto vuoto
SQUARE Punto quadrato

Affinché la lista sia numerata e ordinata, bisogna scrivere

questo codice che produce questo risultato

<OL>
<LI>Primo</LI> 1. Primo
<LI>Secondo</LI> 2. Secondo
<LI>Terzo</LI> 3. Terzo
<LI>Quarto</LI> 4. Quarto
</OL>

Così come esistono vari tipi di elenchi puntati, così ci sono diversi tipi di numerazione, riportati
nella seguente tabella:
Tipo Significato
1 Numeri arabi. E' lo standard
A Lettere maiuscole
a Lettere minuscole
I Numeri romani
i Numeri romani in minuscolo

Per esempio

questo codice produce questo risultato

<OL TYPE=”i”>

28
<LI>Primo</LI> i. Primo
<LI>Secondo</LI> ii. Secondo
<LI>Terzo</LI> iii. Terzo
<LI>Quarto</LI> iv. Quarto
</OL>

Esercizio: liste dentro liste

Scrivere un file HTML con il seguente contenuto e


spiegare il risultato:
<UL TYPE=”CIRCLE”>
<LI>Pollo all'arancia
<OL TYPE=”i”>
<LI>Un pollo
<LI>Sei arance
</OL>
<Omelette di formaggio>
<OL TYPE=”i”>
<LI>Due uova
<LI>Formaggio Asiago
</OL>
</UL>

3.9. Tabelle

Le tabelle costituiscono oggigiorno uno degli elementi più utili e importanti per la formazione
delle pagine web.
L'esempio di tabella più semplice è la tabella costituita da un solo elemento che andrà scritta
così:

<TABLE>
<TR><TD>Tabella di un solo elemento</TD><TR>
</TABLE>

Osservate i nuovi marcatori <TR> e <TD>. Il primo di questi serve per creare righe, mentre
l'altro crea le colonne. Adesso costruiamo una tabella più interessante:

<TABLE>
<TR><TH>Lista dei prezzi</TH></TR>
<TR><TH>Prodotto</TH><TH>Prezzo al kg.</TH></TR>
<TR><TD>Arance dolci in reti da kg. 1</TD><TD>1,25</TD></TR>
<TR><TD>Limoni</TD><TD>1,71</TD></TR>
</TABLE>

che produrrà il seguente risultato:


Abbiamo utilizzato il nuovo marcatore <TH> che consente di centrare ed evidenziare in
grassetto un elemento della tabella. La tabella, senza dubbio, non si vede molto bene perché “Lista
dei prezzi” non è centrata nella tabella, cosicché andranno modificate alcune cose:

29
<TABLE>
<TR><TH COLSPAN=”2”>Lista dei prezzi</TH></TR>
<TR><TH>Prodotto</TH><TH>Prezzo al kilo</TH></TR>
<TR><TD>Arance dolci in reti da kg. 1</TD><TD>1,25</TD></TR>
<TR><TD>Limoni</TD><TD>1,71</TD></TR>
</TABLE>

COLSPAN=”2” consente di espandere un elemento su due colonne. Dunque il risultato sarà il


seguente:

Si può anche inserire la proprietà ROWSPAN per unire delle colonne. Seguendo lo stesso
esempio, e supponendo che le arance costino come i limoni, si può scrivere la tabella in questo
modo:

<TABLE>
<TR><TH COLSPAN=”2”>Lista dei prezzi</TH></TR>
<TR><TH>Prodotto</TH><TH>Prezzo al kilo</TH></TR>
<TR><TD>Arance dolci in reti da kg. 1</TD><TD ROWSPAN=”2”>1,25</TD></TR>
<TR><TD>Limoni</TD></TR>
</TABLE>

con il seguente risultato:

Come si può constatare, quando si usano le etichette di tabella <TH> e </TH> la lettera diventa
in grassetto ed il testo resta centrato. In questo caso, la tabella si vedrebbe meglio se allineassimo a
sinistra il testo “Prodotto”: ciò si ottiene con la proprietà ALIGN=”LEFT” dentro l'elemento della
tabella dove vogliamo avere un allineamento speciale. Cosicché, se allora scriviamo il codice
seguente:

<TABLE>
<TR><TH COLSPAN=”2”>Lista dei prezzi</TH></TR>

30
<TR><TH ALIGN=“LEFT”>Prodotto</TH><TH ALIGN=“LEFT”>Prezzo al kilo</TH></TR>
<TR><TD>Arance dolci in reti da kg. 1</TD><TD ROWSPAN=”2”>1,25</TD></TR>
<TR><TD>Limoni</TD></TR>
</TABLE>

Otterremo così un risultato con un aspetto migliore:

Le proprietà di allineamento (orizzontale: ndt) sono solo tre: LEFT, CENTER e RIGHT. In
alcuni browser funziona anche JUSTIFY, anche se è meglio evitare di usarla per ottenere la
massima con gli altri programmi di navigazione.
Dall'altro lato, abbiamo pure le proprietà di allineamento verticale. Queste si ottengono
ricorrendo alla proprietà VALIGN, che controlla l'allineamento verticale. Le proprietà di
allineamento verticale sono anch'esse tre: TOP, MIDDLE e BOTTOM che sono, rispettivamente,
su, in mezzo e giù. Provate ad allineare, come esercizio, il prezzo al kilo in alto, in basso ed in
mezzo.
Riassumendo, un elemento della tabella può avere le seguenti proprietà di allineamento:
Proprietà di allineamento
left sinistra
center centrato
Orizzontale (ALIGN)
right destra
justify giustificato
top su
Verticale (VALIGN) middle in mezzo
bottom giù

La vera forza delle tabelle sta nella loro combinazione, vale a dire che possiamo creare tabelle
all'interno di altre tabelle. Per esempio, se scriviamo

<TABLE>
<TR><TH COLSPAN=”2”>Menù principale della Acme Corp.</TH><TR>
<TR><TD ALIGN=”CENTER”>
<TABLE>
<TR><TD>Prodotti</TD></TR>
<TR><TD>Prezzi</TD></TR>
<TR><TD>Promozioni</TD></TR>
</TABLE>
</TD>
<TH ALIGN=”LEFT”>Copertina</TH>
</TR>
</TABLE>

31
otteniamo il seguente risultato

Questo trucco è molto popolare nella costruzione di siti web quando si decide di non utilizzare i
frame (cornici). Le tabelle entro tabelle è la forma più potente di organizzazione che possiede
HTML. Avremo sempre novità, ma la semplicità della struttura di una tabella dentro un'altra
consente di ottenere risultati spettacolari senza la necessità di grossi sforzi.
Una cosa ancora: a volte è necessario nascondere i bordi di una tabella o ingrandirli: per fare ciò
si utilizza la proprietà BORDER che permette di eliminare un bordo o di ingrossarlo a volontà. Nel
nostro esempio precedente, possiamo fare ciò:

<TABLE BORDER=”0”>
<TR><TH COLSPAN=”2”>Menù principale della Acme Corp.</TH><TR>
<TR><TD ALIGN=”CENTER”>
<TABLE BORDER=”2”>
<TR><TD>Prodotti</TD></TR>
<TR><TD>Prezzi</TD></TR>
<TR><TD>Promozioni</TD></TR>
</TABLE>
</TD>
<TH ALIGN=”LEFT”>Copertina</TH>
</TR>
</TABLE>

Come si può osservare, se una tabella non contiene la proprietà BORDER, allora si presuppone
automaticamente che questa proprietà abbia il valore 1 (non è così con Mozilla – ndt): in altri
termini, se viene omessa la proprietà BORDER, il navigatore suppone che vogliamo
BORDER=”1”.
Per mantenere un controllo preciso sull'ampiezza della tabella e di ciascuna delle colonne, si
deve utilizzare la proprietà WIDTH che specifica la grandezza della tabella o della colonna
utilizzate. A tale proprietà è possibile attribuire un numero di pixel o punti dello schermo, o,
meglio, una percentuale. Riprendendo uno degli esempi precedenti, possiamo scrivere la tabella in
questo modo

<TABLE WIDTH=”100%”>
<TR><TH COLSPAN=”2”>Lista dei prezzi</TH></TR>
<TR><TH WIDTH=”50%”>Prodotto</TH>
<TH WIDTH=”50%”>Prezzo al kilo</TH></TR>

32
<TR><TD>Arance dolci in reti da kg. 1</TD><TD>1,25</TD></TR>
<TR><TD>Limoni</TD><TD>1,71</TD></TR>
</TABLE>

Il risultato, come si può osservare, sarà una tabella che occupa tutto lo spazio disponibile con
colonne di uguale larghezza.

Fate attenzione che tanto il marcatore <TABLE> che il marcatore <TD> o <TH> possono far
uso della proprietà WIDTH. In più, è importante far osservare che la proprietà di grandezza è
necessaria solo per la prima riga, perché utilizzarla più avanti non altera l'ampiezza della colonna.
Qui di seguito elenchiamo alcuni trucchi per creare tabelle correttamente:

1) Scrivere su un foglio il diagramma della tabella che si vuol fare


2) Porre in tutte le tabelle e sotto-tabelle la proprietà BORDER=”1”
3) Se le tabelle sono molto complesse, prima costruitele separatamente e poi integratele
4) Scrivere in HTML con chiarezza per mostrare le righe e le colonne in modo adeguato, come
negli esempi precedenti

Esercizio: Una tabella dentro una tabella

Disegnare una tabella che mostri ciò:

Ci sono anche altre proprietà delle tabelle molto interessanti, come CELLPADDING e
CELLSPACING, tuttavia sono argomenti non indispensabili in questo corso.

3.10. Commenti
Se vogliamo che una parte della pagina sia momentaneamente invisibile, possiamo creare dei
commenti nel codice HTML. Per fare ciò, basta scrivere entro gli speciali marcatori <! e ->, come
nell'esempio seguente.

33
<!-- Questo è un commento che non è visibile per il browser -->

I commenti si possono estendere per più righe. Ricordatevi di chiuderli.

3.11. Tipi di caratteri


Il tipo di caratteri che utilizziamo nel web dipende dal navigatore che stiamo usando.
Normalmente è un tipo chiamato “Times New Roman” che è piuttosto classico ed ha le “grazie”.
Anche la dimensione del tipo di carattere viene decisa dal navigatore. Se non vogliamo permettere
al navigatore di decidere tutte queste cose con conseguente disegno mediocre, possiamo specificare
il tipo di carattere che intendiamo utilizzare. A questo punto è importante sottolineare una cosa: è
indispensabile che il tipo di carattere che scegliamo sia dal lato utente. Per esempio, se scegliamo di
utilizzare i font “Arial” forniti con Windows, tutti gli utenti di Windows vedranno correttamente la
pagina, tuttavia gli utenti Mac, Linux o di altri sistemi la visualizzeranno male; è per tal motivo che
si possono selezionare sostituzioni di tipi di font. E' sufficiente perciò scrivere tutti i tipi accettabili
in una list separata da virgolette come nel seguente esempio:

<font face=”Arial,Helvetica, Sans Serif”>un font senza grazie</font>

In questo caso, la prima scelta che farà il navigatore sarà il tipo di carattere “Arial”, altrimenti
proseguirà con “Helvetica” e, infine, se non esiste nessuno dei precedenti due font, sceglierà un tipo
qualsiasi di carattere senza le grazie, cioè “Sans-Serif”.
Nel mondo della tipografia si hanno principalmente tre tipi di caratteri: quelli che hanno le grazie
o Serif, quelli che non hanno le grazie o Sans serif e quelli di fantasia. Tra quelli che hanno le c.d.
grazie il più usato è il Times, il cui derivato più comune è il Times New Roman, considerato molto
comodo per la lettura. Quelli, invece, senza grazie sono impiegati principalmente nei titolo giacché
in testi lunghi è più faticoso leggerli perché, nel caso di caratteri con le grazie, quest'ultime aiutano
a creare una linea ideale che facilita la lettura, cosa che non succede con i font senza grazie. Infine i
tipi di fantasia sono quelli che si usano per decorare un testo. C'è il font “Western”, che è usato per i
testi del vecchio west, il “Computer” che è un carattere a segmenti come i vecchi orologi digitali, il
“Windings” che è costituito da simboli speciali, così come potremmo citarne a centinaia di tipi di
fantasia. Ricordatevi una cosa importante: affinché una pagina web si veda bene, è necessario
assicurarsi che il tipo di carattere prescelto esista nel sistema di chi si appresta a connettersi per
vedere tale pagina.
Altro attributo che si può modificare è la dimensione del carattere. Il modo più semplice per fare
ciò è con il trucco seguente:

<font size=”+2”>Un carattere grande</font>

E' una buona idea provare una pagina web con diversi navigatori e piattaforme per provare qual è
il risultato finale dei cambiamenti da vari punti di vista differenti.

34
3.12. Stili
Gli stili consentono di uniformare il formato delle pagine web e di modificare il comportamento
dei marcatori HTML. Sfortunatamente sono un'aggiunta recente allo standard HTML incorporata da
poco nei navigatori. Per questo, quando si disegna una pagina web utilizzando gli stili si deve
considerare che, se un utente ha un browser vecchio, non potrà vedere la nostra pagina. Una volta
dato questo avvertimento, si procederà a mostrare come creare un foglio di stile da inserire in un
documento. Per definire un foglio di stile, scriviamo semplicemente

<STYLE TYPE=”text/css”>
<!--
# Qui vanno inseriti gli stili, per esempio
P { color:blue; font-family: Arial, Helvetica, Sans-Serif; }
TD { color: red; }
P.grande { font-size: 48px; }
-->
</STYLE>

I selettori come <P> e >TD> si applicano automaticamente, mentre selettori come “P.grande”
necessitano di qualcos'altro. Per utilizzarli scriviamo quanto segue:

<P CLASS=”grande”>Una lettera grande</P>

Per raggiungere l'obbiettivo finale dei fogli di stile, che consiste nell'uniformare le pagine, questi
dovranno essere creati in un file separato da richiamare poi dentro la pagina che si desidera
uniformare. Ciò si ottiene con l'istruzione

<LINK REL=”Stylesheet” HREF=”stile.css” TYPE=”text/css”>

dove “stile.css” è il nome del file in cui si trovano le definizioni degli stili da utilizzare nella
pagina web.
Le pagine web create da altre persone sono spesso modelli da cui trarre ispirazione. Per vedere,
ad esempio, come si costruiscono le pagine web, apriamo la pagina

http://phpnuke-espanol.org

e poi scegliamo nel menù del navigatore “Vedere/Sorgente Pagina” cosicché potremo vedere
come questa è stata realizzata. La parte per noi interessante dice così:

<LINK REL=”Stylesheet”
HREF=”themes/NukeNews/style/style.css”
TYPE=”text/css”>

Ciò indica che il foglio di stile si trova in

http://phpnuke-espanol.org/themes/NukeNews/style/style.css

Indichiamo tale indirizzo al nostro navigatore e vediamo poi il contenuto del file selezionando il
notepad come visualizzatore.
Come si può osservare, troviamo solo le definizioni di ciascun stile della pagina web: ci sono

35
infatti definizioni molto semplici come

BODY {FONT-FAMILY: Verdana,Helvetica; FONT-SIZE: 12px }

Modifichiamo il tipo di lettera “BODY” cambiando il suo colore con lo scrivere, dopo di 12px,
“; COLOR:RED;” o meglio, cambiando la dimensione del carattere FONT-SIZE a 14px o a 24px.
Salviamo questo foglio di stile in una directory di lavoro con il nome “stile.css” e, in una pagina
web già esistente, scriviamo

<LINK REL=”StyleSheet” HREF=”stile.css” TYPE=”text/css”>

Proviamo a vedere cosa succede con il testo in una nuova pagina: il testo normale sarà scritto in
rosso con un tipo di carattere più grande di quello normale.

3.13. Argomenti che vanno troppo oltre l'obbiettivo di


questo corso
L'HTML andrebbe trattato più ampiamente, tuttavia, per gli obiettivi di questo corso, molti
argomenti escono dalla sua portata; per esempio l'uso dei marcatori, l'impiego delle mappe delle
immagini, la programmazione in JavaScript, il DHTML o HTML dinamico e molti altri
ampliamenti e specializzazioni dei nuovi navigatori internet. Coloro che sono interessati ad
approfondire tali argomenti possono consultare le seguenti pagine web:

• http://www.w3.org

• http://www.webreference.com

• http://developer.netscape.com

• http://www.html.it

36
Capitolo 4

Installazione e configurazione

4.1. Installazione con Windows


Con Windows l'installazione di PHP-Nuke è molto semplice grazie ad un gruppo di Tailandesi
che si sono assunti il compito di creare un unico programma di installazione. La versione più
recente di tale programma può essere scaricata da http://academic.cmri.ac.th/appserv o, meglio, da
http://sourceforge.net/projects/appserv. Una volta scaricato il file eseguibile, per esempio, appserv-
win32-1.0.1.exe, è sufficiente un doppio click per installarlo. Questo chiederà un paio di cose molto
semplici e voilà avremo una installazione completa in pochi minuti.

Successivamente appariranno delle schermate e verrà suggerito un percorso da seguire. La prima


schermata indica semplicemente che tale programma serve ad installare PHP-Nuke e l'unica
opzione mostrata è “Next”, cioè continuare. La seconda schermata chiede in quale directory
installare il server di applicazioni, vale a dire il PHP-Nuke. A questo punto si può lasciare
semplicemente l'opzione proposta, ossia “C:\AppServ”. Quindi saremo avvertiti che, per installare
tutto, servono 92 megabyte di spazio libero.

37
Poi ci viene detto che ci sono già sufficienti informazioni per installare il server di applicazioni e
che bisogna premere il bottone “Next”. A questo punto appare l'installatore del server Apache, che
richiede un paio di dati, il nome del server, che può trattarsi del nome che ha in internet il nostro
computer, o semplicemente “localhost”, cioè il computer in uso. Per ora selezioniamo “localhost”.
Indi chiede l'indirizzo di posta dell'amministratore del sito, cioè il nostro indirizzo di posta: ad
esempio, nel mio caso, inserirò l'indirizzo [email protected].

La terza schermata chiede un nome utente, una password e l'insieme di caratteri che utilizzerà il
data base. Nel mio caso scriverò “negrabarba” con password “segreto” e l'insieme di caratteri
(charset) “latin1” che è quello utilizzato dalla maggior parte delle lingue europee come l'inglese, il
francese e lo spagnolo.

38
Dopo impiegherà un po' di tempo per installare i programmi. Attendiamo sin che avrà terminato.
Alla fine, apparirà una schermata come la seguente,

Se vogliamo usare PHP-Nuke immediatamente, selezioniamo “Start Apache”, “Start MySQL”


e il pulsante “Close”. Fatto ciò avremo immediatamente funzionante PHP-Nuke. Per provarlo,
scriviamo nel nostro navigatore

http://localhost

Così apparirà la schermata principale del server delle applicazioni; per vedere il sito PHP-Nuke
scriviamo semplicemente

http://localhost/phpnuke-5.2

39
e sarà pronto. Abbiamo già un sito PHP-Nuke pronto nel nostro computer. Tale sito si vedrà
come di seguito
Badate che tutti questi appunti si riferiscono all'installatore 1.0.1 e che le nuove versioni
potrebbero subire dei leggeri cambiamenti.

4.2. Installazione con Linux

4.2.1. RedHat 8.0

Il Linux di cui andiamo a trattare in questo corso è il RedHat 8.0. Se stiamo artendo da zero,
dobbiamo selezionare l'installazione per server. Una volta operativi, entriamo come “root” e
installiamo i seguenti pacchetti: php, php-mysql, mysql, mysql-server e, naturalmente, Apache.
Dopo scarichiamo il pacchetto del PHP-Nuke dal sito http://www.phpnuke.org/ o, se preferite, dal
sito italiano http://www.spaghettibrain.com. Piazziamolo nella directory /root/phpnuke60 e poi
copiamo la directory /root/phpnuke60/html in /var/www/html con l'istruzione:

# cp -R /root/phpnuke60/html/* /var/www/html

Conviene assegnare l'amministrazione del sito ad un utente specializzato e perciò procediamo nel
modo seguente:

40
# adduser negrabarba
# adduser negrabarba
Changing password for user negrabarba.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Installiamo poi i pacchetti menzionati nella forma seguente oppure con l'applicativo in modalità
grafica .

# rpm -i mysql-3.23.52-3.i386.rpm
# rpm -i mysql-server-3.23.52-3.i386.rpm
# rpm -i httpd-2.0.40-8.i386.rpm
# rpm -i php-4.2.2-8.0.5.i386.rpm
# rpm -i php-mysql-4.2.2-8.0.5.i386.rpm

Creiamo allora il database “nucleare” e attribuiamo i permessi all'utente appena creato nel modo
seguente:

# /etc/rc.d/init.d/mysqld start
# mysqladmin create nucleare
# mysql nucleare < /root/phpnuke60/sql/nuke.sql
# mysql nucleare
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 3.23.52
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> grant all privileges on nuke.* to negrabarba@localhost \
identified by 'segreto' with grant option ;
Query OK, 0 rows affected (0.08 sec)
mysql> quit

Modifichiamo il file /var/www/html/config.php affinché il nome del database, l'utente e la


password coincidano. In questo esempio, sarebbero come di seguito:

$dbhost = “localhost”;
$dbuname = “negrabarba”;
$dbpass = “segreto”;
$dbname = “nucleare”;
$prefix = “nuke”
$user_prefix = “nuke”;
$dbtype = “MySQL”;

Ora un trucco da osservare. RedHat 8.0 utilizza Apache 2.0 che ha alcuni “problemucci” con il
PHP. Perciò è necessario modificare il file /httpd/-conf.d/php.conf aggiungendo la seguente linea
“php_value register_globals 1” dentro la direttiva “Files”.

41
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 524288
php_value register_globals 1
</Files>

Grazie a Warrior per il suggerimento!


Una volta fatto ciò, è necessario avviare Apache

# /etc/rc.d/init.d/ httpd.start

Affinché non sia necessario inizializzarlo ogni volta che viene accesa la macchina, risulta
conveniente indicare a RedHat che lo attivi nel suo processo di avvio: ciò si fa con chkconfig.

# chkconfig -–level 345 mysqld on


# chkconfig –-level 345 httpd on

Adesso proviamo con qualsiasi navigatore che tutto sia andato bene, scrivendo
http://indirizzo_ip_del_nostro_computer e che stia già funzionando PHP-Nuke. Auguri!

Nota importante: anche con queti accorgimenti, PHP-Nuke non funzionerà correttamente con
RedHat 8.0. C'è però un modo di sistemare il problema: disinstalliamo apache rpm -e httpd,
php rpm -e php php-mysql e installiamo poi gli RPM della versione 7.3 di Redhat. Avremo
la segnalazione di assenza di alcune librerie che sarà necessario trovare ed installare. Questo è,
finora, il metodo migliore per risolvere questo fastidioso problema. Probabilmente in un futuro
molto vicino, non sarà più necessario fare questi noiosi rattoppi.

4.2.2. Debian

In Debian è molto semplice installare PHP-Nuke, sebbene richieda un piccolo trucco: per una
qualche ragione tra le dipendenze del pacchetto non è prevista la necessità dell'installazione del
database MySQL: perciò per farlo funzionare andrà installato prima quest'ultimo pacchetto
utilizzando l'account di root. Si fa nella forma seguente

apt-get install mysql

e per installare PHP-Nuke basterà scrivere come segue

apt-get install phpnuke

Un dettaglio su questa installazione: il file di configurazione si trova nella directory


/etc/phpnuke/config.php, invece di essere nella directory abituale.

4.3. Configurazione dettagliata

42
In questa sezione spiegheremo alcune opzioni di configurazione che abbiamo tralasciato di
spiegare all'inizio del corso. Ricordiamoci che, per modificare le impostazioni di configurazione,
dobbiamo scrivere l'indirizzo del nostro sito, per esempio http://localhost/admin.php, e fornire nome
e password per entrarvi. Quando il sito è nuovo, è necessario creare un superutente: per fare ciò
riferitevi al procedimento descritto nella sezione 2.4 a pagina 10. Teniamo in mente che il sistema
distingue tra lettere maiuscole e minuscole e che dobbiamo stare attenti nello scriverle.
Una volta entrati nel menù di amministrazione, selezioniamo “Preferenze”. In seguito
spiegheremo, a titolo d'informazione, il significato e l'uso di ciascuna delle opzioni.

4.3.1. Informazioni generali del sito

Nome Sito

E' il posto dove si attribuisce il nome al sito. L'effetto immediato è che, nel navigatore, nella
cornice superiore della finestra apparirà il nome del sito. Parlando in termini di HTML, si tratta del
testo che si trova tra <TITLE> e </TITLE>.

URL Sito

L'URL del sito è il prefisso che PHP-Nuke utilizzerà ogni volta che si riferirà al sito attuale, cioè
quello che anteporrà a ciascun indirizzo interno. Per esempio http://curso.ajusco.upn.mx è l'url del
sito del corso.

Logo

E' il logo che utilizzeremo per pagine adatte alle stampanti, vale a dire che è buona idea
utilizzare una grafica in bianco e nero in questo punto.

Slogan

E' una frase che distingue il sito. In alcuni argomenti appare appena sotto l'intestazione del sito.

Data Inizio Sito

E' la data che utilizzeremo come riferimento per le informazioni statistiche relative a
http://localhost/modules.php?name=Statistics

Email Amministratore

E' l'indirizzo di posta elettronica dell'amministratore del sito. Si utilizza quando qualche utente
vuole comunicare con l'amministratore tramite il sistema interno di messaggistica.

Articoli in Top Page

E' il numero massimo di articoli (news) esposti nella pagina dei migliori articoli del sito. I valori
possibili sono: 5, 10, 15, 20, 25 e 30.

43
Articoli in Home

E' il numero massimo di articoli (news) che appariranno nella pagina principale del sito. I valori
possibili sono: 5, 10, 15, 20, 25 e 30.

Articoli nel Box Articoli Vecchi

E' il numero massimo di articoli (news) vecchi collocati nel box Articoli Vecchi. I valori
consentiti sono 10, 20, 30, 40 e 50.

Attivare Ultramode?

L'ultramode è un file di puro tessto che viene utilizzato per condividere gli articoli della nostra
pagina con altri siti. Tale file si trova in http://localhost/ultramode.txt e va impostato con i diritti di
lettura e scrittura per tutti gli utenti. In Unix si attribuiscono tali diritti con il comando

chmode 666 ultramode.txt

I valori possibili di questa opzione sono “si” o “no”.

Abilita Anonimi a Postare?

Questo è un livello di libertà del foro. Con questa opzione acconsentiamo a che qualsiasi
visitatore non registrato possa fare commenti su qualsiasi argomento qui proposto. E' una spada di
Damocle giacché, sebbene conceda molta libertà, può causare problemi all'interno della comunità.

Tema di Default

Questo è il tema grafico che utilizzerà il sito PHP-Nuke. Le opzioni possibili nella versione 6.0
sono 3D-Fantasy, Anagram, DeepBlue, ExtraLite, Kaput, Karte, Milo, NukeNews,
Odissey,Sand_Journey, SlashOcean, Sunset e Traditional. Questi temi possono cambiare nella
versione per Windows.

Seleziona la Lingua

Qui si seleziona la lingua che utilizzeremo nel sito. E' la lingua in cui si imbatte la prima volta
l'utente non registrato vedendo il sito: successivamente l'utente potrà modificare la visualizzazione
del sito d'accordo con i suoi desideri. Le opzioni disponibili sono Arabic, Chinese, Czech, Danish,
Dutch, English, French, Galego, German, Greek, Hungarian, Icelandic, Italian, Polish, Portuguese,
Russian, Spanish, Slovak e Thai. Comunque, se avete scaricato il PHP-Nuke dal sito in italiano,
saranno a disposizione solo l'italiano e l'inglese. I file di traduzione disponibili si trovano dentro la
sottodirectory /language e ne possiamo avere tanti quanti siano ritenuti necessari. Perché non averne
uno maya, nàhuatl o tzotzil (lingue parlate in Messico – ndt)?

Formato Ora Locale

44
Questa opzione si utilizza per impostare il formato di rappresentazione della data e dell'ora nel
sistema. In Messico di deve utilizzare “en_US” che è l'opzione standard. In Spagna, “es_ES” è la
corretta. In futuro, si potrà utilizzare “es_MX”. (In Italia andrà utilizzata “it_IT” - ndt).
Per conoscer i valori possibili, possiamo consultare il manuale del nostro sistema operativo. In
particolare con Linux, esiste una eccellente documentazione circa questo argomento nella pagina
web http://www.opengroup.org/onlinepubs/7908799/xbd/locale.html
In molti sistemi le opzioni disponibili sono, af, az, bg, ca, cs, da, de, de_AT, el, en_GB, en_UK,
en_US, eo, es, es_ES, et, fi, fi_FI, fr, ga, gl, gr_GR, hr, hu, id, is, it, ja, ja_JP.EUC, ja_JP.SJJS, ko
lt, lv, nl, no, no@nynorsk, pl, pt, pt_BR, pt_PT, ro, ru, se, sk, sl, sr, sv, tr, uk, wa, zh,
zh_CN.GB2312, zh_TW e zh_TW.Big5.

4.3.2 Opzioni Multilingua

Attivare le caratteristiche multilingua?

Questa opzione consente di attivare le opzioni per la gestione delle lingue in ogni fase del
processo di edizione. E' utile quando abbiamo un foro interculturale con varie lingue
simultaneamente. Ciascun articolo pubblicato può essere in un idioma distinto così che quando un
lettore vorrà scegliere gli articoli in una sola lingua, potrà farlo.

Mostrare le bandierine al posto della lista?

Si tratta di un'opzione decorativa. Serve a mostrare, al posto di un modesto quadro di selezione


delle lingue, un bel riquadro con le bandierine dei paesi che rappresentano ciascuna lingua.
Sfortunatamente gli spagnoli ci hanno sottratto la proprietà dell'idioma e la bandiera mostrata sarà
quella della Spagna (l'autore del testo originale – per chi non lo avesse ancora compreso – è
messicano [ndt]). Precauzione: l'impiego di queste bandierine fomenta i nazionalismi ed è nocivo
all'integrazione interculturale.

4.3.3. Opzioni Banners

Attivare Banners?

Tale opzione serve ad attivare i banners o annunci in un sito. Sono parte fondamentale
dell'intestazione e sono solite essere utilizzati per mantenere vivo un sito grazie alla pubblicità. E'
uno dei resti della chimera dell'oro di internet, sebbene gli si possa dare una funzione decorativa.

4.3.4. Messaggi Piè Pagina

Piè Pagina Linea 1...3

Nella pagina inferiore di ciascuna delle pagine del foro PHP-Nuke possiamo sempre inserire

45
certe informazioni in modo fisso. Abbiamo tre spazi per poter mettere ciò che si desidera.
Comunque un sito può anche non aver nulla di scritto in queste opzioni.

4.3.5. Backend Configurazione

Il backend è la maniera per scambiare articoli con altri fori associati. E' possibile alimentarsi di
articoli generati da altri fori con interessi simili a quelli della nostra comunità in modo da facilitare
l'accesso alle informazioni da altre parti dentro la nostra pagina.

Backend Titolo

E' il nome del nostro foro e che sarà visibile negli altri fori che vogliono prendere dei nostri
articoli.

Backend Linguaggio

Si tratta della lingua con cui opera il backend e funziona con gli stessi requisiti della
localizzazione discussa nella sezione 4.3.1 nella parte che riguarda i formati del tempo locale e che
si trova a pagina 44.

4.3.6. Notifica Nuovi Articoli all'Amministratore

Notifica nuovi inserimenti via email?

Ogni volta che un utente invia un articolo, l'amministratore sarà avvisato attraverso un indirizzo
di posta elettronica. Ciò avviene se selezioniamo “Si” in questa opzione. E' meglio usare questa
opzione giacché è più facile consultare la posta varie volte al giorno che attendere una pagina per
verificare se c'è stato qualche invio.

Email a cui inviare il messaggio

E' l'indirizzo di posta dell'amministratore del foro o dell'editore incaricato di rivedere gli articoli
inviati. Per esempio possiamo scrivere [email protected] e così la corrispondenza sarà
inviata a quell'indirizzo.

Soggetto Email

E' l'intestazione che avrà il messaggio inviato. E' una buona idea scegliere qualcosa di
interessante come “Finalmente qualcuno ha inviato un articolo!” o “Devi metterti a lavorare”, o
altro che indichi che dobbiamo controllare il foro perché qualcuno ha inviato una collaborazione.

Messaggio Email

Qui possiamo scrivere un testo più ampio rispetto al soggetto dell'e-mail. Per esempio “Nuovi

46
articoli per il foro di educazione degli adulti nell'ambiente locale” è un testo più lungo rispetto al la
riga del soggetto. Possiamo lasciaro in bianco se lo riteniamo più conveniente.

Email Account (Da)

E' il mittente del messaggio, cioè il nome del “robot” ci sta inviando la posta: per esempio,
potrebbe essere “[email protected]” o “Tua_Coscienza” o altri simili.

4.3.7. Moderazione Commenti

Qui specifichiamo se i commenti degli utenti saranno moderati. Quando il foro è molto trafficato
è inevitabile che esistano persone la cui collaborazione è nulla o addirittura negativa. Moderando
posiamo migliorare la qualità dei contenuti di un foro ad alto traffico. I moderatori possibili sono gli
stessi utenti o gli amministratori. Oppure si può lasciare il foro senza moderazione di alcun tipo.

Tipo di Moderazione

Abbiamo a disposizione tre scelte “Nessuna Moderazione”, “Moderazione da Admin” e


“Moderazione da Utenti”. Scegliamo quella che riteniamo più adatta anche in base alle
impostazioni nel paragrafo precedente.

4.3.8. Opzioni Commenti

Limite Commenti in Bytes

E' la dimensione massima che può avere un commento: il numero preimpostato è 4.096 byte,
cioè circa come un foglio dattiloscritto. L'amministratore deve decidere se questa è sufficiente o se
è necessario offrire maggiore spazio ai commentatori.

Nome di Default Utente Anonimo

Il nome dell'utente anonimo può essere semplicemente “Anonymous”, però se desideriamo


scherzare, possiamo inserire cose più divertenti come “il cavaliere solitario” o “l'eroe sconosciuto”,
“aquila occulta” o cose simili. Questa opzione vale la pena di utilizzarla sempre e quando
acconsentiamo agli utenti anonimi di fare commenti nel foro.

4.3.9. Opzioni Grafica

Menu Grafico in Amministrazione?

Attiva il menù grafico in amministrazione che è come si mostra nell'esempio seguente:

47
4.3.10. Opzioni varie

Attivare Referenti HTTP?

Questa opzione ci permette di vedere da quale sito ci stanno collegando. Se si attiva, è


automatica e, con il trascorrere del tempo, ci mostra i siti da cui stanno entrando nella nostra pagina.

Quanti Referers vuoi al Massimo?

Se decidiamo di utilizzare l'opzione precedente, l'elenco si va incrementando man mano trascorre


il tempo, tuttavia possiamo mettere un limite. La dimensione della lista dei riferimenti si controlla
da qui. Le scelte disponibili sono 100, 250, 500, 1000 e 2000.

Attivare Commenti in Sondaggi?

Consente agli utenti di aver dei commenti nei sondaggi, cioè che ogni sondaggio abbia un suo
proprio foro.

Attivare i commenti negli articoli?

Permette agli utenti di commentare i fori. E' la base essenziale di un foro: senza l'attivazione i
tale opzione non ci sarà interazione tra gli utenti.

48
4.3.11. Opzioni utente

Abbiamo alcune opzioni di configurazione che consentono di determinare il comportamento del


foro relativamente ai suoi utenti. Sono opzioni piuttosto elementari e forse incomplete, ma per ora
sono quelle messe a disposizione.

Lunghezza Minima password Utenti

Come abbiamo detto all'inizio di questo laboratorio, la dimensione minima della password di
utente aiuta ad evitare cose scontate come “A”, “1” e altre “chiavi” simili, che sono fonte di
problemi di sicurezza. Cinque è un buon numero; maggiore sarà e maggiore sarà la scomodità per
gli utenti.

Attivare i messaggi in Broadcast?

Tale opzione consente di attivare i messaggi in broadcast, cioè che sono destinati a tutti gli utenti
registrati del sistema.

Attivare Headlines Reader?

Questa opzione abilita gli utenti ad attivare il lettore di intestazioni in modo che questi possano
rapidamente consultare le intestazioni del sito in una sola passata.

Permetti agli utenti di cambiare il numero di News in Home?

Gli utenti potranno scegliere quanti articoli far apparire nella pagina principale se glielo
consentiremo con questa opzione. Attiviamola se lo desiderate.

4.3.12. Opzioni di censura

Se il foro è stato patrocinato dall'associazione del clero della lampada perpetua, è opportuno
attivare l'opzione di censura. Ciò consente di eliminare parole come sesso, cazzo, masturbazione,
pene, fottere e qualunque altra parola considerata oscena per questi gruppi. Tuttavia è necessario
mantenere la lista delle parole “proibite” che sta immersa nel codice di PHP-Nuke. Detta lista si
trova nel file config.php. Le parole censurate di default stanno nell'array del file config.php listato
qui di seguito.

$CensorList = array(“fuck”,
“cunt”,
“fucker”,
“fucking”,
“pussy”,
“cock”,
“c0ck”,
“cum”,
“twat”,
“clit”,
“bitch”,

49
“fuk”,
“fuking”,
“motherfucker”);

Modalità Censura

Esistono vari modi di censura, uno dei quali è ”Parola corrispondente in qualsiasi parte del
testo”, cioè cercare in qualsiasi parte del testo; un altro è “Nessun filtro” che significa che non ci
sarà alcun filtro di censura, cioè qualunque parola passerà ed è la scelta raccomandata per fori e
laboratori di un'Università con pensiero adulto. “Corrispondenza esatta” significa coincidenza esatta
delle parole censurate ed, infine, “Parola corrispondente all'inizio” trova solo le parole censurabili al
l'inizio del testo inviato.

Sostituisci le parole censurate con

Quando attiviamo l'opzione di censura, le parole “oscene” vengono sostituite da un insieme di


caratteri che posson essere definiti qui. Una scelta ovvia è di porre semplicemente degli asterischi.
Altra, più divertente, potrebbe essere di mettere dei simboli come quando Paperino si arrabbia
#!@!@!&%. Oppure una parola a nostra scelta come “CENSURATO”, per rendere palese la
censura.

4.3.13. Opzioni del servizio WebMail

Questa versione di PHP-Nuke contiene un servizio completo di posta web (WebMail) che
consente agli utenti registrati di ricevere ed inviare posta attraverso il sistema. Forse non è la
migliore delle idee attivare questo servizio, dal momento che si presta a saturare i server di rete con
attività connesse alla posta. Forse sarà una buona idea quando abbiamo risorse limitate e non è
possibile dedicare una macchina esclusivamente alla gestione della posta.

Messaggio a piè di pagina in tutte le e-mail inviate

Ogni messaggio inviato tramite questo servizio può contenere un testo che pubblicizza il sito.
Per esempio, se abbiamo un account di “Yahoo!”, possiamo vedere che ciascun messaggio che
invia un utente da lì tiene attaccato il testo “Inviato da Yahoo!mail” o qualcosa di simile. Questo
riquadro serve per inserirere questo testo “pubblicitario” del sito.

Permetti ai tuoi utenti di inviare e-mail?

Questo attiva i servizi di posta web del foro. Se vogliamo utilizzarli, attiviamo questa opzione.

Permetti ai tuoi utenti di inviare allegati?

Con questa opzione permettiamo agli utenti di inviare file allegati ad ogni messaggio. Ciò ha
come inconveniente che potrebbe occupare molto spazio dentro il server. Se attiviamo tale opzione,
è indispensabile creare una directory temporanea per gli allegati, che è l'opzione descritta qui di
seguito

50
Directory temporanea degli allegati

In questa directory si conserveranno temporaneamente i file allegati inviati da un utente.


Affinché questa opzione funzioni, è necessario permettere che qualsiasi utente del gruppo possa
leggere e scrivere in questa directory, cosa che rappresenta un potenziale problema di sicurezza. Per
fare ciò, selezioniamo la directory, come per esempio, /var/www/html/modules/WebMail/tmp/ e
poi, da sistema operativo e come utente di root, modifichiamo i permessi perché possa essere scritta
e letta da tutto il mondo:

chmod 0666 /var/www/html/modules/WebMail/tmp/

permetti agli utenti di vedere/leggere gli allegati?

Tale opzione è per gli allegati che si ricevono attraverso il sistema e consente agli utenti di
scaricare e vedere gli allegati ricevuti.

Directory temporanea degli allegati ricevuti

In egual modo dobbiamo creare una directory temporanea per ricevere i file allegati. La directory
preimpostata è /modules/WebMail/attachments/; cambiamo i diritti come nell'esempio precedente
facendo

chmod 0666 /var/www/html/modules/WebMail/attachments/

Max. numero di accounts

E' il numero massimo di account di utente permessi dal sistema. Se non vogliamo limitarli,
scriviamo il numero “-1”

Questo servizio è basato in un singolo account?

Se il servizio invierà e riceverà messaggi con un solo account, possiamo impiegare questa
opzione, però non la raccomando.

Nome di default dell'Account singolo

Il nome di default di account è “Your account”, o Tuo account, in italiano. Questo può essere
modificato in “Suo account” o altra scelta simile.

Default POP3 Mail Server

E' il server POP3 verso e da cui leggeremo la posta. Normalmente, se attivato, deve trattarsi di
“localhost” però, se si trova altrove, possiamo inserire, per esempio, “posta.host.it”.

Path di default delle immagini mailbox

E' il posto dove si trovano le immagini di WebMail. Se lo volessimo, potremmo cambiare


indirizzo, però sarebbe meglio non modificare tale opzione.

51
Filtrare gli header nel forward?

Se un utente reindirizza un messaggio, è possibile modificare l'intestazione in modo che costui


appaia come remittente. Per fare ciò, attiviamo tale opzione.

4.4. Gestione dei blocchi


I blocchi costituiscono un elemento fondamentale di PHP-Nuke in quanto sono la parte più
visibile della gestione del sistema. In essi riponiamo le caratteristiche che definiscono il
funzionamento del sito. Possiamo dire, in poche parole, che i blocchi sono gruppi di collegamenti
organizzati dentro un riquadro, tuttavia per applicazioni più avanzate è possibile dotare i blocchi di
una certa funzionalità affinché svolgano compiti specifici come mostrare il numero dei visitatori o
gli articoli più letti. Dal punto di vista visivo, sono le colonne di destra e sinistra del portale PHP-
Nuke, come mostra la seguente illustrazione.

Per utilizzarli selezioniamo l'opzione “Blocchi” del menù di amministrazione. Apparirà così la
seguente schermata che contiene nella parte superiore le opzioni di amministrazione dei blocchi ed
in quella inferiore le opzioni per l'aggiunta di blocchi.

52
Nella parte riguardante l'amministrazione dei blocchi ci sono sette colonne principali:

• Titolo. Il titolo è il nome che mostrerà il blocco comparendo nello schermo.

• Posizione. Qui indichiamo solo se il blocco starà nella colonna sinistra o destra.

• Peso. La posizione che occuperà dall'alto in basso dentro la colonna. Osservate che ci sono
alcune frecce. Schiacciando le frecce possiamo abbassare o alzare la posizione del blocco e
sistemiamo i restanti blocchi all'interno della stessa colonna.

• Tipo. Esistono vari tipi di blocchi, quelli che vengono generati utilizzando un file speciale che
descrive il funzionamento del blocco, quelli di sistema, cioè quelli che sono automatici in
PHP-Nuke, e quelli contenenti HTML, quelli cioè di uso più generale per adattare il sistema
alle nostre necessità.

• Stato. I blocchi possono avere due stati: inattivo, cioè attualmente non utilizzato e non visibile
e attivo, cioè funzionante.

• Visibile per. Ci sono quattro categorie di visibilità

• Tutti. Come indicala la parola, serve affinché questo blocco in particolare sia visibile a
qualsiasi utente, registrato o meno, dentro il sistema.

• Solo Utenti Registrati. E' un blocco visibile solo dagli utenti iscritti al sistema.

• Solo Amministratori. Visibile unicamente dagli amministratori.

• Solo Utenti Anonimi. E' un blocco che solo gli utenti non registrati nel sistema possono
vedere: vale a dire che è escluso agli amministratori ed agli utenti registrati.

53
• Funzioni

• Edita. Consente di modificare il blocco: a seconda del tipo di blocco editato apparirà
una schermata diversa.

• Attiva/Disattiva. Attiva o disattiva il blocco. Se appare la parola Disattiva e questa viene


selezionata, il blocco verrà disattivato e viceversa.

• Cancella. Elimina un blocco. Andiamo cauti con quest opzione: è più sensato disattivare
un blocco piuttosto di eliminarlo completamente.

• Vedi. In qualche caso è possibile vedere come apparirà nello schermo il contenuto di
questo blocco. Tale opzione non è disponibile per tutti i tipi di blocchi.

• Regolare conflitti di Peso dei Blocchi. Quando la distribuzione dei blocchi è molto
disordinata, è possibile utilizzare questa opzione per riorganizzarli rapidamente. Tuttavia è
probabile che l'ordine scelto dal programma, non sia quello desiderato, ma potremo
organizzare a poco a poco secondo l'ordine voluto.

4.5. Aggiungere blocchi


Per aggiungere nuovi blocchi dobbiamo semplicemente riempire alcuni campi del formulario
“Aggiungi Blocco” che compare sotto il menù di amministrazione dei blocchi.

Questo è un questionario che non è necessario riempire interamente: vanno riempite soltanto le
opzioni da utilizzare ed alcune sono in alternativa tra di loro. Bisognerà perciò fare attenzione nel

54
riempimento.

• Titolo. E' il nome che apparirà nella parte alta del blocco. Deve essere corto e descrittivo. Se il
titolo è troppo lungo, può scombinare il disegno del portale o troncarlo, e perciò conviene che
sia conciso.

• RSS/RDF file URL. E' il nome di un archivio esterno che serve per inserire titoli di altri siti
costruiti con PHP-Nuke o sistemi compatibili con i formati RSS/RDF. Esempi di questi siti
sono slashdot.com, kuro5hin.org, barrapunto.com e gildot.org. Alla destra del nome del file
RSS/RDF del sito c'è una casella utilizzabile con vari siti preconfigurati: possiamo scegliere
uno di questi e scordarci di tutti gli altri. Se invece un sito non è ricompreso in questo elenco,
possiamo selezionare il collegamento che dice “Setup” alla destra di questa casella. In questa
opzione sono riportati tutti i siti preconfigurati e si possono modificare o aggiungere nuovi
siti. Vengono richiesti solo due dati: il nome del sito ed il file RSS o RDF del sito. Ad
esempio, per aggiungere il mio sito di questo corso, dovremmo scrivere, come nome del sito,
http://curso.ajusco.upn.mx e, nel nome del file RSS o RDF, sceglieremmo il seguente:
http://curso.ajusco.upn.mx/backend.php e con questo raccoglieremmo gli articoli generati dal
sito dedicato a tale corso. Per concludere l'argomento, è utile conoscere le definizioni di RSS
e RDF: RSS significa Rich Site Summary (Riassunto Arricchito del Sito) e il modo in cui è
stato definito tale formato si può consultare in http://my.netscape.com/publish/formats/rss-
0.91.dtd. RDF sta per Resource Description Framework (Quadro descrittivo delle risorse) e la
definizione si trova in http://www.w3.org/TR/REC-rdf-syntax.

• Nome file. I blocchi possono avere funzioni specializzate, ad esempio i blocchi degli “Articoli
vecchi” o “chi sta in linea” che compiono operazioni sul database e svolgono certe attività
specifiche dentro lo stesso. Se il blocco è uno di questi programmi, in questa riga si deve
inserire il nome del file che contiene detta funzione.

• Contenuto. Il contenuto serve per i blocchi semplici che contengono codice HTML statico.
Possiamo scrivere un testo qualsiasi con i suoi collegamenti, immagini ed il resto degli
elementi standard delle pagine web.

• Posizione. La posizione, in questo ambito, è Sinistra, Destra, Centra su e Centra giù. E'
importante osservare che ci sono temi che non supportano le posizioni Centra su e Centra
giù, cosicché dovremo scegliere, in quanto possibile e necessario, di utilizzare solo le
posizioni laterali standard.

• Attivare?. Quando creiamo un nuovo blocco, possiamo lasciarlo disattivato per correggerlo
finché non funziona bene e, una volta sistemato, attivarlo con tale opzione.

• Tempo Aggiornamento. Le scelte possibili per questo parametro sono1/2 ora, 1 ora, 5 ore, 10
ore e 24 ore. Tale opzione serve per i blocchi che si collegano ad altri siti e che dipendono
dai file RSS/RDF descritti più sopra. E' il tempo concesso per raggiungere l'altro sito e
recuperare il nuovo articolo. In qualche caso non conviene fare aggiornamenti tanto
ravvicinati come ogni mezzora ed è meglio farli ogni 24 ore, mentre ci sono siti dove mezzora
è un buon intervallo per mantenere le informazioni aggiornate.

55
• Chi può vederlo?. Questo parametro consente di stabilire quale classe di utenti può vedere il
blocco. Esistono quattro classi di utenti:

• Tutti. Questa, come dice il nome, serve a che il blocco specificato sia visibile a qualsiasi
visitatore, registrato o meno, del sistema.

• Solo Utenti Registrati. E' un blocco che è visibile solo agli utenti iscritti al sistema.

• Solo Amministratori. Visibile solo agli amministratori.

• Solo Utenti Anonimi. E' un blocco che solo gli utenti non registrati nel sistema possono
vedere, vale a dire che escludiamo amministratori e utenti registrati.

Per finire, c'è un bottone che dice “Crea Blocco”. Se viene premuto, il blocco diventa parte del
sistema, sempre e quando abbia i requisiti per farlo, come avere un nome, un contenuto e superare
altri controlli molto semplici. Una volta creato il blocco, può essere modificato con l'opzione di
amministrazione blocchi descritta precedentemente.

4.6. Gestione dei file scaricabili o “downloads”


Nella schermata del menù di amministrazione c'è un'opzione chiamata “downloads” che serve a
mantenere una serie di collegamenti a file che si possono scaricare da qualunque sito di internet.

La prima cosa da fare è creare una categoria principale. Si possono creare tante categorie
principali quante ne riterremo necessarie. Poi, eventualmente, potremmo creare delle sotto-
categorie. Dette sotto-categorie consentono di raffinare la classificazione degli scaricamenti. Per
esempio, in questo caso, abbiamo creato la sotto-categoria ”Manuali” dentro la categoria principale

56
“Documentazione”.

Una volta creata la categoria, appariranno nuove opzioni, tra le quali c'è “Aggiungi Nuovo
Download”, così come si vede qui di seguito.

Le opzioni sono le seguenti:

• Nome programma. Qui si scrive il nome del file scaricabile. Tuttavia non serve che si tratti
del nome fisico del file, ma piuttosto una descrizione di ciò che contiene. Per esempio
potrebbe essere “Corso di PHP-Nuke”.

• Collegamento file. URL (Uniform Resource Locator o localizzatore uniforme di risorse) è il


luogo all'interno di internet dove si trova fisicamente il file. Per esempio, nel caso di questo
corso, http://curso.ajusco.upn.mx/curso-phpnuke.pdf (versione originale in lingua spagnola –
ndt).

57
• Categoria. Si tratta della categoria e della sotto-categoria alle quali appartiene questo
scaricamento. Le sotto-categorie vengono dopo una sbarra, per esempio,
“Documentazione/Manuali”.

• Descrizione (255 caratteri max). Qui viene descritto del file da scaricare, per esempio,
“Questo è un corso/laboratorio di PHP Nuke orientato agli utenti con conoscenze molto
elementari di informatica affinché creino un portale internet dove collocare articoli, fori di
discussione e altre attività”.

• Nome Autore. E' il nome della persona che mette a disposizione il file da scaricare, per
esempio “Max de Mendizábal”

• Email Autore. E' l'indirizzo elettronico dell'autore, per esempio, “[email protected]”.

• Dimensione file (in bytes). E' la dimensione in byte del file scaricabile: per esempio “756000”
genererà 738.28 kb. Deve trattarsi di un numero intero.

• Versione. La versione, se esiste, del file. Per esempio “2.0”, cioè può essere qualsiasi stringa
di testo.

• Home. E' la pagina dove si possono trovare più informazioni circa questo file scaricabile, per
esempio “http://curso.ajusco. upn.mx”.

• Hits. Il numero di volte che è stato effettuato lo scaricamento del file. Serve per impostare i
contatori a valori diversi da zero; per esempio, “150” è un valore accettabile. Deve essere un
valore numerico intero.

Una volta inserito un collegamento, è possibile amministrarlo, scrivere una recensione sul file
scaricabile ed alcune altre semplici operazioni.

4.7. Edit Amministratori


Per aggiungere autori, o amministratori, come si preferisce, si segue lo stesso procedimento
utilizzato per entrare nel sistema la prima volta, come abbiamo descritto nella sezione 2.4.2
“Aggiungere un nuovo editore/amministratore” che si trova a pagina 13.

58
4.8. Edit Utenti
In modo simile, gli utenti esterni hanno una forma di registro automatica. Però possiamo
modificare i loro dati utilizzando questa opzione.

Le opzioni mostrate dal sistema sono le seguenti:

• Nickname (richiesto). E' il nomignolo con cui apparirà il nome dell'utente. Può essere di una

59
sola parola, ma ci sono trucchi come paolo_rossi, che, per il computer, è una sola parola.
Questo campo è indispensabile.

• Nome. E' il nome “reale” dell'utente. Appare quando si richiedono maggiori informazioni su
utente.

• Email (richiesto). L'indirizzo elettronico di posta dell'utente. E' essenziale che esista poiché lì
sarà inviata la password automatica per accedere al portale.

• Falsa Email. E' un indirizzo di posta elettronica che gli altri utenti possono vedere. Non è
conveniente indicare quello reale perché questo avrebbe come conseguenza che i programmi
di raccolta su web di indirizzi di posta potrebbero inserirlo negli elenchi di posta spazzatura,
meglio noti come spam.

• URL. Se l'utente ha una pagina web, può indicarla qui.

• Numero ICQ. Si può anche indicare il numero di ICQ.

• Numero AIM. O di AIM (AOL Istant Messenger - ndt).

• Numero YIM. O di YIM (Yahoo! Istant Messenger – ndt).

• Numero MSNM. O di MSNM.

• Residenza. E' il posto dove vive.

• Occupazione. Che cosa fa.

• Interessi. Ciò che gli piace, che non gli piace, che lo interessa.

• Opzioni-Abilita gli altri utenti a vedere il mio indirizzo email. Questa serve per mostrare
l'indirizzo di posta vero agli altri utenti registrati del sistema.

• Newsletter. Serve per mostrare l'indirizzo di posta vero agli altri utenti registrati del sistema.

• Newsletter. Se desideriamo ricevere il bollettino degli articoli per posta.

• Firma. E' una scritta in calce alla pagina di ciascun messaggio inviato dall'utente.

• Password. La parola d'ordine dell'utente che può essere modificata in questa casella.

4.9. Enciclopedia
Ciò che viene chiamato “enciclopedia” è una specie di glossario dove possiamo definire termini
o frasi complete. Solitamente sono utili come complemento di un foro di discussione. Per creare una

60
nuova “enciclopedia”, dobbiamo riempire solo alcuni campi, il titolo dell'enciclopedia, una
descrizione e se vogliamo attivarla o meno.

Una volta creata l'enciclopedia, possiamo aggiungere gli articoli. La particolarità di questa
modalità è che possiamo inserire testi molto lunghi. Per dividere le pagine possiamo inserire una
meta-etichetta chiamata -pagebreak-.
Dobbiamo inserire semplicemente il titolo dell'articolo, il contenuto e scegliere a quale
enciclopedia appartiene.

4.10. Eventi storici


Gli eventi storici (ephemerids in inglese - ndt) permettono di registrare date significative dentro
un foro. Ad esempio, per ricordare il giorno della catastrofe di Hiroshima, possiamo aggiungere la
data nel modo seguente:

61
Questi eventi storici possono essere modificati successivamente utilizzando l'opzione
“Manutenzione Eventi (Modifica/Cancella)” dove scegliamo la data e appare l'evento precedente.
Infine, se vogliamo che appaia un riquadro degli eventi, dobbiamo recarci nella opzione blocchi
e, dove si trova il blocco fisso di sistema ephemerids, attivarlo.
A partire dalla versione 5.3.1 di PHP-Nuke, tale blocco fisso di sistema non esiste più. Per gli
eventi storici si ricorre alla opzione “Aggiungi Blocco” e nella opzione “Nome File” scegliamo
“Ephemerids” e premiamo il pulsante “Crea Blocco”.

4.11. FAQ
La sezione Frequently Asked Questions o domande più frequenti, serve per collocare lì le FAQ
che fanno perdere tempo in un foro. Possiamo classificarle in varie categorie. Per esempio, se il foro
trattasse di “Educazione e Sessi” potremmo creare categorie come “Domande tecniche attinenti al
calcolo”, “Domande sull'educazione e i sessi”, “Domande sui sessi” e così via.

Una volta creata la categoria, è possibile aggiungere una domanda:

E poi le categorie e le domande possono essere modificate.

Una buona raccolta di domande di uso frequente facilita il lavoro dell'amministratore del foro.

62
Rispondere alle stesse domande più volte è una fatica logorante che non vale la pena di affrontare e
che può essere evitata attivando questa funzione.

4.12. Fori
I fori consentono di avere un contenitore dedicato esclusivamente alla discussione su un
argomento, tuttavia, sebbene funzionino in modo simile a quello di quando si inserisce un articolo,
si utilizza un sistema chiamato fori “Splatter” che, dal punto di vista grafico e funzionale, è più
avanzato rispetto al sistema standard dei fori PHP-Nuke. Per utilizzare tale sistema di fori è
necessario attivare il modulo dal menù dell'amministratore. Dopo di che dobbiamo aggiungere la
categoria della discussione e e cominciare con un argomento per il foro di discussione. Questa è
un'altra alternativa ai fori in PHP-Nuke; provate se funziona meglio rispetto all'opzione di discutere
gli articoli.

4.13. HTTP Referers


Tale opzione ci permette di vedere da quale sito siamo stati collegati. E' automatica. Con il
trascorrere del tempo ci mostra i siti attraverso i quali si sono collegati alla nostra pagina. Ha solo
un opzione per cancellare tali informazioni e per ricominciare da zero.

4.14. Messaggi
I messaggi permettono all'amministratore di mostrare una nota all'inizio del portale; essi sono la
pagina principale del sistema ed è conveniente inserire una spiegazione affinché gli utenti sappiano
in che tipo di portale stanno entrando. La schermata dove mettere un nuovo messaggio è la
seguente:
Il titolo è l'intestazione del messaggio, il contenuto è il messaggio stesso. Può contenere codice
HTML o testo puro. E' conveniente che sia molto interessante posto che sarà il primo che l'utente
vedrà entrando nel sito. La “Scadenza” ci consente di stabilire quanto tempo deve restare visibile il
messaggio: può durare un solo giorno, due, cinque, trenta giorni o per un tempo illimitato. Si
domanda anche se il messaggio è attivo o meno e, infine, a chi è destinato il messaggio. I possibili
destinatari del messaggio possono essere tutti, solo gli utenti anonimi, solo gli utenti registrati o
solo gli amministratori.

63
4.15. Moduli
I moduli offrono la possibilità di estendere le funzionalità del PHP-Nuke aggiungendo nuove
funzioni al portale. Cosa possiamo fare con questa opzione? Praticamente qualsiasi cosa che
abbiamo visto in internet: mantenere un negozio virtuale, creare una chat, costruire applicazioni con
flash o semplicemente inserire delle informazioni statistiche specifiche, o un questionario da
riempire per richiedere dati di qualsiasi cosa. Sfortunatamente per creare moduli nuovi è necessario
saper programmare in PHP, leggere alcuni moduli già creati e capire la filosofia interna di PHP-
Nuke, cosa che esce dagli obbiettivi di questo corso.

4.16. Newsletter
Invia tramite posta elettronica un insieme di articoli agli utenti del sistema. La prima cosa da fare
è scrivere un titolo, il contenuto del bollettino e scegliere se inviare il bollettino a tutti gli utenti
registrati o solo a quelli che l'hanno richiesto. Per attivare il bollettino, basta premere il tasto “Invia”
(nel menù di “Anteprima”).

4.17. Optimize DB

64
Ottimizza il database. Si utilizza solo quando il sistema è funzionante da diverso tempo.

4.18 Recensioni
Le recensioni servono per valutare un determinato materiale di interesse per la comunità. La
prima cosa da fare è dare un titolo alla pagina delle recensioni. Per esempio, un titolo potrebbe
essere “Prime visioni cinematografiche” dove possiamo recensire le pellicole che vedono i membri
del foro. Una volta scritto il titolo, possiamo aggiungere una recensione selezionando il
collegamento “Clicca qui per scrivere una recensione”. Le informazioni richieste dal sistema sono:

• Titolo prodotto. Qui possiamo scrivere il nome della pellicola o del prodotto recensito, per
esempio “Harry Potter e la pietra filosofale”.

• Recensione. Qui scriviamo la recensione, Com'è il film, sprazzi della trama, com'è la regia, la
musica e la scelta dei personaggi.

• Tuo Nome. Nome del recensore.

• Tuo Email. L'indirizzo di posta elettronica del recensore.

• Voto. Va dall'1 al 10 e verrà rappresentato da mezza stella fino a cinque stelle.

• Link Correlati. Se c'è una pagina web che mostra il prodotto recensito, per esempio,
http://www.harrypotter.com.

• Titolo Link. E' il testo che mostrerà il collegamento, per esempio, “La pagina ufficiale di
Harry Potter”.

65
• Nome File Immagine. Se esiste un'immagine disponibile per mostrare il film, qui possiamo
mettere il nome del file, il quale si dovrà trovare nella directory /images/reviews.

Una volta finito di riempire tutti i campi dei dati, dobbiamo selezionare l'opzione “Anteprima” e
poi, se non viene riportato nessun errore, possiamo pubblicare la recensione. Una recensione
pubblicata si vede come segue:

4.19. Sezioni
Le sezioni sono un'altra maniera di classificare le informazioni. Si utilizzano per quelle
informazioni che non appariranno nella pagina principale e che sono specifiche di un argomento. Le
sezioni constano solo di due parti: un titolo della sezione e un'immagine che la rappresenta.
Seguono un formato chiuso per queste immagini. Per disegnarle correttamente, utilizziamo il file
/images/sections/template.gif e lì collochiamo ciò che di desidera. Una volta creata una sezione
potremo aggiungere articoli che appariranno solo in detta sezione.

4.20. Sondaggio
I sondaggio consentono di richiedere le opinioni degli utenti sopra qualsiasi argomento relativo
al sito. Sono molto semplici: si presenta la domanda e si offrono alcune risposte multiple tra le quali
se ne può scegliere solo una. Ha un meccanismo di sicurezza primitivo che impedisce di votare due
volte dalla medesima macchina.

4.21. Manager Argomenti


Gli argomenti sono un modo di classificazione grafica che PHP-Nuke utilizza per decorare un
articolo. Ciascun argomento è associato ad un'icona grafica che lo identifica. Per utilizzare il
manager di argomenti dobbiamo decidere la suddivisione tematica del nostro foro ed elaborare le
immagini corrispondenti. In versioni precedenti di PHP-Nuke c'erano vari argomenti predefiniti:
AMD, Apple/Mac, BeOS, Caldera Systems, Compaq, Corel, Debian, FreeBSD, Gimp, Gnome,
GNU/GPL, Hewlett Packard, IBM, Intel, Java, KDE, Linux, Mandrake, Microsoft, Mozilla,
Netscape, Perl, PHP-Nuke, RedHat, SGI, Sun, SuSE e X Window. Siccome molti di questi temi
non erano interessanti per le altre comunità, sono stati eliminati. Le dimensioni delle illustrazioni

66
debbono essere di 66 x 72 pixel (il pixel è l'unità di misura degli schermi grafici). E' pure
conveniente ponderare attentamente la scelta degli argomenti e fare in modo che un disegnatore crei
i disegni con uno stile preciso e gradevole alla vista. E' fastidioso vedere siti con disegni di
dimensioni diverse o troppo difformi nello stile grafico.

4.21.1. Aggiungere un argomento

Anche creare un argomento è un compito semplice. Per fare ciò viene chiesto di creare prima un
file in formato grafico, preferibilmente .gif e di misura 66x72 pixel1, e di salvarlo nella directory
/images/topics. A partire da questo momento il nuovo file sarà una opzione quando creeremo
l'argomento. Andando in amministrazione argomenti osserveremo che nella parte inferiore c'è una
casella che si chiama “Aggiungi Argomento”. Una osservazione importante circa il nome del file
grafico: non deve essere troppo grande, contenere trattini, accenti o altri simboli.

Le opzioni sono: “Nome Argomento” che è dove si scrive come vogliamo chiamare la tematica
scelta. Osservate che deve essere un nome compatto di, al massimo, 20 caratteri e senza nessuno
spazio che lo divida. Ad esempio “rotolidelpotere” è una scelta corretta mentre “rotoli del potere”
no perché ha degli spazi; “Testo Argomento” è il posto del titolo che sarà mostrato a video. In
questo caso possiamo scrivere “Rotoli del potere”. Poi viene l'opzione “Immagine Argomento” in
cui si apre una barra di selezione con tutte le immagini che si trovano nella directory /images/topics.
Selezioniamo quell adatta all'argomento ed infine premiamo il tasto “Aggiungi Tema” per
concludere. A partire da questo momento il nostro argomento sarà disponibile per gli articoli che si
andranno a creare.

4.21.2. Cancellare un argomento

Per cancellare un argomento selezioniamo semplicemente l'icona dell'argomento dentro il


manager degli argomenti

1 La definizione di pixel si trova nel glossario a pagina 75

67
e poi scegliamo l'opzione “Cancella”.

4.22. Gestione dei collegamenti o “Web Links”


La gestione dei collegamenti o web links serve per inserire dei riferimenti ad altre pagine
internet, valutarle, classificarle e per consentire agli utenti del sistema di suggerire nuovi siti da
visitare. La prima cosa da fare è aggiungere una categoria principale per essi, ad esempio, “siti di
cinema”.

68
Una volta creata la categoria, possiamo iniziare ad aggiungere nuovi siti interni od esterni. Si
possono anche aggiungere sotto-categorie, però per questo esempio non lo faremo. Per aggiungere
un collegamento dobbiamo entrare nell'opzione di gestione dei web link e trovare, sul fondo, il
pulsante che dice “Aggiungi questo URL”.

Lì scriviamo semplicemente il titolo della pagina, preferibilmente il più possibile descrittivo, ad


esempio “Gli Oscar (tm)”, il riferimento alla pagina, o URL della pagina, “http://www.oscar.com”,
la categoria dove inserire questa pagina che, nel nostro esempio, è “Siti di cinema”, una descrizione
della pagina e il nome e l'indirizzo e-mail della persona che suggerisce il collegamento. Lavorando
sufficientemente, potremo avere una grande collezione di collegamenti che sarà utile alla comunità
di utenti del sito.

69
Capitolo 5

PHP-Nuke in profondità

5.1. SQL per principianti


Per ora consultate la bibliografia annessa. L'intendimento di questa sezione è di dare una breve
occhiata al linguaggio SQL (Standard Query Language, o, tradotto liberamente, linguaggio
standard per interrogare un database) che è il linguaggio utilizzato da PHP-Nuke per comunicare
con il suo database, MySQL. MySQL è un gestore di database molto semplice, che non supporta
alcune delle funzione dei suoi cugini più complessi come PostgresSQL, ma che è sufficiente per la
maggior parte delle applicazioni elementari. La pagina web di MySQL è htp://www.mysql.com e
possiamo trovare della documentazione in italiano nei siti http://www.linuxvalley.it o
wwwstud.dsi.unive.it/~nmasiero/manuali/MySQLCourse.pdf ed altri ancora.
La bibliografia si trova nella sezione 6 a pagina 74.

5.2. Installazione dei moduli


I moduli consentono l'installazione di nuove funzioni che PHP-Nuke non possiede o che non
funzionano benissimo. Una di queste funzioni aggiuntive che è auspicabile in un foro, è quella di
sostenere conversazioni in linea, o chat, come viene chiamato solitamente questo sistema. Perciò
vedremo come installare un modulo di chat.

Modulo di chat

Esistono molti moduli di chat disponibili per PHP-Nuke, tuttavia, non sono semplici da
installare, né da utilizzare. Ne abbiamo scelti solo due di questi, uno tedesco chiamato MM-Chat e
Web_Chat. Il primo utilizza solo PHP-Nuke e MySQl, mentre il secondo usa Java.
Per installare Web_Chat scompattiamo il file web_chat.zip nella directory dei moduli della
nostra macchina. Se utilizziamo Windows, è

70
c:\appserv\www\phpnuke-5.2\modules

/var/www/html/modules

per la versione in Linux.


Lì creeremo una directory chiamata web_chat e automaticamente verrà generata nel menù
principale una nuova opzione chiamata “web_chat”, da dove potremo utilizzare una chat
relativamente completa. Per configurarla basta modificare il file web_chat.php e cambiare l'host
della chat.
Nel caso di MM-Chat.zip è necessario scompattarlo nella directory principale del PHP-Nuke,
cioè

c:\appserv\www\phpnuke-5.2\modules

/var/www/html/modules

per la versione in Linux.


In aggiunta va inserita una tabella nuova chiamata nuke_chatbox e per fare ciò si deve avviare
phpMyAdmi, cioè utilizzare l'indirizzo

http://localhost/phpMyAdmin-2.2.0

Lì selezioniamo il database phpnuke e premiamo l'opzione “Esegui SQL”.


Scriviamo poi con molta attenzione quanto segue:

CREATE TABLE nuke_chatbox (


username text,
ip varchar(50),
message text,
date int(15),
id int(10),
dbname tinyint(4)
);

e poi scriviamo “Continue”. Con ciò avremo creato una tabella dove verrà conservata la
conversazione simultaneamente.
Dopo di che dovremo aggiungere un blocco di file con il nome “c-h-a-t” e voilá, avremo già la
nostra chat grafica.
Nel caso di Linux è forse più facile: dal prompt del sistema operativo, con l'account di root,
scriviamo

# mysql nucleare < chat.sql

Tale comando creerà la tabella nel database “nucleare”, che è quello che stiamo utilizzando in
questo corso.

71
5.3. Installazione e creazione di temi grafici
La creazione di temi grafici è una questione artistica e richiede un disegnatore con esperienza di
internet per produrre qualcosa di utile. E' pure necessario un programmatore di PHP che sappia
trasfondere le idee del disegnatore in codice. Dal punto di vista del programmatore, è necessario
studiare altri temi grafici già realizzati e funzionanti per crearne di nuovi.

5.4. Backup
Un'attività fondamentale per qualsiasi progetto informatico è la capacità di ricostruire le
informazioni perdute a causa di problemi contingenti quali incidenti elettrici o fisici degli apparati
dove funzionano i nostri programmi. E' perciò necessario mantenere una politica di backup delle
informazioni. Per esempio, si possono programmare dei salvataggi giornalieri, settimanali o mensili
a seconda della quantità di informazioni che si accumulano giorno dopo giorno.

5.5. Aggiornamenti
In ciascuna nuova versione di PHP-Nuke ci sono una serie di file di aggiornamento nella
directory /html/upgrades. Ad esempio, se abbiamo installato la versione 5.2 e vogliamo aggiornarla
alla versione 5.3.1, è necessario utilizzare un paio di file di aggiornamento: upgrade52-53.php e
upgrade53-532.php.
Editiamo ciascuno di questi file per impostare i parametri corretti a $host, $database, $username,
$password, $prefix e $userprefix. Questi parametri devono essere identici a quelli contenuti
attualmente nel file config.php della directory radice della nostra installazione PHP-Nuke.
Una volta modificati, copiamo i file di aggiornamento nella directory radice e, da un navigatore,
invochiamoli nel modo seguente:

http://curso.ajusco.upn.mx/upgrade52-53.php
http://curso.ajusco.upn.mx/upgrade53-531.php

Ciò genererà le nuove tabelle che si saranno create tra le versioni e sposterà i nostri dati nelle
nuove strutture.
Una volta aggiornato il database, cancelliamo tutti i file della versione 5.2 di PHP-Nuke e
copiamo tutti i file della nuova versione 5.3.1 nella stessa directory. Poi modifichiamo il file
config.php affinché si adatti ai cambi effettuati in precedenza. Finalmente il sito utilizzerà la nuova
versione 5.3.1 e non dovrebbe avere problemi. Tuttavia, se erano state effettuate delle modifiche al
codice per aggiungere alcune funzioni speciali, sarà necessario ripeterle sul nuovo codice di PHP-
Nuke.
La spiegazione originale circa tale argomento si può trovare nel sito

http://www.phpnuke-espanol.org/article.php?sid=828

72
ed è stata scritta da “nukeman”.

5.6. Considerazioni sulla sicurezza


Consultate il sito http://nuke-security.com che vi fornirà molti consigli su come migliorare la
sicurezza di PHP-Nuke.

73
Capitolo 6

Bibliografia

An introduction to Database Systems (Vol. I, II), C.J.Date, Ed. Addison Wesley, 7th Edition,
2000.
HTML The Definitive Guide, Musciano & Kennedy, Ed. O'Reilly &Associates, Sebastopol, 1997
SQL & It's applications, Raymond A. Lorie and Jean-Jackues Daudenarde, Ed. Prentice Hall,
New Jersey, 1991.

74
Appendici

7.0.1. Domande di verifica

1. Cosa significa URL?

2. Cos'è HTTP?

3. Cos'è HTML?

4. Cos'è una comunità virtuale?

5. Cos'è un foro di discussione?

6. Cos'è una chat?

7. Cos'è SQL?

8. Scrivete una pagina web che contenga solo un collegamento ipertestuale alla pagina
dell'Universidad Pedagógica Nacional, che sta all'indirizzo http://www.upn.mx

9. In una rivista quale è il lavoro di un editore?

10.Descrivete il processo di edizione di un articolo a mezzo stampa

11.Cosa vi attendete da questo corso?

7.0.2. Cloni di PHP-Nuke e altri siti interessanti

http://phpnuke.it
http://phpnuke.org
http://myphpnuke.com
http://www.nukeaddon.com
http://www.postnuke.com
http://www.spaghettibrain.com

7.0.3. Glossario

byte Ciascuna lettera o simbolo scritto nel computer misura un byte. Dal punto di vista
tecnico un byte è formato da otto bit, cioè otto spazi che possono contenere uno o zero.

75
HTML Sigla di HyperText Markup Language ovvero Linguaggio di Marcatura per Ipertesti. E'
il linguaggio con il quale si sviluppano le pagine web.

HTTP Sigla di HyperText Transfer Protocol, ovvero Protocollo di Trasferimento Ipertesti. E'
il modo con cui comunicano il navigatore (browser) ed il server delle pagine web.

Pixel E' l'abbreviazione delle parole inglesi picture element, o elemento grafico. E' definito
come la superficie omogenea più piccola ed equivale al concetto di punto. Tale termine
si utilizza in genere per definire le caratteristiche dell'alta risoluzione nello schermo.
Così, nel CRT (Cathode Rays Tube o tubo a raggi catodici) di un computer i pixel sono
i piccolissimi puntini che formano l'immagine. In un CRT quadrettato per caratteri ogni
lettera o simbolo occupa un pixel.

RDF RDF è Resource Description Framework (Quadro descrittivo delle risorse) e la


definizione si trova in http://www.w3.org./TR/REC-rdf-syntax.

RSS RSS significa Rich Site Summary ( Riassunto Arricchito del Sito) e la forma in cui è
stato definito tale formato è disponibile per la consultazione all'indirizzo
http://my.netscape.com/publish/formats/rss-0.91.dtd.

SQL Sigla di Standard Query Language, ovvero Linguaggio Standard di Interrogazione. E'
un linguaggio per effettuare richieste ad un database relazionale.

URL Sigla di Uniform Resource Locator, ovvero Localizzatore Uniforme di Risorse. In


generale è il modo in cui viene descritto l'indirizzo di una pagina web o di un sito ftp.
Per esempio htt://www.upn.mx e ftp://ftp.ajusco.upn.mx sono rispettivamente le URL
della pagina web dell'Universidad Pedagógica Nacional e del sito ftp dell'Università.

76
Licenza della traduzione

Il traduttore mette a disposizione di tutti il testo tradotto senza fornire od accettare


responsabilità di alcun genere per i contenuti dello stesso.
Questa traduzione viene rilasciata con il permesso dell'autore del testo originale e, come già
indicato a pagina 2, sotto la licenza GNU Free Documentation Licence v. 1.2, che viene riportata
in lingua inglese nella seguente sezione:

GNU Free Documentation License


Version 1.2, November 2002

Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.


59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but
changing it is not allowed.

0. PREAMBLE

The purpose of this License is to make a manual, textbook, or other functional and useful
document "free" in the sense of freedom: to assure everyone the effective freedom to copy and
redistribute it, with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way to get credit for their
work, while not being considered responsible for modifications made by others.

This License is a kind of "copyleft", which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which is a
copyleft license designed for free software.

We have designed this License in order to use it for manuals for free software, because free
software needs free documentation: a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited to software manuals; it can be used
for any textual work, regardless of subject matter or whether it is published as a printed book. We
recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

This License applies to any manual or other work, in any medium, that contains a notice placed
by the copyright holder saying it can be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration, to use that work under the

77
conditions stated herein. The "Document", below, refers to any such manual or work. Any member
of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or
distribute the work in a way requiring permission under copyright law.

A "Modified Version" of the Document means any work containing the Document or a portion
of it, either copied verbatim, or with modifications and/or translated into another language.

A "Secondary Section" is a named appendix or a front-matter section of the Document that deals
exclusively with the relationship of the publishers or authors of the Document to the Document's
overall subject (or to related matters) and contains nothing that could fall directly within that overall
subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not
explain any mathematics.) The relationship could be a matter of historical connection with the
subject or with related matters, or of legal, commercial, philosophical, ethical or political position
regarding them.

The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being
those of Invariant Sections, in the notice that says that the Document is released under this License.
If a section does not fit the above definition of Secondary then it is not allowed to be designated as
Invariant. The Document may contain zero Invariant Sections. If the Document does not identify
any Invariant Sections then there are none.

The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.

A "Transparent" copy of the Document means a machine-readable copy, represented in a format


whose specification is available to the general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of pixels) generic paint
programs or (for drawings) some widely available drawing editor, and that is suitable for input to
text formatters or for automatic translation to a variety of formats suitable for input to text
formatters. A copy made in an otherwise Transparent file format whose markup, or absence of
markup, has been arranged to thwart or discourage subsequent modification by readers is not
Transparent.
An image format is not Transparent if used for any substantial amount of text. A copy that is not
"Transparent" is called "Opaque".

Examples of suitable formats for Transparent copies include plain ASCII without markup,
Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and
standard-conforming simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include
proprietary formats that can be read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are not generally available, and the machine-
generated HTML, PostScript or PDF produced by some word processors for output purposes only.

The "Title Page" means, for a printed book, the title page itself, plus such following pages as are
needed to hold, legibly, the material this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means the text near the most
prominent appearance of the work's title, preceding the beginning of the body of the text.

78
A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely
XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here
XYZ stands for a specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you
modify the Document means that it remains a section "Entitled XYZ" according to this definition.

The Document may include Warranty Disclaimers next to the notice which states that this
License applies to the Document. These Warranty Disclaimers are considered to be included by
reference in this License, but only as regards disclaiming warranties: any other implication that
these Warranty Disclaimers may have is void and has no effect on the meaning of this License.

2. VERBATIM COPYING

You may copy and distribute the Document in any medium, either commercially or
noncommercially, provided that this License, the copyright notices, and the license notice saying
this License applies to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use technical measures to obstruct or
control the reading or further copying of the copies you make or distribute. However, you may
accept compensation in exchange for copies. If you distribute a large enough number of copies you
must also follow the conditions in section 3.

You may also lend copies, under the same conditions stated above, and you may publicly display
copies.

3. COPYING IN QUANTITY

If you publish printed copies (or copies in media that commonly have printed covers) of the
Document, numbering more than 100, and the Document's license notice requires Cover Texts, you
must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover
Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly
and legibly identify you as the publisher of these copies. The front cover must present the full title
with all words of the title equally prominent and visible. You may add other material on the covers
in addition.
Copying with changes limited to the covers, as long as they preserve the title of the Document
and satisfy these conditions, can be treated as verbatim copying in other respects.

If the required texts for either cover are too voluminous to fit legibly, you should put the first
ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
pages.

If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or
with each Opaque copy a computer-network location from which the general network-using public
has access to download using public-standard network protocols a complete Transparent copy of the
Document, free of added material.

79
If you use the latter option, you must take reasonably prudent steps, when you begin distribution
of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the
stated location until at least one year after the last time you distribute an Opaque copy (directly or
through your agents or retailers) of that edition to the public.

It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated
version of the Document.

4. MODIFICATIONS

You may copy and distribute a Modified Version of the Document under the conditions of
sections 2 and 3 above, provided that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the Document, thus licensing distribution and
modification of the Modified Version to whoever possesses a copy of it. In addition, you must do
these things in the Modified Version:

A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise

80
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.

If the Modified Version includes new front-matter sections or appendices that qualify as
Secondary Sections and contain no material copied from the Document, you may at your option
designate some or all of these sections as invariant. To do this, add their titles to the list of
Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.

You may add a section Entitled "Endorsements", provided it contains nothing but endorsements
of your Modified Version by various parties--for example, statements of peer review or that the text
has been approved by an organization as the authoritative definition of a standard.

You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25
words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only
one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity. If the Document already includes a cover text for the same
cover, previously added by you or by arrangement made by the same entity you are acting on behalf
of, you may not add another; but you may replace the old one, on explicit permission from the
previous publisher that added the old one.

The author(s) and publisher(s) of the Document do not by this License give permission to use
their names for publicity for or to assert or imply endorsement of any Modified Version.

5. COMBINING DOCUMENTS

You may combine the Document with other documents released under this License, under the
terms defined in section 4 above for modified versions, provided that you include in the
combination all of the Invariant Sections of all of the original documents, unmodified, and list them
all as Invariant Sections of your combined work in its license notice, and that you preserve all their
Warranty Disclaimers.

81
The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same
name but different contents, make the title of each such section unique by adding at the end of it, in
parentheses, the name of the original author or publisher of that section if known, or else a unique
number.
Make the same adjustment to the section titles in the list of Invariant Sections in the license
notice of the combined work.

In the combination, you must combine any sections Entitled "History" in the various original
documents, forming one section Entitled "History"; likewise combine any sections Entitled
"Acknowledgements", and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".

6. COLLECTIONS OF DOCUMENTS

You may make a collection consisting of the Document and other documents released under this
License, and replace the individual copies of this License in the various documents with a single
copy that is included in the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.

You may extract a single document from such a collection, and distribute it individually under
this License, provided you insert a copy of this License into the extracted document, and follow this
License in all other respects regarding verbatim copying of that document.

7. AGGREGATION WITH INDEPENDENT WORKS

A compilation of the Document or its derivatives with other separate and independent documents
or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the
copyright resulting from the compilation is not used to limit the legal rights of the compilation's
users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not apply to the other works
in the aggregate which are not themselves derivative works of the Document.

If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if
the Document is less than one half of the entire aggregate, the Document's Cover Texts may be
placed on covers that bracket the Document within the aggregate, or the electronic equivalent of
covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole aggregate.

8. TRANSLATION

Translation is considered a kind of modification, so you may distribute translations of the


Document under the terms of section 4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may include translations of some or all
Invariant Sections in addition to the original versions of these Invariant Sections. You may include

82
a translation of this License, and all the license notices in the Document, and any Warranty
Disclaimers, provided that you also include the original English version of this License and the
original versions of those notices and disclaimers. In case of a disagreement between the
translation and the original version of this License or a notice or disclaimer, the original version will
prevail.

If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the


requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual
title.

9. TERMINATION

You may not copy, modify, sublicense, or distribute the Document except as expressly provided
for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is
void, and will automatically terminate your rights under this License. However, parties who have
received copies, or rights, from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.

10. FUTURE REVISIONS OF THIS LICENSE

The Free Software Foundation may publish new, revised versions of the GNU Free
Documentation License from time to time. Such new versions will be similar in spirit to the present
version, but may differ in detail to address new problems or concerns. See
http://www.gnu.org/copyleft/.

Each version of the License is given a distinguishing version number.


If the Document specifies that a particular numbered version of this License "or any later
version" applies to it, you have the option of following the terms and conditions either of that
specified version or of any later version that has been published (not as a draft) by the Free
Software Foundation. If the Document does not specify a version number of this License, you may
choose any version ever published (not as a draft) by the Free Software Foundation.

83
Brevi note del traduttore
Solo da poco, vista la mia annosa passione per l'informatica, sono stato invitato a sistemare un
portale in PHP-Nuke in modo da renderlo più funzionale: questo è stato il mio primo contatto con
il programma descritto nella traduzione.
Così mi sono gettato alla ricerca su internet di documenti che trattassero l'argomento.
Sebbene avessi già trovato un testo in italiano, “PHPNUKE Gestione e programmazione”
scritto da Claudio Erba e pubblicato sul sito www.spaghettibrain.com, assetato com'ero di
ulteriore documentazione, mi sono imbattuto nel testo in lingua spagnola, scritto da Max de
Mendizábal ([email protected]), che, salvo errori, lavora all'interno dell'Universidad
Pedagógica Nacional nei pressi di Città del Messico.
Quello che mi ha colpito di questo manuale è stata l'estrema chiarezza e semplicità espositiva,
unite da un attento uso delle illustrazioni per aiutare chi, come me, si avvicina la prima volta al
sistema PHP-Nuke.
Ammetto di non conoscere lo spagnolo, ma la passione e la trascorsa consuetudine a tradurre
da altre lingue mi hanno aiutato non poco nell'impresa.
Il risultato è sotto gli occhi di tutti ed è stato ottenuto utilizzando esclusivamente programmi
open source di cui sono un sostenitore.
Infatti il testo è nato grazie alla potente suite OpenOffice e le immagini sono state create e
rielaborate grazie soprattutto all'impareggiabile Gimp, software questi che giravano
meravigliosamente bene sotto l'ala protettiva di Linux (Mandrake 9.1) in un computer portatile
vecchio di tre anni e dotato di un ormai modesto Celeron 466.
La traduzione vuole essere un mio contributo al mondo dell'informatica libera per quanto mi ha
dato senza chiedere mai nulla in cambio.
Non è stato semplice tradurre il manuale poiché ho dovuto adattare alla realtà italiana alcune
parti del testo, soprattutto riferimenti a siti in lingua spagnola, ed anche quasi tutte le immagini,
tratte queste dalla versione 6.5 del PHP-Nuke in lingua italiana.
Un ringraziamento particolare va naturalmente al prezioso autore, che non conosco
personalmente ma che ha conquistato con la sua sapiente esposizione degli argomenti la mia
prolungata attenzione per tutto il centinaio di pagine di cui è composto il testo originale.
Il traduttore

84

Potrebbero piacerti anche