Argomenti Percorso 7 Apache HTTP



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

Elementi di Sicurezza e Privatezza Laboratorio 4. Chiara Braghin. Caso di studio: Apache Web Server

Il Web Server e il protocollo HTTP

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it!

Sicurezza del Web server

Laboratorio di Progettazione Web

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

HTTPD - Server web Apache2

Configurazione avanzata di XAMPP

19. LA PROGRAMMAZIONE LATO SERVER

Scritto da Administrator Martedì 21 Ottobre :47 - Ultimo aggiornamento Lunedì 03 Ottobre :56

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

Configurazione di sicurezza di XAMPP

CONFIGURAZIONE XAMPP + SSL (HTTPS)

Corso basi di dati Installazione e gestione di PWS

2015 PERIODO D IMPOSTA

Guida all amministrazione VPH Webmin/Virtualmin

Utilizzo di Certificati SSL e relative implicazioni

Introduzione a XAMPP. Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica

Mac Application Manager 1.3 (SOLO PER TIGER)

Il progetto ADVmania. SOFTWARE MADE IN SARDINIA ADVmania 1

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS)

Classe 5 Bi Laboratorio di informatica Esercitazione di gruppo: configurazione server Apache

Studi di Settore. Nota Operativa 22/4/2013

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Il web server Apache Lezione n. 3. Introduzione

Esercitazione 2 Certificati

Il server web: Apache, IIS e PWS

Tecnologie di Sviluppo per il Web

Protocolli applicativi: FTP

INSTALLAZIONE SOFTWARE HELMAC

Guida alla registrazione on-line di un DataLogger

SOSEBI PAPERMAP2 MODULO WEB MANUALE DELL UTENTE

PRESENTAZIONE. Mauro Rainis.

Configurazione posta su ios

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Sommario. Introduzione Architettura Client-Server. Server Web Browser Web. Architettura a Due Livelli Architettura a Tre Livelli

ISPConfig: configurazione di un sito

Installazione del software Fiery per Windows e Macintosh

Siti web centrati sui dati (Data-centric web applications)

Installazione, configurazione e utilizzo di IIS

Configurazione generale di Samba

La sicurezza nel Web

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

Lezione n 1! Introduzione"

Schedulatore per la comunicazione con le Porte di Dominio

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Server web e protocollo HTTP

Apache 2, PHP5, MySQL 5

Applicazioni web centrati sui dati (Data-centric web applications)

Corso Creare Siti WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

SERVIZIO TELEMATICO ENTRATEL. Applicazione Autentica-Apri Multifile

FAQ TeamPortal - DVD DEMO

Installazione Shibboleth Service Provider su Debian-Linux

Corso GNU/Linux - Lezione 6. Davide Giunchi - davidegiunchi@libero.it

Trend Micro Worry-Free Business Security 8.0 Suggerimenti e stratagemmi per la 1 configurazione

Esercitazione 02. Sommario. Un po di background (1) Un certificato digitale in breve. Andrea Nuzzolese

Punto Print Il programma per stampare. Documentazione Tecnica

Scaletta. Estensioni UML per il Web. Applicazioni web - 2. Applicazioni web. WAE: Web Application Extension for UML. «Client page»

Il seguente Syllabus è relativo al Modulo 7, Reti informatiche, e fornisce i fondamenti per il test di tipo pratico relativo a questo modulo

Lezione II: Web server e ambiente di lavoro

Esercitazione 05. Sommario. Packet Filtering [ ICMP ] Esercitazione Descrizione generale. Angelo Di Iorio (Paolo Marinelli)

GUIDA UTENTE PRIMA NOTA SEMPLICE

Inetd e TCP Wrappers

Server Web. Apache Tomcat. Modalità di funzionamento. Autore: Roberto Fabbrica Diapo 1. Diapo 2. Diapo 3

Registro elettronico scuola ospedaliera rel. 7.0

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Server dolphin: installazione e configurazione di un server web

AVCP Generatore di XML

Iniziamo la panoramica sul funzionamento dell'svn sulla suite S.A.

SERVIZIO TELEMATICO ENTRATEL. Applicazione Invia Multifile

