28/03/2007 Cinzia Bocchi 1 Architetture distribuite I Web Server.
-
Upload
rosella-cavaliere -
Category
Documents
-
view
220 -
download
0
Transcript of 28/03/2007 Cinzia Bocchi 1 Architetture distribuite I Web Server.
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 11
Architetture distribuiteArchitetture distribuite
I Web ServerI Web Server
2228/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
ContenutiContenuti
Applicazioni distribuite e paradigmi di Applicazioni distribuite e paradigmi di comunicazionecomunicazione
I Web ServerI Web Server
Il Web Server ApacheIl Web Server Apache
3328/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Intervento didatticoIntervento didattico
V ITI indirizzo informaticoV ITI indirizzo informatico
SISTEMISISTEMI
II QuadrimestreII Quadrimestre
Livello Applicazione Architettura TCP/IPLivello Applicazione Architettura TCP/IP
4428/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
PrerequisitiPrerequisiti
HTMLHTMLPagine dinamichePagine dinamicheModello ISO/OSIModello ISO/OSIArchitettura e protocolli InternetArchitettura e protocolli InternetIndirizzamento livello Network (IPv4) e Indirizzamento livello Network (IPv4) e livello Transport (TCP)livello Transport (TCP)Connessioni TCPConnessioni TCPWeb browserWeb browser
5528/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Obiettivi - conoscenzeObiettivi - conoscenze
Paradigmi di comunicazione basati sullo Paradigmi di comunicazione basati sullo scambio di messaggi (client/server – peer scambio di messaggi (client/server – peer to peer)to peer)
Architetture three tierArchitetture three tier
Funzionalità Web ServerFunzionalità Web Server
Protocollo HTTPProtocollo HTTP
AliasAlias
Host virtualiHost virtuali
6628/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Obiettivi - abilitàObiettivi - abilità
Installazione e configurazione di ApacheInstallazione e configurazione di Apache
Creazione di alias con ApacheCreazione di alias con Apache
Creazione e utilizzo di host virtuali con Creazione e utilizzo di host virtuali con ApacheApache
7728/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Obiettivi - CompetenzeObiettivi - Competenze
Saper installare, configurare e utilizzare Saper installare, configurare e utilizzare applicazioni software, avvalendosi della applicazioni software, avvalendosi della documentazione a disposizione o documentazione a disposizione o ricercando autonomamente informazioniricercando autonomamente informazioni
Saper collaborare, all’interno di un gruppo, Saper collaborare, all’interno di un gruppo, accettandone le regole e apportando il accettandone le regole e apportando il proprio contributoproprio contributo
8828/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Strumenti/AttrezzatureStrumenti/Attrezzature
SO Windows XP professionalSO Windows XP professional
Piattaforma di e-learning MoodlePiattaforma di e-learning Moodle
LAN Ethernet (laboratorio sistemi)LAN Ethernet (laboratorio sistemi)
Aula per presentazioni multimedialiAula per presentazioni multimediali
9928/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Sussidi didatticiSussidi didattici
Presentazioni multimedialiPresentazioni multimediali
Dispense cartaceeDispense cartacee
Moodle (LMS, blog, forum,…)Moodle (LMS, blog, forum,…)
Social bookmarking (Delicious) Social bookmarking (Delicious)
101028/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
MetodologiaMetodologia
Lezione frontale con ausilio strumenti Lezione frontale con ausilio strumenti multimedialimultimediali
Discussione/dibattitoDiscussione/dibattito
TutorialTutorial
ProgettoProgetto
111128/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
TempiTempi
11 ore:11 ore: 3 ore in aula attrezzata per multimedia3 ore in aula attrezzata per multimedia 8 ore in laboratorio8 ore in laboratorio
121228/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Attività per la valutazioneAttività per la valutazione
Installazione di ApacheInstallazione di Apache
Configurazione Apache Configurazione Apache
Configurazione alias e virtual hostConfigurazione alias e virtual host
Creazione pagine HTML per ApacheCreazione pagine HTML per Apache
Accesso ai web server della LANAccesso ai web server della LAN
Questionario di autovalutazioneQuestionario di autovalutazione
Riflessione nel blog personaleRiflessione nel blog personale
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 1313
SceneggiaturaSceneggiatura
141428/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 1 (3 ore)Fase 1 (3 ore)
Presentazione multimediale di Presentazione multimediale di Applicazioni distribuite e paradigmi di Applicazioni distribuite e paradigmi di
comunicazionecomunicazione Web ServerWeb Server
Discussione (dubbi, domande, ipotesi)Discussione (dubbi, domande, ipotesi)
Docente facilitatoreDocente facilitatore
Materiali di studio su MoodleMateriali di studio su Moodle
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 1515
Vediamo i contenuti Vediamo i contenuti della fase 1della fase 1
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 1616
Applicazioni distribuite e Applicazioni distribuite e paradigmi di comunicazioneparadigmi di comunicazione
171728/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Applicazioni distribuiteApplicazioni distribuite
Composte da più unità software Composte da più unità software cooperanti su macchine di una retecooperanti su macchine di una rete Le unità devono “Le unità devono “parlarsiparlarsi”” Servono protocolliServono protocolli
Più applicazioni cooperanti Più applicazioni cooperanti
Sistemi distribuiti
181828/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Esempi di sistemi distribuitiEsempi di sistemi distribuiti
WWWWWW
Email…..Email…..
In generale i servizi del livello Applicazione In generale i servizi del livello Applicazione di Internetdi Internet
191928/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Paradigmi di comunicazioneParadigmi di comunicazione
Client/Server (C/S)Client/Server (C/S)
Peer to peer (p2p)Peer to peer (p2p)
202028/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Client/ServerClient/Server
Client Server
RICHIESTA
RISPOSTA
End User
Client chiede servizi al ServerClient chiede servizi al Server
Server risponde alle richieste dei clientServer risponde alle richieste dei client
Es. Web Browser/Web ServerEs. Web Browser/Web Server
212128/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
HTTPHTTP
Web Browser e Web Server comunicano Web Browser e Web Server comunicano basandosi sul protocollo HTTP (HyperText basandosi sul protocollo HTTP (HyperText Transfer Protocol)Transfer Protocol)
HTTP è:HTTP è: AsimmetricoAsimmetrico Stateful Stateful
222228/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Peer to peerPeer to peer
Ogni host può diventare client o serverOgni host può diventare client o server
Ci può essere un server per la centralizzazione Ci può essere un server per la centralizzazione degli indicidegli indici
232328/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Architetture three-tierArchitetture three-tier
Tre moduli:Tre moduli: GUIGUI Business logicBusiness logic Dati persistentiDati persistenti
Che comunicano a coppie secondo lo schema C/SChe comunicano a coppie secondo lo schema C/S
Web Browser Web Server
RICHIESTA
RISPOSTA
DB Server
RICHIESTA
RISPOSTA
242428/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Architetture n-tierArchitetture n-tier
Application server per pagine dinamicheApplication server per pagine dinamiche
Es. TomcatEs. Tomcat
Web Browser Web Server
RICHIESTA
RISPOSTA
DB Server
RICHIESTA
RISPOSTA
Application Server
RICHIESTA RISPOSTA
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 2525
I Web ServerI Web Server
262628/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Web serverWeb server
Hanno un web space per contenere le risorse Hanno un web space per contenere le risorse richieste dai clientrichieste dai client
Web ServerWeb Space
HD
272728/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Web Server Web Server
Ascoltano sulla porta 80Ascoltano sulla porta 80
Servono il client con processi figliServono il client con processi figli
Notificano gli erroriNotificano gli errori
Terminano la connessione Terminano la connessione
282828/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
HTTPHTTP
2 versioni:2 versioni: HTTP 1.0HTTP 1.0 HTTP 1.1HTTP 1.1
2 tipi di messaggi2 tipi di messaggi HTTP requestHTTP request HTTP responseHTTP response
292928/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
HTTP requestHTTP request
Request line (metodo + URI)Request line (metodo + URI)
Header (host + user agent)Header (host + user agent)
Metodi: GET, POST,…Metodi: GET, POST,…
Request line
Header
Body
303028/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Metodi HTTPMetodi HTTP
Metodi HTTP
Metodo Significato
GET Recupera qualsiasi tipo di file identificato dall'URI specificato
POST Usato di norma per inviare informazioni al server (ad esempio i dati di un form); in questo caso l'URI specifica che cosa si sta inviando e il body ne indica il contenuto
HEAD Simile a GET, ma recupera solo i campi dell’header del file
PUT Carica il file specificato nel body, sul server
DELETE Cancella un file sul server (se il client è autorizzato)
TRACE Traccia una richiesta, visualizzando come viene trattata dal server
OPTIONS Richiede l'elenco dei metodi permessi dal server
313128/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
HTTP responseHTTP response
Status line (codici stato)Status line (codici stato)
Header (server+ content Header (server+ content type)type)
Codici stato: 301, 400,…Codici stato: 301, 400,…
Status line
Header
Body
323228/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Codici di statoCodici di stato
Codici di stato HTTP
Metodo Significato
200 OK - richiesta soddisfatta
301 Moved Permanently - La risorsa richiesta non è raggiungibile perché è stata spostata in modo permanente
302 Found - La risorsa è raggiungibile con un altro URI indicato nell’ header. Di norma i browser eseguono la richiesta all'URI indicato in modo automatico, senza interazione dell'utente
400 Bad Request – La richiesta non è comprensibile al server
404 Not Found - La risorsa richiesta non è stata trovata e non se ne conosce l'ubicazione. Di solito avviene quando l'URI è stato indicato in modo scorretto, oppure è stato rimosso il contenuto dal server.
500 Internal Server Error - Il server non è in grado di rispondere alla richiesta per un suo problema interno
505 HTTP Version Not Supported - La versione di http non è supportata
333328/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 2 (1 ora LAB)Fase 2 (1 ora LAB)
Installazione di ApacheInstallazione di Apache Vengono fornite istruzioni mediante i materialiVengono fornite istruzioni mediante i materiali Gli studenti, individualmente, procedono Gli studenti, individualmente, procedono
all’installazione usufruendo dei materiali del all’installazione usufruendo dei materiali del docente (Moodle) e di informazioni reperite in docente (Moodle) e di informazioni reperite in InternetInternet
Il docente interviene il minimo indispensabileIl docente interviene il minimo indispensabile I link più interessanti su DeliciousI link più interessanti su Delicious
343428/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 3 (1 ora LAB)Fase 3 (1 ora LAB)
Configurazione di ApacheConfigurazione di Apache ServerAdminServerAdmin ServerNameServerName DocumentRootDocumentRoot DirectoryIndex…DirectoryIndex…
Upload su Moodle della copia del file di Upload su Moodle della copia del file di configurazione configurazione
353528/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 4 (2 ore LAB)Fase 4 (2 ore LAB)
Creazione AliasCreazione AliasConfigurazione Virtual HostConfigurazione Virtual Host Il docente introduce brevemente gli argomentiIl docente introduce brevemente gli argomenti Gli allievi operano seguendo le istruzioni Gli allievi operano seguendo le istruzioni
riportate sui materiali del docente (Moodle) e riportate sui materiali del docente (Moodle) e cercando in Internetcercando in Internet
Utilizzo di DeliciousUtilizzo di Delicious
Upload su Moodle della copia del file di Upload su Moodle della copia del file di configurazione configurazione
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 3636
Vediamo i contenuti Vediamo i contenuti delle fasi 3-4delle fasi 3-4
28/03/200728/03/2007 Cinzia BocchiCinzia Bocchi 3737
Il Web Server ApacheIl Web Server Apache
383828/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
ApacheApache
Istruzioni di installazioneIstruzioni di installazione
Configurazione (Configurazione (httpd.confhttpd.conf))
AliasAlias
Virtual HostVirtual Host
393928/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
AliasAlias
Link a directory che contengono risorse Link a directory che contengono risorse per Apacheper Apache
Es.Es.Alias /images/ "C:/images/“Alias /images/ "C:/images/“<Directory "C:/images"> <Directory "C:/images"> Options Indexes MultiViews Options Indexes MultiViews AllowOverride None AllowOverride None Order allow,deny Order allow,deny Allow from allAllow from all</Directory></Directory>
404028/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Virtual HostVirtual Host
Siti diversi sullo stesso hostSiti diversi sullo stesso host Nomi di dominio diversi Nomi di dominio diversi Stesso IPStesso IP
ES.ES.<VirtualHost *:80> <VirtualHost *:80> DocumentRoot "C:/mioSito/mioSito2" DocumentRoot "C:/mioSito/mioSito2" ServerName myHostServerName myHost</VirtualHost></VirtualHost>
414128/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 5 (3 ore LAB)Fase 5 (3 ore LAB)
Costruzione pagine HTML per il server Costruzione pagine HTML per il server web e per l’host virtualeweb e per l’host virtuale
Accesso a Web server sulla LANAccesso a Web server sulla LAN
424228/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
Fase 6 (1 ora LAB)Fase 6 (1 ora LAB)
Compilazione questionario Compilazione questionario autovalutazione (Moodle + correzione autovalutazione (Moodle + correzione automatica)automatica)
Riflessione nel blogRiflessione nel blog
434328/03/200728/03/2007 Cinzia BocchiCinzia Bocchi
RiferimentiRiferimenti
A. Lorenzi et al. – “A. Lorenzi et al. – “Linux Il sistema operativo L’amministrazione I Linux Il sistema operativo L’amministrazione I server di reteserver di rete” – ed. ATLAS, 2005” – ed. ATLAS, 2005A.S. Tanenbaum – “A.S. Tanenbaum – “Reti di computerReti di computer” – ed. UTET, terza edizione” – ed. UTET, terza edizioneB. Ball et al. – “B. Ball et al. – “Red Hat Linux 9Red Hat Linux 9” – ed. APOGEO, 2003 ” – ed. APOGEO, 2003 Wikipedia: Web Server Wikipedia: Web Server http://http://en.wikipedia.org/wiki/Web_serveren.wikipedia.org/wiki/Web_serverWikipedia: HTTPWikipedia: HTTPhttp://http://it.wikipedia.orgit.wikipedia.org//wikiwiki/HTTP/HTTPWikipedia: Architettura three-tierWikipedia: Architettura three-tierhttp://http://it.wikipedia.orgit.wikipedia.org//wikiwiki/Architettura_three-tier/Architettura_three-tier HTML.IT: Apache e TomcatHTML.IT: Apache e Tomcathttp://server.html.it/guide/lezione/2721/tomcat-e-apachehttp://server.html.it/guide/lezione/2721/tomcat-e-apacheHTML.IT: Guida ApacheHTML.IT: Guida Apachehttp://http://server.html.itserver.html.it/guide/lezione/2224//guide/lezione/2224/apache-per-windowsapache-per-windows