Laboratorio di Progettazione Web

Похожие документы
Il Web Server e il protocollo HTTP

Il server web: Apache, IIS e PWS

Corso basi di dati Installazione e gestione di PWS

Xampp. Valeriano Maysonnave - A.A. 2014/2015 -

Il web server Apache Lezione n. 3. Introduzione

Manuale per la configurazione di AziendaSoft in rete

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale:

Client - Server. Client Web: il BROWSER

FPf per Windows 3.1. Guida all uso

Configurazione avanzata di XAMPP

Guida Rapida di Syncronize Backup

1. Indice Uno shop pronto alla vendita in pochi passaggi Registrazione Il suo assistente di installazione...

2.1 Installazione e configurazione LMS [4]

ESERCITAZIONE Semplice creazione di un sito Internet

Studi di Settore. Nota Operativa 22/4/2013

19. LA PROGRAMMAZIONE LATO SERVER

Apache 2, PHP5, MySQL 5

Installazione, configurazione e utilizzo di IIS

COMUNICAZIONE UTENTI SISTEMI-PROFIS INSTALLAZIONE GE.RI.CO e PARAMETRI2015

Dynamic DNS e Accesso Remoto

Installazione & Configurazione Php e MySQL su Mac Os X. Php

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!

Installazione del software Fiery per Windows e Macintosh

MANUALE D USO DELL E-COMMERCE. Versione avanzata

Aggiornamenti Sistema Addendum per l utente

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Guida all amministrazione VPH Webmin/Virtualmin

CONFIGURAZIONE XAMPP + SSL (HTTPS)

Indicazioni per una corretta configurazione del browser

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

MANUALE PARCELLA FACILE PLUS INDICE

IBM SPSS Statistics per Windows - Istruzioni di installazione (Licenza per sito)

LaCie Ethernet Disk mini Domande frequenti (FAQ)

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

BREVE GUIDA ALL ATTIVAZIONE DEL SERVIZIO DDNS PER DVR SERIE TMX

PORTALE CLIENTI Manuale utente

FASE 1: Definizione del tema, degli obiettivi e del target con il cliente... (da cui dipendono le scelte successive!)

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

CdL in Medicina Veterinaria - STPA AA

INSTALLAZIONE JOOMLA

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

CAPITOLO 1 PREREQUISITI DI INSTALLAZIONE SOFTWARE RICAMBI CAPITOLO 2 PROCEDURA

Guida all'installazione del CMS Os-Commerce

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Cimini Simonelli - Testa

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

MyFRITZ!, Dynamic DNS e Accesso Remoto

Guida Migrazione Posta Operazioni da effettuare entro il 15 gennaio 2012

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

TERMINALE. Creazione e gestione di una postazione terminale di Eureka

Biblioteca di Cervia NOZIONI BASE DI INFORMATICA

Guida all installazione di SWC701DataWebAccess (.net 2.0)

Guida alla registrazione on-line di un DataLogger

Corso di PHP. Prerequisiti. 1 - Introduzione

Come Installare SQL Server 2008 R2 Express Edition With Tools

ARCHIVIA PLUS - ARCHIFILE

UTILIZZO DEL SOFTWARE MONITOR

Sistema per scambi/cessioni di Gas al Punto di Scambio Virtuale

SVILUPPO DEL BLOG Autori: Ilari Michele, Cimini Oscar, Zaleski Dawid

progecad NLM Guida all uso Rel. 10.2

Collegamento remoto vending machines by do-dots

SCOoffice Address Book. Guida all installazione

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Start > Pannello di controllo > Prestazioni e manutenzione > Sistema Oppure clic destro / Proprietà sull icona Risorse del computer su Desktop

Guida all impostazione. Eureka Web

Configuration Managment Configurare EC2 su AWS. Tutorial. Configuration Managment. Configurare il servizio EC2 su AWS. Pagina 1

Servizio di Posta elettronica Certificata (PEC)

Corso di PHP. Prerequisiti. 1 - Introduzione

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

IBM SPSS Statistics per Linux - Istruzioni di installazione (Licenza per sito)

