La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Protocollo dintesa tra Ufficio Scolastico Regionale del Lazio e CNR Area della Ricerca di Roma II - Tor Vergata Lintervento, dopo una introduzione propedeutica.

Presentazioni simili


Presentazione sul tema: "Protocollo dintesa tra Ufficio Scolastico Regionale del Lazio e CNR Area della Ricerca di Roma II - Tor Vergata Lintervento, dopo una introduzione propedeutica."— Transcript della presentazione:

1 Protocollo dintesa tra Ufficio Scolastico Regionale del Lazio e CNR Area della Ricerca di Roma II - Tor Vergata Lintervento, dopo una introduzione propedeutica sulle tecnologie WEB di base (Ipertesti, HTML, HTTP, URL) e avanzate (CGI, Java, Jsp, ASP, PHP), tratta le principali problematiche legate al server Web APACHE: storia, caratteristiche, installazione, configurazione, gestione e sicurezza. Servizi Internet di base: Servizi Internet di base: Il server Web e le tecnologie connesse Il server Web e le tecnologie connesse Gaetano.Chionchio@src.cnr.it Ministero dellIstruzione Università e Ricerca 2 Aprile 2003 Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellInformazione e della Comunicazione Tutor B

2 ...Il World Wide Web è una architettura software per accedere a documenti tra loro collegati e distribuiti su migliaia di macchine nellintera Internet. Cinque anni fa era un modello per distribuire dati per la fisica delle alte energie, oggi è lapplicazione che milioni di persone credono sia Internet. Il server WEB e le Tecnolgie connesse Introduzione Cosè il World Wide Web Definizione autorevole Andrew S. Tanenbaum "Computer Networks" Ottobre 1997

3 Le radici del World Wide Web Le radici del World Wide Web Il World Wide Web (detto anche Web, WWW o W 3) è nato al Cern nel 1989 per consentire una agevole cooperazione fra i gruppi di ricerca di fisica, sparsi nel mondo. E' un'architettura software volta a fornire l'accesso e la navigazione a un enorme insieme di informazioni collegate fra loro da LINK e distribuite su milioni di elaboratori. Tale insieme di documenti forma un ipertesto (hypertext), cioè un insieme complesso e non sequenziale di associazioni, che permette all'utente di spostarsi tra argomenti correlati, indipendentemente dall'ordine in cui questi vengono presentati.. Il concetto di ipertesto risale alla fine degli anni '40: Vannevar Bush Vannevar Bush Douglas Engelbart Douglas Engelbart Ted Nelson Ted Nelson Il server WEB e le Tecnolgie connesse Ipertesto Le Origini

4 Nel 1945 costruisce Memex, a conceptual machine,un dispositivo dove si possono memorizzare informazioni di vario genere e dove e possibile eseguire delle consultazioni a grande velocita e flessibilita grazie al meccanismo dei LINK. Vannevar Bush..The human mind ….operates by association...The human mind ….operates by association. "AS We May Think July 1945, The Atlantic Monthly Il server WEB e le Tecnolgie connesse Ipertesto Le Origini

5 Nel 1963 costruisce il prototipo di un sistema "oNLine System" (NLS) che permette hypertext browsing editing e email. Douglas Carl Engelbart Per questo sistema inventa il mouse !! Il resto e storia... Il server WEB e le Tecnolgie connesse Ipertesto Le Origini

6 Il termine Ipertesto fu coniato nel 1965 da Ted Nelson nella Literary Machines per indicare documenti caratterizzati Ted Nelson da una struttura non sequenziale delle idee, in alternativa al formato logico sequenziale tipico dei libri, dei film e dei discorsi. Il più recente termine Ipermedia è un sinonimo che pone in evidenza le componenti non testuali: animazioni, suoni e immagini. DOCUMENTS ARE PARALLEL BY NATURE … Il server WEB e le Tecnolgie connesse Ipertesto Le Origini

7 Per migliorare le comunicazioni tra ricercatori T.Berners-Lee e R. Cailliau, nel 1990, propongono un nuovo modo di utilizzare Internet che chiamano World Wide Web. Al di là del nome, la cosa più interessante è che in questa proposta sono già presenti tutte le idee guida che ancora oggi caratterizzano il Web. World Wide Web: proposal for a HyperText Project World Wide Web: proposal for a HyperText Project Marzo 1989 Hypertext+SGML+Internet = WWW Tim Berners-Lee Robert Cailliau Il WWW, la più nota applicazione usata su Internet, nasce al CERN, il più grande centro di ricerca europeo sulla fisica delle particelle elementari, dove lavorano fisici di tutto il modo che usano quotidianamente la Rete per tenersi in contatto e scambiarsi dati e opinioni. Il server WEB e le Tecnolgie connesse Ipertesto Il nuovo paradigma

8 Nel 1992 Mark Andreessen sviluppa l'idea di Mosaic, il browser grafico che permise al www di svilupparsi, mentre era uno studente all'universita' dell'Illinois e membro del National Center for Supercomputing Applications (NCSA). NCSA ---> Netscape Mark Andreessen Nel 1993 M.Andreessen, insieme ad un gruppo di studenti (Enric Brina), crea la prima versione di Mosaic. Lascia in seguito l'NCSA andando alla Silicon Valley per dare un contributo alla fondazione con Jim Clark (Silicon Graphics) alla società conosciuta come: Netscape Communications Corporation Netscape fu sviluppato per semplificare l'uso di Internet nel business. Il server WEB e le Tecnolgie connesse WWW Le prime implementazioni

9 Il Web ha diverse caratteristiche che hanno contribuito al suo enorme successo: architettura di tipo client-server: architettura di tipo client-server: ampia scalabilità; ampia scalabilità; adatta ad ambienti di rete; adatta ad ambienti di rete; architettura distribuita: architettura distribuita: perfettamente in linea con le esigenze di gestione di un ipertesto perfettamente in linea con le esigenze di gestione di un ipertesto architettura basata su standard di pubblico dominio: architettura basata su standard di pubblico dominio: possibilità per chiunque di proporre una implementazione; possibilità per chiunque di proporre una implementazione; uguali possibilità di accesso per tutte le piattaforme di calcolo uguali possibilità di accesso per tutte le piattaforme di calcolo capacità di gestire informazioni di diverso tipo capacità di gestire informazioni di diverso tipo grande interesse da parte di tutti gli utenti. grande interesse da parte di tutti gli utenti. Le caratteristiche del successo Il server WEB e le Tecnolgie connesse WWWCaratteristiche

