LE PAGINE WEB PERSONALI
Gli utenti di ReteIsi hanno la possibilità di pubblicare sulla rete dell'Istituto un sito web personale posto sotto il proprio diretto controllo. Qualora il web server della scuola sia raggiungibile dall'esterno, il sito personale risulta raggiungibile anche via internet.
Riteniamo tale possibilità molto interessante per le implicazioni didattiche che essa evidentemente possiede. Ci vengono in mente:
- diffusione dell'uso consapevole del web attraverso attività di redazione di pagine web, senza trascurare la valenza didattica degli ipertesti per la lingua italiana
- messa a disposizione di un ambiente completo e professionale orientato alla produzione di documenti ipertestuali (si possono pubblicare sia pagine statiche che pagine dinamiche, ad esempio in PHP)
- il web come strumento standard di redazione documentale (si pensi ad esempio alla programmazione curricolare individuale degli insegnanti che potrebbe essere redatta e resa disponibile direttamente in questa forma)
- disponibilità di un ambiente redazionale e comunicativo anche sostitutivo rispetto al tradizionale quaderno.
- potenziamento degli strumenti di comunicazione tra insegnanti, studenti e famiglie degli studenti.
La homepage personale sarà generalmente raggiungibile all´url:
http://nome_server/~nome_utente/index.html
Per attivare la funzionalità occorre
- configurare opportunamente il web server Apache
- creare nella cartella personale che si vuole abilitare la sottocartella public_html, preferibilmente utilizzando /etc/skel e il comando home_setperm nome_gruppo
- configurare Samba e modificare logon.bat, per rendere agli utenti più facilmente raggiungibile la cartella public_html
- creare una pagina di default di nome index.html e copiarla nella public_html dell´utente
- eventualmente personalizzare index.html col comando html_setindex nome_gruppo
La configurazione di Apache
Apache di ArgoLinux è già configurato per fornire la funzionalità in questione. In ogni caso basterà controllare che il file di configurazione /etc/apache/httpd.conf contenga le seguenti linee
.......
LoadModule userdir_module /usr/lib/apache/1.3/mod_userdir.so
.......
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
</IfModule>
.......
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
deny from all
</Limit>
</Directory>
.......
Fatte le modifiche del caso basterà riavviare Apache /etc/init.d/apache restart.
La configurazione di Samba
Per facilitare la vita agli utenti dei client Windows, si rendono necessarie alcune modifiche al file di configurazione di Samba
/etc/samba/smb.conf e allo script di logon
/home/samba/netlogon/%g/logon.bat (ricordiamo che
%g indica il gruppo principale a cui appartiene l'utente). Si tratta di modifiche di poco conto che hanno lo scopo di permettere la pubblicazione immediata delle pagine web tramite semplice salvataggio dei file html sull'unità
W: automaticamente connessa al momento del logon e in grado di garantire il salvataggio dei file con i corretti permessi, in modo che le pagine web siano visibili anche a utenti terzi (611) .
Le modifiche al file
/etc/samba/smb.conf riguardano solo le share
[home] e
[mioweb]; la prima va modificata, mentre la seconda va aggiunta.
[homes]
comment = Home Directories
browseable = no
writable = yes
guest ok = no
create mask = 0600
directory mask = 0700
*veto files = /public_html/* ; (1)
[mioweb]
comment = web directories
path = /home/%g/%u/public_html ; (2)
browseable = no
writable = yes
guest ok = no
force create mask = 0644 ;(3)
force directory mask = 0711
Effettuate le modifiche occorrerà ordinare un
# /etc/init.d/samba reload.
La share
[mioweb] potrà essere automaticamente connessa all´avvio aggiungendo allo script di logon la seguente riga:
NET USE W: \\%SRV%\mioweb
NOTE
(1) la direttiva
veto files ha lo scopo di impedire la visualizzazione della cartella
public_html all´utente windows che faccia un browsing della propria home directory. Gli utenti windows accederanno a quella cartella utilizzando la share
[mioweb] connessa all´unità
W:, o attraverso
Risorse del computer.
(2) il
path mostra che [mioweb] effettua la condivisione, per ogni utente (%g/%u) proprio della public_html personale.
(3) i permessi sulla share [mioweb] sono piu rilassati rispetto a quelli predisposti automaticamente da Samba per la share [home]. Se così non si facesse, i file registrati dall'utente in public_html avrebbero modo 600 e risulterebbero illeggibili a chiunque altro e quindi irraggiungibili da Apache.
La pubblicazione delle pagine web, quindi, comporterebbe anche la modifica manuale dei permessi sui file e sulle cartelle contenuti in public_html. Operazione non immediata per un utente windows.
Nel modo proposto invece l'assegnazione dei permessi giusti è effettuata automaticamente da Samba ogni volta che l'utente salva su
W:.
Predisporre public_html
Il modo più semplice per predisporre le home degli utenti è il seguente:
- creare in /etc/skel la cartella /etc/skel/public_html
- creare in /etc/skel/public_html il file index.html contenente una homepage di default
- aprire una console come utente root e digitare per ogni gruppo da abilitare il comando
home_setperm nome_gruppo
(se si utilizza la nostra homepage di default si potrà poi utilmente eseguire il comando html_setindex nome_gruppo che effettua su di essa una ulteriore personalizzazione).
La gestione remota delle pagine personali
Che cosa fa l'utente
L'utente puó modificare non solo a scuola ma anche da casa le proprie pagine web in molti modi, ad esempio:
- Conserva una copia locale del proprio sito web, lo edita nel modo desiderato e trasferisce poi sul server remoto le pagine nuove o modificate utilizzando uno dei tanti client ftp disponibili.
- Utilizza un editor completo e potente come Dreamweaver che è in grado di svolgere anche tutte le operazioni di pubblicazione delle pagine sul sito remoto.
- Utilizza Mozilla e il suo composer che offre anche l´utilissima funzione Publish per la pubblicazione delle pagine sul sito remoto. Il vantaggio di questa soluzione sta nella gratuità e nella semplicità d'uso, il limite nella potenza dell'editor e nel fatto che manca di funzioni per la gestione del progetto del sito.
Personalmente ritengo che la soluzione Mozilla sia un ottimo compromesso didattico, perché abbina gratuità e licenza GPL (quindi libera distribuzione) a tutto quel che serve per introdurre gli studenti ad un uso consapevole dell'HTML e del web. L'uso di Mozilla si riduce a poche semplici azioni:
- accedo via browser al mio sito usando l'url http://mio_server/~mio_nome/
- navigo fino alla pagina che voglio modificare
- richiamo il composer digitando Ctrl-E, faccio modifiche o aggiungo pagine nuove
- pubblico le modifiche usando il pulsante Publish
Ecco come configurare correttamente i
Publish settings per il Composer di Mozilla:
- Site name: indirizzo del sito es. lan.saraceno.org (corrisponde all'IP pubblico attraverso cui si raggiunge il server web)
- Pubblishing address: ftp://lan.saraceno.org/public_html/
- HTTP address of your homepage: http://lan.saraceno.org/~mio_nome/
- Username e password: quelli usati a scuola.
Una alternativa emergente a quanto sopra è
NVU, un nuovo progetto che ha l'ambizione di proporsi come alternativa open source a Dreamweaver e Frontpage. Si tratta in pratica del potenziamento del composer di Mozilla, integrato con un Site manager. Ne esiste, pronta per lo scaricamento sia la versione Linux che quella Windows, e per quanto preliminare può essere già utilizzato.
In Alternativa...
Se l'utente utilizza uno strumento di authoring differente per realizzare le pagine web e/o vuole comunque scaricare e caricare le pagine web utilizzando un client FTP, anche questo è possibile, utilizzando un qualsiasi programma libero o proprietario a sua scelta.
Qui di seguito daremo le istruzioni per l'uso di Esplora Risorse di Windows, dando per scontato che la maggioranza degli utenti (tutti quelli inesperti) a casa propria utilizzi una delle versioni di questo sistema operativo, e di Cupertino, un piccolo programma semplice ed intuitivo, sempre per Windows.
Esplora Risorse
Con Esplora risorse è sufficiente seguire questa procedura:
- connettersi a Internet;
- avviare Esplora Risorse, Risorse del Computer o Internet Explorer (di fatto il programma è lo stesso e funziona nello stesso modo)
- digitare nella barra dell'indirizzo: ftp://indirizzo_proprio_server oppure ftp://xxx.xxx.xxx.xxx (IP fisso del proprio router)
- dopo qualche secondo (dipende dalla velocità della connessione a Internet) appare una finestra che chiede di inserire nome utente e password (è possibile salvare la password, ma occorre valutare la sicurezza di tale operazione);
- inserendo il proprio nome utente e password di accesso alla rete, appare il contenuto della propria cartella personale (e relative sottocartelle).
- Utilizzando le normali funzioni di Esplora Risorse, è possibile copiare file e cartelle dal proprio computer alla cartella sul server della scuola e viceversa.
Cupertino
Cupertino è un piccolo (772 kb) programma client ftp, che si può
scaricare liberamente da Internet da molti siti web (basta fare una ricerca con google).
La procedura con Cupertino (e comunque molto simile con qualsiasi altro client ftp) è la seguente:
- avviare Cupertino: nella schermata si vede l'aspetto simile a Esplora Risorse con a sn le unità disco e a dx il contenuto di quella selezionata;
- fare clic sull'icona New Site;
- compilare la scheda che appare con i seguenti dati:
- Label: il nome che volete appaia accanto alla connessione FTP che state creando;
- Host Address: indirizzo_proprio_server o Ip fisso del proprio router;
- User ID: il vs nome utente
- Password: la vs password
- fatto ciò comparirà in fondo all'elenco delle risorse del computer anche la connessione FTP che avete appena impostato;
- Fare doppio clic su di essa per attivare la connessione (ovviamente occorre essere collegati a Internet);
- A questo punto si può vedere la cartella personale (e le sottocartelle, tra cui public_html), copiare i file dal proprio computer a quello della scuola e viceversa.
Configurazione del server
Naturalmente affinchè tutto funzioni occorre un server correttamente configurato. Con ArgoLinux la cosa è banale:
- ci si connette al server via ssh come utente root
- # apt-get install proftpd
- si modifica il file di configurazione di proftpd /etc/proftpd.conf aggiungendo la direttiva DefaultRoot ~
- si modifica il file /etc/pam.d/proftpd aggiungendo la richiesta di autenticazione via ldap.
- # /etc/init.d/proftpd restart
il contenuto di
/etc/pam.d/proftpd deve essere il seguente
auth sufficient pam_ldap.so
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_unix.so nullok
account sufficient pam_ldap.so
account required pam_unix.so
session sufficient pam_ldap.so
session required pam_unix.so
le righe in neretto sono quelle diverse rispetto al file standard prodotto con l'installazione del pacchetto.
Configurazione del firewall
Anche il firewall deve subire qualche piccola modifica (nel modello ISI firewall e server sono due macchine diverse). Occorre:
- abilitare la ridirezione del traffico ftp verso il server modificando il file /etc/argo/fw.add aggiungendo alla variabile PORT le porte 20 e 21
- abilitare l´ftp passivo aggiungendo i moduli del kernel ip_nat_ftp,ip_conntrack_ftp. La cosa richiede due azioni
- da linea di comando root digitare modprobe ip_nat_ftp e successivamente modprobe ip_conntrack_ftp
- rendere permanente l´utilizzo di questi moduli inserendoli nel file /etc/modules
Ma se posso scambiare file con la mia cartella home sul server...
Quando ci si collega con una sessione ftp al server della scuola, si accede alla propria cartella home che, a sua volta contiene la sottocartella public_html dove sta il proprio sito personale visibile su Internet.
Questo ha come corollario che posso accedere non solo a public_html per caricare/scaricare pagine web, ma a tutta la cartella. Posso quindi prelevare da casa anche un file di testo, oppure preparare una verifica o una lezione tramite una presentazione, disporre di tutto il materiale sia da casa che da scuola. E scusate se è poco.