Indice GAMMA. Guida utente

Servizio di Posta elettronica Certificata (PEC)

Indicazioni per una corretta configurazione del browser

Protocolli applicativi: FTP

Avvio di Internet ed esplorazione di pagine Web.

Product Updater Scaricamento e Installazione aggiornamento

Portale Suap SPORVIC2 Manuale Prerequisiti tecnici di sistema

ISPConfig: configurazione di un sito

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Corso di Web programming Modulo T3 A2 - Web server

PRESENTAZIONE. Mauro Rainis.

File Server Resource Manager (FSRM)

FRANCESCO MARINO - TELECOMUNICAZIONI

Product Shipping Cost Guida d'installazione ed Utilizzo

Registratori di Cassa

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Breve guida a Linux Mint

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

ICARO Terminal Server per Aprile

Manuale servizio Webmail. Introduzione alle Webmail...2 Webmail classica (SquirrelMail)...3 Webmail nuova (RoundCube)...8

Integrazione del progetto CART regione Toscana nel software di CCE K2

STAMPA DI UNA PAGINA SEMPLICE

Транскрипт:

Il Server web Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR - c.renso@isti.cnr.it

E un programma sempre attivo che ascolta su una porta le richieste HTTP. All arrivo di una richiesta la esegue e restituisce il risultato al browser, rimettendosi in ascolto

Nel protocollo HTTP il browser invia al server una richiesta HTTP, e riceve dal server una risposta HTTP contenente l esito della richiesta. Nella richiesta abbiamo: un metodo, la URI e la versione del protocollo Esempio: dato un link http://www.miodominio.it/dir/file.html La corrispondente richiesta HTTP sara GET /dir/file.html HTTP/1.1 Host: www.miodominio.it

GET risorsa: richiede al server l invio di un file, indicato dal percorso della risorsa POST risorsa: invia al server (in particolare alla risorsa, che tipicamente e un programma lato server) delle informazioni del tipo attributo=valore HEAD: simile al GET, ma si usa per la diagnostica

Nel messaggio di risposta troviamo un codice di stato e il file richiesto con il metodo GET Esempio: HTTP/1.1 200 OK Content-type: text/html Contenxt-length: 3895 <HTML> <HEAD>

1XX informazioni 2XX Codici di successo (200 tutto bene) 3XX richiesta ricevuta ma e necessaria una ulteriore azione affinche la richiesta venga soddisfatta 4XX errore, la richiesta non puo essere soddisfatta 5XX errori interni del server, ad esempio errori negli script lato server