10 Sistema di indirizzamento basato su Uniform Resource Locator (URL): è un meccanismo standard per fare riferimento alle entità indirizzabili (risorse) nel Web, che possono essere: Sistema di indirizzamento basato su Uniform Resource Locator (URL): è un meccanismo standard per fare riferimento alle entità indirizzabili (risorse) nel Web, che possono essere: documenti (testo, immagini, suoni, ecc.); documenti (testo, immagini, suoni, ecc.); programmi eseguibili; programmi eseguibili; Linguaggio HTML (HyperText Markup Language): è il linguaggio per la definizione delle pagine Web; Linguaggio HTML (HyperText Markup Language): è il linguaggio per la definizione delle pagine Web; Protocollo HTTP (HyperText Transfer Protocol): è il protocollo che i client e i server utilizzano per comunicare. Protocollo HTTP (HyperText Transfer Protocol): è il protocollo che i client e i server utilizzano per comunicare. I 3 standard principali Il server WEB e le Tecnolgie connesse WWW Architettura software

11 L URL (Uniform Resource Locators) (RFC 1738), definisce univocamente la posizione di una risorsa in rete. Una URL è fatta di 3 parti, che specificano: il metodo di accesso (come si vuole accedere alla risorsa) il metodo di accesso (come si vuole accedere alla risorsa) l'host (dove è fisicamente localizzata la risorsa) l'host (dove è fisicamente localizzata la risorsa) l'identità (come è identificata la risorsa) l'identità (come è identificata la risorsa) Metodo di accesso: aaa = protocollo (http,ftp,https,etc). Per default si assume http ccc = porta TCP utilizzata nella trasmissione. Se non specificata viene utilizzata la porta di default per il protocollo selezionato. Per esempio: 80 per l http, 21 per lftp,443 per https. Host: bbb = host name (nessun default) E definibile sia come indirizzo a dominio che come indirizzo IP. Identità: ddd = pathname. Nel caso dell http identifica un percorso relativo a partire dalla root definita nel server contattato. eee = filename. Nel caso dell http se non specificato corrisponde al file di indice configurato nel server web. Tipicamente per default corrisponde a index.html o index.htm aaa://bbb:ccc/ddd/eee Il server WEB e le Tecnolgie connesse WWW Architettura software Identificatore uniforme di risorse

12 LHTML è un linguaggio che usa annotazioni markup per descrivere la formattazione di documenti LHTML è un linguaggio che usa annotazioni markup per descrivere la formattazione di documenti E derivato dall SGML (Standard Generalized Markup Language) ISO 8879 E derivato dall SGML (Standard Generalized Markup Language) ISO 8879 E specializzato nel trattamento degli ipertesti e adattato al Web. E specializzato nel trattamento degli ipertesti e adattato al Web. I comandi per la formattazione (tag) sono inseriti in modo esplicito nel testo. I comandi per la formattazione (tag) sono inseriti in modo esplicito nel testo. Un documento descritto in HTML e sempre un file ASCII Un documento descritto in HTML e sempre un file ASCII Levoluzione dellHTML è sotto il controllo del consorzio W3C: versione 1.0 versione 1.0 versione 2.0 (RFC 1866 e RFC 2854) (...introdotto il concetto di Form) versione 2.0 (RFC 1866 e RFC 2854) (...introdotto il concetto di Form) versione 3.0 versione 3.0 versione 3.2 versione 3.2 versione 4.0 (REC-html40-19980424) versione 4.0 (REC-html40-19980424) versione 4.0.1 versione 4.0.1 Il server WEB e le Tecnolgie connesse WWW Architettura software Hyper Text Markup Language

13 Il ruolo di HTML è quindi quello di definire il modo in cui deve essere visualizzata una pagina Web (detta anche pagina HTML), che tipicamente è un documento di tipo testuale contenente opportuni tag di HTML. Il client, quando riceve una pagina compie le seguenti operazioni: interpreta i tag presenti nella pagina; interpreta i tag presenti nella pagina; formatta la pagina di conseguenza, provvedendo automaticamente ad adattarla alle condizioni locali (risoluzione dello schermo, dimensione della finestra, profondità di colore, ecc.); formatta la pagina di conseguenza, provvedendo automaticamente ad adattarla alle condizioni locali (risoluzione dello schermo, dimensione della finestra, profondità di colore, ecc.); mostra la pagina formattata sullo schermo. mostra la pagina formattata sullo schermo. Nella formattazione si ignorano: sequenze multiple di spazi; sequenze multiple di spazi; caratteri di fine riga, tabulazioni, ecc. caratteri di fine riga, tabulazioni, ecc. I tag HTML possono essere divisi in due categorie: tag per la formattazione di testo; tag per la formattazione di testo; tag per altre finalità (inclusione di oggetti,interazione utente,elaborazione locale). tag per altre finalità (inclusione di oggetti,interazione utente,elaborazione locale). Il server WEB e le Tecnolgie connesse WWW Architettura software HTML: il ruolo

14 Al crescente successo del Web si è accompagnato un continuo lavoro per ampliarne le possibilità di utilizzo e le funzionalità offerte agli utenti. In particolare, si è presto sentita l'esigenza di fornire un supporto a una qualche forma di interattività superiore a quella offerta dalla navigazione attraverso gli hyperlink (pagine statiche), ad esempio per consentire agli utenti di consultare una base di dati remota via Web. La pagine Web generate on-fly da questo tipo di interazione si definiscono: pagine dinamiche. Le estensioni più rivoluzionarie del Web in tal senso sono state: introduzione delle form per l'invio di dati al server Web ed interazione con le CGI per l elaborazione dei dati sul server stesso; introduzione delle form per l'invio di dati al server Web ed interazione con le CGI per l elaborazione dei dati sul server stesso; introduzione del linguaggio LiveScript (poi chiamato JavaScript) per la definizione di computazioni, eseguite dal client, direttamente associate a una pagina HTML; introduzione del linguaggio LiveScript (poi chiamato JavaScript) per la definizione di computazioni, eseguite dal client, direttamente associate a una pagina HTML; introduzione del linguaggio Java per la creazione di file eseguibili, che vengono trasmessi dal server al client e poi vengono eseguiti in totale autonomia dal client; indipendentemente dalla piattaforma HW e SW del sistema introduzione del linguaggio Java per la creazione di file eseguibili, che vengono trasmessi dal server al client e poi vengono eseguiti in totale autonomia dal client; indipendentemente dalla piattaforma HW e SW del sistema Il server WEB e le Tecnolgie connesse WWW Architettura software HTML: le evoluzioni