VntRAS Communication Suite

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato)

Creare connessioni cifrate con stunnel

LEGGIMI UTENTE. versione 2013A

filrbox Guida all uso dell applicazione DESKTOP Pag. 1 di 27

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Rapporto Tecnico N. 2 Ottobre IBIM Drive. Alessandro Pensato

Introduzione ai servizi di Linux

I satelliti. Accesso Remoto

Guida alla registrazione on-line di un NovaSun Log

Istruzioni per l installazione

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso

Access Control List (I parte)

LABORATORIO DI Tecnologie di Sviluppo per il Web. Guida all installazione del Software

Laboratorio di Reti Esercitazione N 2-DNS Gruppo 9. Laboratorio di Reti Relazione N 2. Mattia Vettorato Alberto Mesin

LABORATORIO PER IL DESIGN DELLE INTERFACCE PEGORARO ALESSANDRO CASSERO.IT MANUALE DI AGGIORNAMENTO, MANUTENZIONE E USO DEL SITO

Microsoft Application Virtualization APP-V Streaming over HTTPS. di Nicola Ferrini

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client

ARCHIVIA PLUS - DOCPORTAL

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Come funziona internet

appunti delle lezioni Architetture client/server: applicazioni client

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

ICARO Terminal Server per Aprile

Dynamic DNS e Accesso Remoto

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

Transcript:

Apache httpd Directory importanti File di configurazione Permessi d accesso Virtual Host Moduli ed estensioni SSL e https PHP Argomenti Percorso 7 Apache HTTP 2

httpd.apache.org Percorso 7 Apache HTTP 3

Diffusione dei web server Percorso 7 Apache HTTP 4

Il lavoro del server http Rimani in attesa (LISTEN) di una richiesta http Analizza la richiesta Estrae cookie e parametri [statica] Restituisce il file [dinamica] Attiva l application server Compone la risposta Invia la risposta Chiude la connessione e dimentica tutto Percorso 7 Apache HTTP 5

Orientarsi in Apache DocumentRoot Moduli Configurazione Logs Avvio processo Posizione dei file sudo apt-get install apache2 Percorso 7 Apache HTTP 6

DocumentRoot, URL, File DocumentRoot : la cartella nella quale sono salvati i file statici distribuiti via http, o gli script dinamici attivati via http Corrisponde alla radice del sito web : / Esempio: http://my.example.com/info/contact.html viene mappato su {WebRoot}/info/contact.html URL Mapping URL Rewriting Percorso 7 Apache HTTP 7

Moduli La funzionalità http base è insita nel server (core) Molte funzionalità aggiuntive sono disponibili sotto forma di moduli (~100) che possono essere installati, configurati e attivati Ogni modulo si inserisce nella catena di elaborazione della richiesta Attivi su specifici tipi di file, o cartelle, o richieste, o fasi della risposta (hook) Esistono moduli di terze parti (es. mod_php). Percorso 7 Apache HTTP 8

Moduli installati Percorso 7 Apache HTTP 9

Configurazione /etc/apache2/apache2.conf File da esso inclusi Il file è diviso in sezioni <sezione> </sezione> Ogni sezione contiene una serie di direttive Parametro = Valore Direttive interpretate sia dal server http, sia dai moduli di estensione caricati Percorso 7 Apache HTTP 10

/var/log/apache2/ Access log Error log Rotazione dei log Log Percorso 7 Apache HTTP 11

Gestione dei processi httpd $ sudo /etc/init.d/apache2 start $ sudo /etc/init.d/apache2 stop $ sudo /etc/init.d/apache2 restart $ sudo /etc/init.d/apache2 reload $ /etc/init.d/apache2 status $ sudo service apache2 start $ sudo service apache2 stop $ sudo service apache2 restart $ sudo service apache2 reload $ service apache2 status Percorso 7 Apache HTTP 12

Posizione dei file Variabile ServerRoot Configurazione Log Sito principale DocumentRoot Moduli Variabili d ambiente PID file Posizione /etc/apache2 /etc/apache2 /var/log/apache2 sites-enabled/000-default.conf /var/www/html /usr/lib/apache2/modules /etc/apache2/envvars /var/run/apache2/apache2.pid Percorso 7 Apache HTTP 13