Essendo il protocollo HTTP uno standard libero, in linea di principio chiunque è in grado di costruirsi un proprio server web, seguendo il protocollo HTTP. Il web server sono ormai diventati strumenti estremamente complessi proprio per il supporto alla tecnologia server side, oltre che per ragioni di efficienza nel soddisfare un numero molto alto di richieste contemporanee I web server più conosciuti e usati nei siti di tutto il mondo sono: Apache (http://www.apache.org) Microsoft Internet Information Server (IIS)

Scelta del server HTTP Principali parametri di configurazione: Avvio, spegnimento Porta di funzionamento Directory di default Documento di default Log degli accessi/errori Alias o cartelle virtuali

Tipicamente uno server web per sua stessa definizione è un programma sempre attivo. Ci sono però dei casi in cui vogliamo disattivare il server (mettere fuori linea il sito per manutenzione, ad esempio). Per questa ragione ogni server web ha comandi per fermare il server e riavviarlo

Il web server (o server HTTP) come tutti i servizi basati su TCP/IP, si attiva su una porta, che è il numero a cui si fa corrispondere il servizio. In questo modo una macchina può far girare più servizi differenziando le porte Ci sono porte standard per i vari servizi (ftp, telnet, posta elettronica, web) La porta di default del web server è la 80, ma può essere configurato per funzionare su un altra porta libera. In questo caso la porta va specificata sia nella configurazione del webserver che nella URL

http://localhost:8080/ http://www.miodominio.it:9736/esempi/esercizio.php Negli esempi di queste URL il web server è stato configurato per funzionare sulla porta 8080 (nel primo caso) e sulla 9736 (nel secondo caso). Nella prima URL la parola chiave localhost sta a indicare il server web attivo sulla macchina locale (può ovviamente funzionare senza una connessione internet), la macchina locale fa da server e da client

http://localhost:8080/ http://www.miodominio.it:9736/esempi/esercizio.php Nella prima URL attiviamo una richiesta al server web locale attivo sulla porta 8080. Non specifichiamo quale documento restituirci. Il web server in questo caso decide di ritornarci il documento di default Nella seconda URL invece specifichiamo di restituirci la pagina esercizio.php nella cartella esempi

Il server web ha visibilità di una sola parte del file system della macchina. Per ragioni di sicurezza e di pulizia del sistema La porzione di file system visibile dal server web si chiama directory (o cartella) di default del server web Cartella di default

La cartella di default del server web varia a seconda del server considerato e del sistema operativo su cui è installato. Ad esempio: Per Apache su windows tipicamente è la cartella htdocs che si trova nella directory di installazione di Apache (ad es. C:\Programmi\Apache Group \Apache\htdocs) Per IIS è la cartella wwwroot che generalmente si trova in C:\Inetpub\wwwroot

http://www.miodominio.it:9736/esempi/esercizio.php In questo caso la cartella esempi è una sotto cartella della directory di default quindi su apache sarà in: C:\Programmi\Apache group\apache\htdocs\esempi Affinchè il file esercizio.php sia visibile alla URL di esempio sopra dovrà quindi essere salvato in questa cartella

Internet C:\Programmi\Apache group\apache\htdocs\esempi\ese.php http://www.miodominio.it:9736/esempi/ese.php

E uso comune configurare il server web affinché restituisca un documento predefinito qualora non ne venga specificato uno nella URL Questo permette ai siti web di rendere visibile una home page digitando il solo indirizzo del web server Ad es: www.facebook.com o www.google.com La pagina visualizzata prende il nome di homepage e tipicamente ha uno dei nomi: index.html, index.htm, index.php, default.html, default.htm, default.asp etc... Queste pagine di default e l ordine in cui vengono cercate possono essere configurate sul server web

Ogni richiesta arrivata al server web viene registrata in appositi file chiamati Logs di accesso. Possono avere formati diversi, ma essenzialmente contengono informazioni su: Indirizzo IP del client Data e ora Tipo di richiesta (GET o POST) Documento richiesto Risposta del server (tutto bene 200 - o codice di errore)

Analogamente vengono registrati tutti gli errori che genera il server web ad una data richiesta Ad es. Pagina non trovata (codice 404) o errori specifici dello script se la pagina è dinamica (ad es PHP) Per i siti web è importante controllare periodicamente i logs per verificare che non ci siano troppi messaggi di errore (es esempio qualche link errato o errore in qualche script), ma anche per tenere sotto controllo eventuali tentativi di accesso non autorizzato (virus, hacker etc)

IP address client Risposta del server Comando HTTP 127.0.0.1 - - [21/Apr/2005:15:47:36 +0200] "GET /favicon.ico HTTP/1.1" 404 293 127.0.0.1 - - [21/Apr/2005:15:47:47 +0200] "GET /my_public_html/ HTTP/1.1" 200 1653 127.0.0.1 - - [21/Apr/2005:15:47:47 +0200] "GET /icons/folder.gif HTTP/1.1" 200 225 127.0.0.1 - - [21/Apr/2005:15:47:47 +0200] "GET /icons/blank.gif HTTP/1.1" 200 148 127.0.0.1 - - [21/Apr/2005:15:47:47 +0200] "GET /icons/ unknown.gif HTTP/1.1" 200 245 127.0.0.1 - - [21/Apr/2005:15:47:47 +0200] "GET /favicon.ico HTTP/1.1" 404 293 127.0.0.1 - - [21/Apr/2005:15:47:51 +0200] "GET /my_public_html/ orario_saluto.php HTTP/1.1" 200 174 Documento richiesto

I file di log sono praticamente impossibili da analizzare a mano, registrano ogni azione del server e quindi tendono ad essere enormi Esistono strumenti per facilitare l analisi, forniscono funzionalita statistiche in forma grafica, alcuni sono free, altri a pagamento. Sono strumenti preziosissimi per il webmaster

Quando un server web è attivo su una macchina la sua cartella di default è automaticamente resa pubblica. Se vogliamo pubblicare un documento dobbiamo quindi copiarlo in tale cartella In alcuni casi può essere utile rendere pubblica anche un altra porzione del file system Si parla in questo caso di alias o cartelle virtuali Il meccanismo sta nel definire una nuova URL che punta ad una specifica cartella del disco, non necessariamente dentro la cartella di default

Creare un alias vuol dire creare una corrispondenza tra una URL e una cartella del disco http://localhost/esalias/ Corrisponde alla cartella: alias C:\esempioalias

Il web server Apache è free opensource creato e mantenuto dalla Apache foundation ed è liberamente scaricabile da http://www.apache.org dove si può trovare tutta la documentazione Può essere installato sia su Windows che su Unix e MacOS anche se è stato realizzato specificatamente per Unix. Supporta varie tecnologie serverside, occorre però installare il corrispondente modulo. Alcuni moduli sono già installati nella configurazione di default, altri vanno appositamente installati (ad es PHP). Esistono installazioni integrate di Apache + PHP + MySQL La versione più recente è la 2.2

L installazione su Windows è abbastanza agevole Può funzionare correttamente anche senza specifiche configurazioni (a parte installare il modulo per la tecnologia serverside che si intende usare) Per farlo partire(fermare): Selezionare Avvia(Ferma) dal menu Apache nel menu Windows\programmi\ Dal prompt dei comandi digitando: Net start(stop) apache Dal pannello di controllo\servizi\apache

Si può configurare dal file httpd.conf, generalmente reperibile alla voce Apache del menu Programmi di windows, oppure nella cartella di installazione di Apache o del kit di installazione E un file di testo editabile con blocco note E suddiviso in varie sezioni: Global: parametri globali del server, si modificano solo per esigenze particolari Main server: funzionamento del server web Virtual hosts: evenutali altri host virtuali gestiti dal server

In questa sezione troviamo i parametri di configurazione principali: Port 80 (Listen 80 dalla versione 2.0 in poi) Questo parametro setta la porta di funzionamento, di default la 80 ServerAdmin admin@localhost Indirizzo email dell amministratore per eventuali segnalazioni

Il nome del server ServerName kddport.isti.cnr.it La cartella di default del server web. DocumentRoot "/Applications/MAMP/htdocs Quando si cambia questa direttiva va cambiata anche la riga <Directory "/Applications/MAMP/htdocs > File di configurazione per directory AccessFileName.htaccess

<IfModule mod_alias.c> Alias /icons/ "C:/Program Files/Apache Group/ Apache/icons/" <Directory "C:/Program Files/Apache Group/ Apache/icons"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory>

Editare il file httpd.conf per le modifiche alla configurazione Riavviare apache ad ogni modifica Se attivate apache o un qualunque server web su un PC continuamente collegato ad internet, considerare i problemi di sicurezza! Installare un personal firewall e tenere il server web costantemente aggiornato con opportune patches, controllare periodicamente i logs Generalmente IIS è più soggetto a buchi di sicurezza rispetto ad Apache Nessun server è totalmente sicuro, una volta che è online!!

Nella fase di progettazione della applicazione web una fase importante e la scelta dell hosting del sito. La scelta può variare tra tenere un proprio server in rete oppure usare lo spazio fornito da un provider (gratuito o a pagamento) Queste scelte hanno vantaggi e svantaggi complementari: Il server proprio permette maggiori possibilità di personalizzazioni e flessibilità nella configurazione, ma maggiori costi di mantenimento Il server in hosting scarica il webmaster dal peso dell installazione e il mantenimento del software e dell hardware, ma non permette flessibilità e personalizzazione della configurazione Molti provider forniscono gratuitamente o a basso costo il supporto per PHP/MySQL