15 Il protocollo HTTP sovraintende al dialogo fra un client e un server web: il linguaggio nativo del Web. HTTP non è ancora uno standard ufficiale. Infatti, HTTP 1.0 (rfc 1945) è informational, mentre HTTP 1.1 (rfc 2068) è ancora in fase di proposta. HTTP è un protocollo ASCII, cioè i messaggi scambiati fra client e server sono costituiti da sequenze di caratteri ASCII In questo contesto per messaggio si intende la richiesta del cliente oppure la risposta del server, intesa come informazione di controllo; viceversa, i dati della URL richiesta che vengono restituiti dal server non sono necessariamente ASCII (esempi di dati binari: immagini, filmati, suoni, codice eseguibile). Utilizzo dello standard MIME (sviluppato per la posta elettronica) LHTTP prevede che ogni singola interazione fra client-server si svolga secondo il seguente schema: apertura di una connessione di livello di transporto (TCP) tra client e server apertura di una connessione di livello di transporto (TCP) tra client e server invio di una singola richiesta da parte del client, che specifica la URL desiderata; invio di una singola richiesta da parte del client, che specifica la URL desiderata; invio di una risposta da parte del server e dei dati di cui alla URL richiesta; invio di una risposta da parte del server e dei dati di cui alla URL richiesta; chiusura della connessione di livello transport. chiusura della connessione di livello transport. E un protocollo di tipo stateless: non è previsto il concetto di sessione all'interno della quale ci si ricorda dello stato dell'interazione fra client e server. Ogni singola interazione è storia a se ed è del tutto indipendente dalle altre. Il server WEB e le Tecnolgie connesse WWW Architettura software Hyper Text Transfer Protocol