Posizione dei file Variabile ServerRoot Configurazione Log Sito principale DocumentRoot Moduli Variabili d ambiente PID file Posizione /etc/apache2 /etc/apache2 /var/log/apache2 sites-enabled/000-default.conf /var/www/html /usr/lib/apache2/modules /etc/apache2/envvars /var/run/apache2/apache2.pid Percorso 7 Apache HTTP 14

https://help.ubuntu.com/14.04/serverguide/httpd.html Percorso 7 Apache HTTP 15

Attivazione/disattivazione funzionalità Ubuntu ha previsto diverse configurazioni enabled: attualmente attive Available: pronte per essere attivate (e configurate) Scripts: a2{en dis}{mod conf site} Percorso 7 Apache HTTP 16

Creare pagine HTML Aggiungere file in DocumentRoot /var/www/html Il processo apache2 gira come utente wwwdata File HTML leggibili da questo utente Percorso 7 Apache HTTP 17

Esercizio Aprire (e leggere) la pagina web di default installata da Ubuntu Creare un file prova.html nella DocumentRoot con del contenuto HTML qualsiasi Aprire via browser il file prova.html Verificare access log ed error log Percorso 7 Apache HTTP 18

Sintassi apache2.conf Il file di default contiene molti commenti esplicativi L ordine delle direttive non è significativo Una direttiva per riga ( \ finale unisce righe successive) Direttive case-insensitive, molti argomenti casesensitive Commenti: # Percorso 7 Apache HTTP 19

ServerRoot Direttive principali (1) Directory principale per l installazione Molti path sono definiti come path relativi alla ServerRoot DocumentRoot Directory di default corrispondente alla radice / del sito Percorso 7 Apache HTTP 20

Listen Direttive principali (2) Specifica su quali interfacce, indirizzi IP e porte il server rimane in ascolto Se specifico solo la porta, ascolta su tutti gli indirizzi IP della macchina PidFile File contenente il PID del processo apache principale I diversi thread del server sono processi figli di questo PID Percorso 7 Apache HTTP 21

DirectoryIndex Direttive principali (3) Nome del file da servire se la URI richiesta corrisponde al dome di una directory Solitamente: index.html ErrorDocument Specifica la pagina HTML generata quando si verifica un errore a livello HTTP Può essere un file di testo, un redirect locale o un redirect esterno Percorso 7 Apache HTTP 22

Direttive principali (4) Alias Associa una URI (o un prefisso di URI) ad una certa directory fisica Alias /icons/ /usr/local/apache/icons/ Redirect Segnala al browser che una determinata URI è stata spostata (su questo o su un altro server) (HTTP 301) Redirect /service http://foo2.example.com/service Percorso 7 Apache HTTP 23

Direttive principali (5) Order/Allow/Deny Specificano i permessi e le restrizioni di accesso Order: Deny, Allow oppure Order: Allow, Deny Deny ed Allow specificano dei filtri di indirizzi IP, netmask Deny from all Allow from 192.168.54.* Percorso 7 Apache HTTP 24

Direttive principali (5) Order/Allow/Deny Specificano i permessi e le restrizioni di accesso Order: Deny, Allow oppure Order: Allow, Deny Deny ed Allow specificano dei filtri di indirizzi IP, netmask Deny from all Allow from 192.168.54.* Percorso 7 Apache HTTP 25

Direttive principali (6) Options Configura le funzioni aggiuntive disponibili nelle directory Indexes Se manca DirectoryIndex, genera automaticamente l elenco dei file presenti AddIcon Specifica immagini delle icone per i vari tipi di file Multiviews Attiva la negoziazione della lingua ExecCGI Permette l esecuzione di script CGI Includes Attiva l elaborazione di Server-Side includes o parsed HTML Percorso 7 Apache HTTP 26

Sezione <Directory> Specifica una serie di direttive che si applicano solamente ad un sotto-insieme dell albero dei file Specifica il full path (fisico) a cui si applica Percorso 7 Apache HTTP 27