16 Il protocollo HTTP è nato con una finalità (lo scambio di informazioni fra gruppi di ricercatori) che si è radicalmente modificata col passare del tempo. Infatti, attualmente (V1.0) il suo utilizzo si è ampliato enormemente e si cerca di sfruttarlo anche per transazioni di tipo commerciale. Questo ha messo alla frusta il protocollo soprattutto da tre punti di vista: Efficienza nell'uso della rete Il problema di fondo è che il protocollo HTTP prevede che si apra e chiuda una connessione TCP per ogni singola coppia richiesta-risposta. Si deve tenere presente che l'apertura e la chiusura delle connessioni TCP non è banale (three way handshake per l'apertura, idem più timeout per la chiusura); durante l'apertura e la chiusura non c'è controllo di flusso;la dimensione tipica dei dati trasmessi è piccola (pochi KByte);il TCP usa la tecnica dello slow start per il controllo di flusso.Di conseguenza, si ha che il protocollo HTTP impone un grave overhead sulla rete (sono frequentissime le fasi di apertura/chiusura di connessioni TCP); gli utenti hanno la sensazione che le prestazioni siano scarse (per via dello slow start). Assenza del concetto di sessione In moltissime situazioni (ad esempio nelle transazioni di tipo commerciale) è necessario ricordare lo stato dell'interazione fra client e server, che si svolge per fasi successive. Questo in HTTP è impossibile, per cui si devono trovare soluzioni ad hoc (ad esempio, restituire pagine HTML dinamiche contenenti un campo HIDDEN che identifica la transazione).In proposito c'è una proposta (State Management, rfc 2109) basata sull'uso dei cookies, cioè particolari file che vengono depositati presso il client e che servono a gestire una sorta di sessione. Carenza di meccanismi per lo scambio di dati riservati L'unico meccanismo esistente per il controllo degli accessi (Basic Authentication) fa viaggiare la password dell'utente in chiaro sulla rete. Il server WEB e le Tecnolgie connesse WWW Architettura software HTTP 1.0: i problemi aperti L HTTP versione 1.1 si propone di superare tutti i limiti della vecchia versione !!

17 I client (o user agents) sono lo strumento a disposizione dell'utente che gli permette l'accesso e la navigazione nell'ipertesto del Web. Vengono comunemente chiamati browser (sfogliatori): NCSA Mosaic (il primo); Netscape Navigator; Microsoft Internet Explorer. Essi hanno varie competenze: trasmettere all'opportuno server le richieste di reperimento dati che derivano dalle azioni dell'utente; trasmettere all'opportuno server le richieste di reperimento dati che derivano dalle azioni dell'utente; ricevere dal server le informazioni richieste; ricevere dal server le informazioni richieste; visualizzare il contenuto della pagina Web richiesta dall'utente, gestendo in modo appropriato tutte le tipologie di informazioni in esse contenute; visualizzare il contenuto della pagina Web richiesta dall'utente, gestendo in modo appropriato tutte le tipologie di informazioni in esse contenute; consentire operazioni locali sulle informazioni ricevute (ad esempio salvarle su disco, stamparle). consentire operazioni locali sulle informazioni ricevute (ad esempio salvarle su disco, stamparle). Di norma i browser gestiscono direttamente solo alcune tipologie di informazioni: testo formattato; testo formattato; immagini fisse; immagini fisse; codice eseguibile. codice eseguibile. Gli altri tipi di informazioni vengono gestiti in uno (o entrambi) dei seguenti modi: consegnandoli a un programma esterno:helper consegnandoli a un programma esterno:helper per mezzo di plug-in, ossia librerie di codice eseguibile e specializzato caricato in memoria secondo le necessità. In questa situazione, se il necessario plug-in è installato, il browser provvede a caricarlo e gli affida la gestione delle informazioni da trattare. per mezzo di plug-in, ossia librerie di codice eseguibile e specializzato caricato in memoria secondo le necessità. In questa situazione, se il necessario plug-in è installato, il browser provvede a caricarlo e gli affida la gestione delle informazioni da trattare. User Agents Il server WEB e le Tecnolgie connesse WWW Architettura software

18 Il server è tipicamente un processo in esecuzione su un elaboratore (Unix !!). Esso, di norma, è sempre in esecuzione (tranne che in situazioni eccezionali) ed ha delle incombenze molto semplici: rimanere in ascolto di richieste da parte dei client; rimanere in ascolto di richieste da parte dei client; fare del suo meglio per soddisfare ogni richiesta che arriva: fare del suo meglio per soddisfare ogni richiesta che arriva: se possibile, consegnare il documento richiesto; se possibile, consegnare il documento richiesto; altrimenti, spedire un messaggio di notifica di errore. altrimenti, spedire un messaggio di notifica di errore. deve fare il suo lavoro nel modo più efficiente possibile, dunque deve essere implementato con un occhio di riguardo alle prestazioni; deve fare il suo lavoro nel modo più efficiente possibile, dunque deve essere implementato con un occhio di riguardo alle prestazioni; deve essere in grado di gestire molte richieste contemporaneamente, e mentre fa questo deve continuare a rimanere in ascolto di nuove richieste. Possibili soluzioni: deve essere in grado di gestire molte richieste contemporaneamente, e mentre fa questo deve continuare a rimanere in ascolto di nuove richieste. Possibili soluzioni: clonazione del server:per ogni nuova richiesta che arriva, il server (che è sempre in ascolto) crea una nuova copia di se stesso alla quale affida la gestione della richiesta;si mette quindi nuovamente in attesa di nuove richieste; la copia clonata si occupa di soddisfare la richiesta e poi termina. server multithreaded:esiste una sola copia del server, che però è progettato per essere in grado di generare thread multipli Il server WEB e le Tecnolgie connesse WWW Architettura software Server Agents

19 Modalità di comunicazioni Client-Server Le modalita di comunicazione tra un browser ed un server web avvengono in chiaro attraverso il protocollo di trasferimento per ipertesti HTTP (Hyper Text Transfer Protocol ). Questo protocollo lavora per creare, trasferire e gestire dei dati formattati secondo il linguaggio HTML (Hypertext Markup Language) da un sistema ad un altro in maniera indipendente dal sistema stesso. La connessione spesso è stabilita dal client prima di ogni richiesta, e chiusa dal server dopo ogni risposta. L'HTTP disciplina i riferimenti attraverso gli URI (Universal Resource Identifier) che possono essere divisi per locazione URL e per nome URN, indica in tal modo la risorsa a cui applicare il metodo della request. Le quattro operazioni svolte in sequenza dal protocollo HTTP sono: connessione con il server che contiene il documento,connessione con il server che contiene il documento, richiesta del documento,richiesta del documento, recupero della pagina interessata attraverso la risposta del serverrecupero della pagina interessata attraverso la risposta del server chiusura della connessione.chiusura della connessione. Questo ciclo viene ripetuto per ciascuna pagina richiesta. L`HTTP usa la well known port numero 80 del livello di trasporto TCP. Il server WEB e le Tecnolgie connesse WWW Architettura software

20 Le tecnologie piu` comunemente utilizzate per realizzare una comunicazione sicura tra il Browser ed il Web Server: Le comunicazioni Sicure L`SSL (Secure Socket Layer) (documentato in un IETF draft nella sua terza revisione) e` stato sviluppato dalla Netscape per fornire connessioni sicure nel trasferimento di dati sensibili. Un trasferimento SSL utilizza una porta TCP dedicata:443. E` necessario quindi specificare nell`URL un metodo differenziato di accesso: STTP. La sicurezza nel trasferimento delle informazioni e` assicurata da una codifica basata sull`algoritomo RC4 sviluppato dalla RSA, Inc. L` SHTTP (Secure HTTP) e` stato sviluppato dalla Enterprise Integration Technologies (EIT), ora Verifone, e condivide gli stessi obiettivi di massima dell`SSL. La codifica a chiave-pubblica chiave- privata dei dati si basa sull`algoritmo di Rivest-Shamir-Adleman. Non utilizza porte proprietarie sul TCP. La differenza fondamentale tra i due sta nel fatto che SSL crea una connessione sicura tra client e server sulla quale si puo` poi trasportare qualsiasi dato mentre l`S-HTTP trasporta i singoli file in modo sicuro, attraverso un meccanismo di certificati di autenticita` puntuali. Il server WEB e le Tecnolgie connesse WWW Architettura software

21 Server Side Application In una applicazione Client-Server si dice di programmi che verranno eseguiti sul Server. Nel mondo del WEB: Scripts CGI Scripts CGI Applet Java JSP Applet Java JSP ASP ASP Script PHP Script PHP Client Side Application In una applicazione Client Server si dice di programmi che verranno eseguiti sul Client. Nel mondo del WEB: JavaScript JavaScript Applet Java Applet Java Web Application Il server WEB e le Tecnolgie connesse WWW Architettura software

22 Le tecnologie di integrazione delle Web Server Side Applications con i Database permettono agli utenti in rete Internet di accedere semplicemente ad una quantita' enorme di informazioni organizzate in sistemi di gestione di base di dati. Infatti: La gestione e/o consultazione dei dati e' indipendente dalla dislocazione fisica nella rete delle informazioni. La gestione e/o consultazione dei dati e' indipendente dalla dislocazione fisica nella rete delle informazioni. Il browser diventa lo strumento per interagire con il database. Il browser diventa lo strumento per interagire con il database. E possibile effettuare: E possibile effettuare: operazioni di amministrazione e gestione del database; operazioni di amministrazione e gestione del database; operazioni di aggiornamento, convalida e popolamento. operazioni di aggiornamento, convalida e popolamento. Sistema Web/Database Il server WEB e le Tecnolgie connesse WWW Architettura software

23 Server Side Applications Architettura software Il server WEB e le Tecnologie connesse WWW CGI (Common Gateway Interface): e la tecnologia piu standard e piu vecchia per interfacciare un server Web con un programma, scritto in un linguaggio qualunque, che viene eseguito sul server. Attraverso questa interfaccia e possibile passare dati dal server Web al programma applicativo e viceversa. Il programma quindi puo eseguire qualunque tipo di elaborazione (estrazione di dati da database, manipolazione degli stessi, calcoli, ecc.). Questa tecnologia e abbastanza inefficiente e abbastanza poco sicura, quindi viene utilizzata sempre piu di rado. ASP (Active Server Pages): e una tecnologia sviluppata da Microsoft e successivamente adottata anche da altri produttori di server Web (ad es. Netscape). E basata sul meccanismo di introdurre allinterno di una pagina HTML codice ActiveX (Visual Basic, Visual C++, Java, VBScript). JSP (Java Server Pages): e una tecnologia sviluppata da Sun come alternativa alle ASP. Funzionano nello stesso modo, salvo che nelle pagine HTML invece di essere inserito del codice SQL viene inserito del codice Java. Attraverso Java e possibile effettuare qualunque elaborazione (estrazione dei dati, successiva manipolazione degli stessi, calcoli, ecc.). Il server Web poi costruisce la pagina come integrazione del codice HTML statico e dei risultati prodotti dal codice Java. Ovviamente e una tecnologia piu potente delle ASP.

24 Personal Hypertext Prepocessor Rasmus Lerdorf nel 1994 scritto il PHP/FI (Personal Home Page / Form Interpreter). A seguito del successo riscosso nel popolo della rete, Rasmus scrisse una seconda versione che offriva un maggior numero di funzioni ed il supporto per interfacciare il database miniSQL. Nel 1997 la costituzione di un team di lavoro porta alla riscrittura completa del codice con la versione PHP3. Con la versione 4 il team di lavoro ha potenziato l'implementazione dell'impalcatura object-oriented e con il prodotto ZEND (PHP4) offre un notevole incremento delle prestazioni. Il server WEB e le Tecnolgie connesse WWW Architettura software Disponibile come : modulo del Web server (Su Web Server APACHE su sistemi UNIX) modulo del Web server (Su Web Server APACHE su sistemi UNIX) script CGI separato (Su tutti i Web server in ambiente Unix e Windows9X/Me/NT/2000) script CGI separato (Su tutti i Web server in ambiente Unix e Windows9X/Me/NT/2000)

25 A PAtCHy sErver Il server WEB e le Tecnolgie connesse Apache Le origini E' un webserver free progettato per poter girare come un processo standalone. E' un webserver free progettato per poter girare come un processo standalone. Il suo sviluppo e' curato da Apache Software Foundation un' organizzazione not- for-profit quale fondata nel 1999 dal team di volontari denominato Apache Group. Il suo sviluppo e' curato da Apache Software Foundation un' organizzazione not- for-profit quale fondata nel 1999 dal team di volontari denominato Apache Group. Nasce come evoluzione del webserver httpd 1.3 sviluppato dal NCSA (National Center for Supercomputing Applications); ne ingloba le carrateristiche, risolvendo i problemi ed implementando nuove features. Da qui il nome: A PAtCHy sErver! Nasce come evoluzione del webserver httpd 1.3 sviluppato dal NCSA (National Center for Supercomputing Applications); ne ingloba le carrateristiche, risolvendo i problemi ed implementando nuove features. Da qui il nome: A PAtCHy sErver! Nell'aprile 1995 viene distribuita ufficialmente la prima release pubblica v.0.6.2. Nell'aprile 1995 viene distribuita ufficialmente la prima release pubblica v.0.6.2. Anziche' continuare a sviluppare delle patch, il team di sviluppo decise di riscrivere completamente il codice, prevedendo una struttura modulare e un'API (Application Programming Interface) per una piu' semplice ed efficace gestione. Anziche' continuare a sviluppare delle patch, il team di sviluppo decise di riscrivere completamente il codice, prevedendo una struttura modulare e un'API (Application Programming Interface) per una piu' semplice ed efficace gestione. Nel dicembre 1995 viene rilasciata la versione 1.0 del server Apache completamente indipendente dal codice della NCSA. Nel dicembre 1995 viene rilasciata la versione 1.0 del server Apache completamente indipendente dal codice della NCSA. E' un progetto nato per creare un webserver stabile, affidabile e veloce. E' un progetto nato per creare un webserver stabile, affidabile e veloce. Come progetto è aperto a critiche, patches e bugfixes suggerite direttamente dagli utilizzatori. Come progetto è aperto a critiche, patches e bugfixes suggerite direttamente dagli utilizzatori.

26 Scheda Tecnica Il server WEB e le Tecnolgie connesse ApacheCaratteristiche Il Web server Apache e' un prodotto Open Source distribuito con il codice sorgente Il Web server Apache e' un prodotto Open Source distribuito con il codice sorgente. Apache e' un HTTP server derivato da quello della NCSA, e costituisce uno standard di fatto per la piattaforma Linux ed anche per altri sistemi operativi. Apache e' un HTTP server derivato da quello della NCSA, e costituisce uno standard di fatto per la piattaforma Linux ed anche per altri sistemi operativi. Essendo un prodotto freeware, l'assistenza e' fornita dalla stessa comunita' di utilizzatori attraverso gruppi di discussione, mailing lists; inoltre, e' possibile trovare nella rete svariata documentazione tecnica di ausilio. Essendo un prodotto freeware, l'assistenza e' fornita dalla stessa comunita' di utilizzatori attraverso gruppi di discussione, mailing lists; inoltre, e' possibile trovare nella rete svariata documentazione tecnica di ausilio. Supporto DSO (Dynamic shared objects); i moduli possono essere caricati si richiesta, in modo da utilizzare una minore quantità di memoria. Supporto DSO (Dynamic shared objects); i moduli possono essere caricati si richiesta, in modo da utilizzare una minore quantità di memoria. Gestisce configurazioni illimitate per Alias e Redirect. Gestisce configurazioni illimitate per Alias e Redirect. Gestione dei VirtualHost. Gestione dei VirtualHost. L'accesso al servizio HTTP avviene a partire da una porzione del file system che inizia dal cosiddetto DocumentRoot. L'accesso al servizio HTTP avviene a partire da una porzione del file system che inizia dal cosiddetto DocumentRoot. Apache, una volta avviato, crea dei sottoprocessi (children processes). Apache, una volta avviato, crea dei sottoprocessi (children processes).

27 Il Motivo del Successo Il server WEB e le Tecnolgie connesse ApacheCaratteristiche Apache è un server web open source (libero accesso al codice sorgente) disponibile per un gran numero di piattaforme, fra cui anche Windows e Mac OS X. Dal '96, anno del rapido declino del vecchio server NCSA, Apache detiene saldamente la leadership di questo settore. Market Share for Top Servers Across All Domains August 1995 - May 2001 http://www.netcraft.com/survey/

28 Setup Il server WEB e le Tecnolgie connesse ApacheInstallazione Tutte le informazioni sulla configurazione e compilazione di Apache, si trovano nel file INSTALL.Tutte le informazioni sulla configurazione e compilazione di Apache, si trovano nel file INSTALL. A partire dalla versione 1.3.4 il file di configurazione e' unico e si chiama httpd.conf ed e' contenuto nella directory ServerRoot/conf; (nelle versioni precedenti si dovevano utilizzare tre files: httpd.conf, srm.conf ed access.conf).A partire dalla versione 1.3.4 il file di configurazione e' unico e si chiama httpd.conf ed e' contenuto nella directory ServerRoot/conf; (nelle versioni precedenti si dovevano utilizzare tre files: httpd.conf, srm.conf ed access.conf). La configurazione e gestione del servizio HTTP avviene editando con un normale editor (es: VI) le direttive contenute in httpd.conf (file ASCII)La configurazione e gestione del servizio HTTP avviene editando con un normale editor (es: VI) le direttive contenute in httpd.conf (file ASCII)

29 I sorgenti Il server WEB e le Tecnolgie connesse ApacheInstallazione Nel sito ufficiale WWW.APACHE.ORG, o nei vari mirror sites sparsi sulla rete, si trova il codice sorgente o il codice binario (precompilato) per le piu' svariate piattaforme: Unix, MSWindows (dalla versione 1.3). Per un Host Unix il sorgente sarà un file del tipo: apache_1.3.9.tar.gz Steps per l'installazione(unix): cd /temp (posizionamento in una directory temporanea) cd /temp (posizionamento in una directory temporanea) Download di apache_1.3.9.tar.gz in /temp Download di apache_1.3.9.tar.gz in /temp gzip -d apache_1.3.9.tar.gz (unzip del file compresso) gzip -d apache_1.3.9.tar.gz (unzip del file compresso) tar -C /usr/local -xvf apache_1.3.9.tar (installazione del codice sorgente nella directory apache_1.3.9) tar -C /usr/local -xvf apache_1.3.9.tar (installazione del codice sorgente nella directory apache_1.3.9) cd /usr/local/apache_1.3.9 (posizionamento sulla directory di installazione) cd /usr/local/apache_1.3.9 (posizionamento sulla directory di installazione)

30 It worked ! Il server WEB e le Tecnolgie connesse ApacheInstallazione Steps per la compilazione: cd apache_1.3.9 (posizionamento sulla directory di installazione) cd apache_1.3.9 (posizionamento sulla directory di installazione)./configure --prefix=/usr/local/httpd (genera i makefile adatti al sistema)./configure --prefix=/usr/local/httpd (genera i makefile adatti al sistema) make (compilazione) make (compilazione) make install (installazione) make install (installazione) cd /usr/local/httpd/bin (directory in cui viene posizionato il daemon) cd /usr/local/httpd/bin (directory in cui viene posizionato il daemon)./apachectl start (script di avvio del daemon)./apachectl start (script di avvio del daemon)./apachectl stop (script di arresto del daemon)./apachectl stop (script di arresto del daemon) LocalHost Apache home page ---->

31 Struttura delle directory Il server WEB e le Tecnolgie connesse Apache La struttura Le convenzioni per la struttura delle directory di Apache variano tra versioni e distribuzioni. Di solito l'installazione puo' avvenire nelle directory : /usr/local/apache, /usr/local/httpd Directory Contenuto bin Files eseguibili di programmi di amministrazione libexec Moduli caricabili man Pagine man (Manuali) conf Files di configurazione icons Files di immagine per le icone htdocs Documenti disponibili sul server (Document root) cgi-bin Scripts CGI include Files di include di Apache in linguaggio C (necessari per compilare moduli di terze parti) run Files di configurazione dello status a runtime (spesso memorizzati con i file di log) proxy Gerarchia di cache per i proxy (se viene abilitato il caching)

32 Utility di supporto Il server WEB e le Tecnolgie connesse Apache La struttura La distribuzione di Apache include un gran numero di utility di supporto che vengono di solito installate nella sottodirectory bin Programma Descrizione ab Semplice strumento per il benchmark apachectl Script di controllo a runtime di Apache apxs Strumento di estensione di Apache, usato per costruire i Dynamic Shared Objects (DSO) dbmmanage Utility per gestire i files di autenticazione per gli utenti in formato DBM htdigest Utility per gestire i files digest di autenticazione per gli utenti htpasswd Utility per gestire i files di autenticazione per gli utenti logresolve Utility batch per elaborare, in un secondo tempo, i files di log allo scopo di risolvere gli indirizzi IP logresolve.pl Scritp in Perl rotatelogs Filtro di logging per la rotazione dei file di log split-logfile Script in Perl per dividere per host virtuali un file di log combinato

33 Le direttive 1 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf ServerType standalone/inetd : il servizio viene gestito dal daemon httpd che puo' essere attivato direttamente in fase di inizializzazione del sistema (standalone), oppure controllato da processo inetd (in questo caso si dovra' inserire un'opportuna entry nel file /etc/inetd.conf). Quando il daemon viene controllato da inetd, per ogni richiesta bisogna aspettare l'avvio del daemon; questa operazione genera quindi un ritardo nelle risposte giustificabile solo per problemi di sicurezza. Si consiglia la modalita' (standalone). ServerRoot directory : radice del server. Posizione, all'interno del filesystem, del HTTPD server; solitamente si usa /usr/local/httpd PidFile nome file : posizione del file httpd.pid in cui il sistema registra il PID (Process Identification) del daemon attivato in modalità standalone. /usr/local/httpd/logs/httpd.pid Port numero porta : porta utilizzata dal daemon httpd. Default : 80. (range da 0 a 65535, le prime 1024 porte sono riservate per determinati protocolli. In generale le porte al di sotto della 1024 sono di sistema). Gli Host Virtuali vengono configurati con le sezioni, ma queste hanno effetto solo se Apache sta ascoltando sull'indirizzo IP e sulla porta indicati. (Vedi Direttiva VirtualHost).

34 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive 2 User nome utente : tutte le richieste inoltrate al server HTTP vengono considerate come se fossero eseguite dall'utente indicato in questa direttiva. Per sicurezza e' importante limitare i privilegi di questo utente; solitamente si usa l'utente ed il gruppo nobody. Group nome gruppo : solitamente si utilizza l'utente ed il gruppo. ServerAdmin e-mail : indirizzo di posta elettronica dell'ammistratore del servizio. ServerName nome a dominio : in questa direttiva si assegna l'host name (es: www.quellochevuoi.it), vale a dire il nome, a dominio, con il quale si indentifica il web server; se non esiste la registrazione nel rispettivo DNS (Domain Name Server), si deve indicare l'indirizzo IP della macchina che gestisce il servizio. DocumentRoot directory : punto di origine del file system per i documenti web; ServerRoot/htdocs/ Alias path-url path-reale : permette di definire delle directory in posizioni diverse da quelle reali. Il path-url e' il percorso indicato nelle richieste, mentre il path-reale indica il percorso effettivo nel file system.

35 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive 3 UserDirpublic_html UserDirdisabled/enabled utente Con questa direttiva si consente agli utenti di un server di avere all'interno dell'utenza personale una directory in cui posizionare i propri documenti HTML. Ad esempio sul server www.nome.it Х presente un utente rossi, la cui home directory Х /home/rossi contenente una sottodirectory chiamata public_html, se dal browser viene richiesto www.server.com/~rossi appariranno i files presenti nella directory /home/rossi/public_html. DirectoryIndex file indice : quando si accede ad una directory invece che ad un file specifico, se esiste in quella directory il file index.html viene restituito il contenuto di questo file invece dell'elenco dei files contenuti nella directory. Questo meccanismo e' utilizzato per mascherare il contenuto effettivo delle directory. HostnameLookups on/off : si usa on se si vuole la risoluzione a nome mnemonico nel file di Logs (vedi CustomLog) ed anche se si vuole applicare un filtro sugli accessi in base al dominio di appartenenza (utilizzo della direttiva Limit). ScriptAlias/cgi-bin/ /usr/local/apache/cgi-bin/ ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ Questa direttiva definisce le directory dove le Sript CGI possono essere memorizzate e invocate

36 Le direttive di logging Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf ErrorLog nome file : file di log in cui vengono registrati i dati delle transazioni non andate a buon fine; /usr/local/httpd/logs/error_log LogLevel livello : Determina il livello di verbosity dei messaggi che vengono scritti nei file error_log. Livelli di log possibili in ordine crescente di importanza: debug: messaggi utili al debug;debug: messaggi utili al debug; info: informazioni generali;info: informazioni generali; notice: condizioni normali ma significative;notice: condizioni normali ma significative; warn: warning; (Default)warn: warning; (Default) error: errori generali (del tipo "Premature end of script headers", utili per il debugging degli script CGI);error: errori generali (del tipo "Premature end of script headers", utili per il debugging degli script CGI); crit: condizioni critiche;crit: condizioni critiche; alert: bisogna provvedere immediatamente;alert: bisogna provvedere immediatamente; emerg: emergenze, il sistema è inutilizzabile.emerg: emergenze, il sistema è inutilizzabile.

37 LogFormat formato : e' possibile scegliere tra vari formati di registrazione per il file di log. I piu significativi: I piu significativi: %b --> Byte inviati, esclusi gli headers HTTP; %f --> Il Filename %{VAR}e --> Il contenuto della variabile d'ambiente {VAR} %h --> L'host remoto %a -->L'indirizzo IP remoto %l --> Il logname remoto, se specificato %p --> La porta dalla quale il server esegue la richiesta %P --> L'ID del processo che esegue la richiesta %r --> La prima riga della richiesta %s --> Lo stato della richiesta %t --> L'orario delle richiesta %T --> Il tempo in secondi per eseguire la richiesta %u --> Il nome dell'utente remoto %U --> L'url richiesta Le direttive di logging Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf

38 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive di gestione dei processi MaxClients numero: imposta il numero massimo di processi figlio che possono essere attivati; default 256. MaxRequestsPerChild numero: imposta il numero massimo di connessioni che vengono elaborate da un processo figlio; il valore di default a 0 viene interpretato come mancanza di limite. MaxSpareServers numero: imposta il numero massimo di processi figlio inattivi che possono esistere. Default 10. MinSpareServers numero: numero minimo di processi figlio inattivi contemporaneamente. StartServers numero: imposta il numero di processi figlio creati all'avvio.

39 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive di controllo MIME TypesConfig nome file: imposta il nome del file di configurazione dei tipi MIME; fornisce la mappatura per i vari tipi dati dalle estensioni dei nomi dei file; /usr/local/httpd/conf/mime.types DefaultType tipo-MIME: definisce il tipo MIME per tutti quei documenti che non si identificano in base all'estensione. Di default: text/plain AddType MIME type | estensione: con questa direttiva e' possibile aggiungere altri tipi MIME senza modificare il contenuto del file mime.types. Nel caso di utilizzo del modulo PHP con Apache, l'AddType comunica al HTTP server di interpretare i documenti con estensione.php e di inviare al client solo il contenuto dell'elaborazione.

40 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive di controllo sui file.htaccess AccessFileName nome file : definisce il nome del file, contenuto in ogni directory, in cui sono indicate le informazioni per l'accesso alla directory. Il file non contiene necessariamente solo direttive di controllo sugli accessi. Di default:.htaccess AllowOverride All|None|directive-type: indica se il file di configurazione (.htaccess) per le singole directory viene letto, nel qual caso indica anche il tipo di direttiva permessa. Con None viene ignorato qualsiasi file di configurazione all'interno della directory. All: Sono valide tutte le direttive indicate nel file di configurazione All: Sono valide tutte le direttive indicate nel file di configurazione AuthConfig:Abilita l'uso di autenticazione e di autorizzazione AuthConfig:Abilita l'uso di autenticazione e di autorizzazione FileInfo: Abilita l'uso di direttive per il controllo del tipo di documento FileInfo: Abilita l'uso di direttive per il controllo del tipo di documento Indexes: Abilita l'uso di direttive per l'indicizzazione delle directory Indexes: Abilita l'uso di direttive per l'indicizzazione delle directory Limit: Abilita l'uso di direttive per il controllo di accesso degli host Limit: Abilita l'uso di direttive per il controllo di accesso degli host Options: Abilita l'uso di direttive di controllo sulle caratteristiche della directory Options: Abilita l'uso di direttive di controllo sulle caratteristiche della directory

41 I marcatori per il controllo sugli accessi Nel file di configurazione httpd.conf è possibile inserire dei marcatori (con sintassi simile a quella dellHTML) che permettono di controllare gli accessi alle varie directory visibili da Apache:. Location. Files. Directory. Limit Esempio : Esempio (/usr/local/Apache/conf/httpd.conf): HostnameLookups ON # --------------------------------------------------------- HostnameLookups ON # --------------------------------------------------------- order deny, allow order deny, allow deny from all deny from all allow from rm.cnr.it allow from rm.cnr.it # ---------------------------------------------------------Effetto: --------------------------------------------------------- Solamente i clients appartenenti al dominio rm.cnr.it possono consultare i files contenuti nella directory: /miei_docs ; --------------------------------------------------------- N.B.: nellesempio la direttiva HostnameLookups deve essere ON Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf

42 Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf Le direttive di autenticazione AuthType type: definisce il protocollo di autenticazione: Basic/Digest(MD5). Se utilizzata questa direttiva necessita di: AuthName, AuthUserFile e AuthGroupFile. AuthName type: permette di specificare il commento che verrà stampato dal browser al momento della autenticazione. AuthUserFile filename: puntatore al file che contiene username password. E popolato dal comando : htpasswd -c file_password utente (da abilitare) AuthGroupFile filename: puntatore al file che contiene i nomi dei gruppi e dei relativi membri (è un file ASCII). mio_gruppo: pippo pluto paperino Require UserName/GroupName/valid-user : attiva il protocollo di autenticazione per i soggetti individuti in argomento

43 Il server WEB e le Tecnolgie connesse Apache Configurazione:.htaccess Il controllo locale sugli accessi Le funzionalità del file httpd.conf possono essere integrate da file ausiliari (.htaccess) inseriti nelle directory che si desidera controllare. Lutilizzo rallenta il server (i file debbono essere interpretati ad ogni accesso) ma ne facilita la gestione locale (delegabile al web master) sempre autorizzata da opportune direttive. /usr/local/Apache/conf/httpd.conf#--------------------------------- AccessFileName.htaccess AllowOverride AuthConfig #---------------------------------/htdocs/.htaccess # ------------------------------------------- AuthName " I miei_docs " AuthType Basic AuthUserFile /usr/local/Apache/passwd AuthGroupFile /usr/local/Apache/passwd require valid-user # ------------------------------------------- /usr/local/Apache/conf/httpd.conf # --------------------------------------------------------- AuthName " I miei documenti " AuthName " I miei documenti " AuthType Basic AuthType Basic AuthUserFile /usr/local/Apache/passwd AuthUserFile /usr/local/Apache/passwd AuthGroupFile /usr/local/Apache/passwd AuthGroupFile /usr/local/Apache/passwd require valid-user require valid-user # --------------------------------------------------------- Un problema: Controllare tramite password laccesso al direttorio /miei_docs Due soluzioni: 1) approccio locale:.htaccess 2) approccio generale: httpd.conf

44 Direttive per i Web Server Virtuali Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf E' possibile far coesistere piu' Web servers sulla stessa macchina. Il primo e' il server gli altri vengono identificati come virtual host (VH). Il web server, risponde sia alle richieste indirizzare all'host sia a quelle indirizzate ai VH. Si possono differenziare i documenti a seconda che venga chiamato l'host o il VH; si possono definire file di logs personalizzati separati per ogni VH. I virtual hosts sono utilizzati nel webhosting Apache supporta : VirtuaHost basati sul numero IP ( IP-Based vhosts ) VirtuaHost basati sul numero IP ( IP-Based vhosts ) VirtualHost basati sul nome (a dominio) ( Named-Based vhosts ) VirtualHost basati sul nome (a dominio) ( Named-Based vhosts )

45 Web Server Virtuali: esempio Il server WEB e le Tecnolgie connesse Apache Configurazione: httpd.conf #----------------------------------------------------------------------------- ServerAdmin sic@infoweb.artov.rm.cnr.it ServerAdmin sic@infoweb.artov.rm.cnr.it ServerName www.sic.rm.cnr.it ServerName www.sic.rm.cnr.it DocumentRoot /export/home/sic/htdocs DocumentRoot /export/home/sic/htdocs ScriptAlias /cgi-bin/ "/export/home/sic/cgi-bin/" ScriptAlias /cgi-bin/ "/export/home/sic/cgi-bin/" ErrorLog /var/apache/logs/150.146.129.6.error_log ErrorLog /var/apache/logs/150.146.129.6.error_log CustomLog /var/apache/logs/150.146.129.6.access_log common CustomLog /var/apache/logs/150.146.129.6.access_log common #-----------------------------------------------------------------------------

46 I moduli Il server WEB e le Tecnolgie connesse Apache Configurazione: funzionalità Il server Apache e' stato progettato secondo un'architettura modulare Il server Apache e' stato progettato secondo un'architettura modulare Tutte le funzionalità del server vengono delegate a specifici moduli software Tutte le funzionalità del server vengono delegate a specifici moduli software Le funzionalita' dei moduli vengono attivate tramite direttive inserite nei files di configurazione Le funzionalita' dei moduli vengono attivate tramite direttive inserite nei files di configurazione Gli amministratori possono rimuovere i moduli la cui funzionalita' non e' richiesta ottimizzando le prestazioni e riducendo le dimensioni del programma. Gli amministratori possono rimuovere i moduli la cui funzionalita' non e' richiesta ottimizzando le prestazioni e riducendo le dimensioni del programma. I moduli (http://modules.apache.org), oltre 150, si articolano in: I moduli (http://modules.apache.org), oltre 150, si articolano in: Moduli di base: vengono inclusi nella distribuzione di Apache e vengono compilati per default. Si trovano nella directory : src/modules/standard Moduli di base: vengono inclusi nella distribuzione di Apache e vengono compilati per default. Si trovano nella directory : src/modules/standard Moduli opzionali: sono inclusi nella distribuzione di Apache ma non vengono compilati per default nel server. Moduli opzionali: sono inclusi nella distribuzione di Apache ma non vengono compilati per default nel server. Moduli di terze parti: sono moduli che estendono le funzionalita' di base di Apache. Alcuni sono distribuiti gratuitamente (PHP, Apache/Perl, ecc), altri sono prodotti commerciali Moduli di terze parti: sono moduli che estendono le funzionalita' di base di Apache. Alcuni sono distribuiti gratuitamente (PHP, Apache/Perl, ecc), altri sono prodotti commerciali

47 Utilizzo in sicurezza Il server WEB e le Tecnolgie connesse Apache Configurazione: funzionalità Disabilitare i Server Side Includes (possibilità di elaborazione sul server script HTML che producono risultati nei documenti serviti al client): Options -Includes Disabilitare i.htaccess (dichiarati nella direttiva AccessFileName): AllowOverride None Disabilitare gli utenti ai permessi di accesso Unix in scrittura fuori della propria home directory. chmod 755 Directory-Name

48 Bibliografia - Sitografia Il server WEB e le Tecnolgie connesse Bibliografia e Sitografia A. Ford :"Apache Pocket Reference"; O'Reilly Associates, HOPS Libri K. Jamasa et al.: Tutto WEB corso completo; McGrawHill B. Laurie et al.: Apache la guida; OReilly, Apogeo OpenPress A. S. Tanenbaum: Reti di Computers; Prentice Hall International, Utet Libreria D. Giacomini:Appunti di informatica libera" - 2000; World Wide Web Consortium home page: http://www.w3.org The APACHE - HTTP Server Project home page: http://www.apache.org Apache HTTP Server Version 1.3: http.//httpd.apache.org/ D. Beatrici CNR Polarnet: http://snowcat.artov.rm.cnr.it/corsi

49 Docente: Gaetano Chionchio System & Network Administrator Assunto al CNR nel 1987 come progettista elettronico. Dal 1995 si occupa della gestione di sistemi informatici. Presso lArea di Ricerca di Roma 2 (Tor Vergata) e responsabile delle infrastrutture di rete, dei servizi di interoperabilità e dei progetti avanzati di Campus per il Software Scientifico e la Formazione Professionale. Riveste la funzione di consulente informatico per lEnte presso il consorzio Parades,lASI,lISPESL ed il MIUR. E membro del comitato scientifico per la formazione nella Commissione Informatica Reti Telematiche del CNR. Servizi Informatici di Campus Phone +39 06 4993 4039 Fax +39 06 4993 4013 GSM +39 335 6201134 Email Gaetano.Chionchio@src.cnr.it URL http://www.sic.rm.cnr.it/~gaetano Sezione di Roma 2 Tor Vergata Il server WEB e le tecnolgie connesse Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dellInformazione e della Comunicazione


Scaricare ppt "Protocollo dintesa tra Ufficio Scolastico Regionale del Lazio e CNR Area della Ricerca di Roma II - Tor Vergata Lintervento, dopo una introduzione propedeutica."

Presentazioni simili


Annunci Google