Sezione <Files> Applica un insieme di directory a tutti i file il cui nome corrisponde Percorso 7 Apache HTTP 28

Sezione <Location> Applica le direttive quando la URI Richiesta (e non il path fisico) corrisponde Percorso 7 Apache HTTP 29

Il file.htaccess Oltre alle specifiche date nelle sezioni <Directory>, ogni directory può avere un file chiamato.htaccess Il.htaccess può contenere direttive aggiuntive, che si sovrappongono a quelle dichiarate nei file.conf Rallenta il server (deve essere letto per ogni richiesta) Percorso 7 Apache HTTP 30

Creare un mini-sito Esercizio File HTML accessibili sotto la URL /sito (path fisico /var/www/sito) File immagini accessibili sotto la URL /imgsito (path fisico /var/www/immagini) Percorso 7 Apache HTTP 31

Virtual Hosts Più siti web, indipendenti, gestiti sullo stesso server Ogni virtual host ha una configurazione del tutto indipendente ServerName, DocumentRoot, Aliases, log files, etc. http://httpd.apache.org/docs/current/vhosts/ Percorso 7 Apache HTTP 32

Virtual Hosts Apache supporta due tipi di virtual host Name-based virtual host Seleziona la configurazione virtuale sulla base del nome DNS utilizzato dal client Permette molti virtual host sullo stesso IP address Necessario agire sul DNS IP-based virtual host Seleziona la configurazione virtuale sulla base dell IP address richiesto Necessario che il server abbia più indirizzi IP, uno per ciascun sito Percorso 7 Apache HTTP 33

Name-Based Virtual Host ServerName seleziona quale virtual host attivare ServerAlias può specificare nomi aggiuntivi DocumentRoot diversa Percorso 7 Apache HTTP 34

IP-Based Virtual Host Indirizzo IP diverso per I diversi host Direttive diverse per ciascun sito Saranno necessari comandi Listen per ciascun IP Percorso 7 Apache HTTP 35

Virtual Host su Ubuntu Prendere ad esempio il sito 000-default.conf Creare un nuovo file.conf per il nostro sito, nella directory -available Attivare il sito (a2ensite) Percorso 7 Apache HTTP 36

Esercizio Creare due virtual host IP-based Indirizzo IP della rete Host Only Porte di rete diverse (es. 80 ed 81) Definire DocumentRoot distinte e verificare che funzioni Ripetere l esercizio con virtual host name-based Occorrerà modificare il file di hosts della macchina client e della macchina server Percorso 7 Apache HTTP 37

HTTPS e siti web sicuri La connessione HTTP è in chiaro E possibile cifrare con SSL la connessione utilizzando il protocollo HTTPS (porta 443) Gestito dal modulo mod_ssl (nel package apache2-common) Necessario un «certificato server» Percorso 7 Apache HTTP 38

Attivazione https Attivare il modulo mod_ssl sudo a2enmod ssl Verificare il sito di prova descritto in /etc/apache2/sites-available/default-ssl.conf Attivare il sito https di prova sudo a2ensite default-ssl sudo service apache2 restart Percorso 7 Apache HTTP 39

Certificati? Il sito default-ssl.conf lavora con certificati self-signed Necessario sostituirli con certificati firmati da un autorità riconosciuta Percorso 7 Apache HTTP 40

SSLEngine on SSLCertificateFile Direttive per https Certificato in formato PEM Può contenere la catena di certificazione SSLCertificateKeyFile Contiene la chiave privata del certificato Se la chiave privata è crittografata, sarà necessario inserire la passphrase all avvio di apache Percorso 7 Apache HTTP 41

Esempio minimo Percorso 7 Apache HTTP 42

Esercizio Attivare il server HTTPS di default Attivare il server HTTPS per almeno uno dei virtual host configurati prima. Percorso 7 Apache HTTP 43

Riferimenti http://httpd.apache.org/ https://help.ubuntu.com/14.04/serverguide/http d.html Percorso 7 Apache HTTP 44

These slides are licensed under a Creative Commons Attribution Non Commercial Share Alike 4.0 International To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/ Versione in Italiano: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.it