GNU/LINUX LAMP Linux Apache Mysql Php V1.1 del 18/02/2013

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "GNU/LINUX LAMP Linux Apache Mysql Php V1.1 del 18/02/2013"

Transcript

1 GNU/LINUX LAMP Linux Apache Mysql Php V1.1 del 18/02/2013 1/45

2 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. 2/45

3 Indice generale INTRODUZIONE AL Il World Wide Web (WWW)...5 Il protocollo HTTP (Hyper Text Transfer Protocol)...5 I metodi del protocollo HTTP...6 Gli header del protocollo HTTP...8 L'INSTALLAZIONE...11 Introduzione...11 Installazione di Apache Installazione di Php Installazione di MySql Test per verificare l'installazione...15 LA CONFIGURAZIONE...17 La struttura della cartella base...17 Sintassi e direttive del file di configurazione...18 Le direttive di configurazione generale...20 Le direttive di identificazione...21 Le direttive per il comportamento delle connessioni...21 Le direttive di limitazione...22 Le direttive per la configurazione dei processi...23 I moduli e la loro gestione...24 La sequenza di elaborazione delle direttive...25 Attivare/disattivare le opzioni...27 Diritti di accesso...29 Personalizzare i logfile...30 HOST VIRTUALI...32 Introduzione...32 Virtual Host su indirizzi IP...32 Virtual Host utilizzando i nomi di dominio...33 Cartelle protette da username e password...33 SECURE SOCKETS LAYER (SSL)...35 Introduzione...35 Chiave e certificato SSL...35 Configurazione del server...36 WEBALIZER...38 Introduzione...38 Configurazione di Webalizer...38 Webmail con Squirrelmail...40 Introduzione...40 Installazione...40 Configurazione di Squirrelmail...41 Modulo mod_rewrite...42 Introduzione...42 Configurazione del server...42 Le regole...43 Le opzioni...44 Le variabili /45

4 Le condizioni /45

5 INTRODUZIONE AL WWW Il World Wide Web (WWW) Il World Wide Web è il servizio presente su Internet per l'invio di pagine ipertestuali (con tutti i loro contenuti) da un computer che mette a disposizione il servizio (detto Webserver) ad un computer che ne richiede l'utilizzo (detto client). Per poter richiamare, e quindi visualizzare, il contenuto di pagine presenti nel World Wide Web abbiamo bisogno di un apposito programma chiamato Webbrowser, o semplicemente Browser. Per l'invio dei contenuti di queste pagine il WWW si basa sul protocollo HTTP (Hyper Text Transfer Protocol) che mette a disposizione uno standard non dipendente dal sistema operativo utilizzato. Questo garantisce la corretta visualizzazione del contenuto delle pagine indipendentemente dal sistema operativo installato sul nostro computer. Il protocollo HTTP (Hyper Text Transfer Protocol) Come precedentemente accennato il protocollo HTTP mette a disposizione delle direttive che permette il trasferimento (e la corretta visualizzazione) di pagine internet (pagine di ipertesto scritte con il linguaggio HTML) su un qualsiasi sistema operativo. La prima versione del protocollo è la 0.9, identificata all'interno delle richieste al server con la sigla HTTP/0.9. Questa versione era stata concepita per effettuare un semplice trasferimento di un file dal server al client. Alla fine del trasferimento del file la connessione veniva terminata. 5/45

6 Pagine internet, come le conosciamo oggi giorno, hanno come contenuto un numero molto alto di tanti piccoli file che devono essere scaricati per visualizzare la pagina correttamente. Basta pensare alle varie immagini utilizzate per la creazione dell'interfacciamento grafico con l'utente all'interno del Browser. Ben presto si dovette, quindi, cercare nuove soluzione. Si arrivò quindi alla versione 1.0, ossia HTTP/1.0, che aggiunse al protocollo precedente la possibilità di utilizzare degli standard di riconoscimento per i file da scaricare (MIME) e la possibilità di inviare solamente l'intestazione della pagina con relative informazioni. Il problema legato alla gestione dei Proxy e alle cache rese necessaria la standardizzazione della nuova versione 1.1, ossia HTTP/1.1. Le principali funzionalità della nuova versione sono: Persistent connections: La connessione non viene chiusa subito dopo il trasferimento del file, ma rimane aperta per permettere l'invio di eventuali altre richieste. Chunked transfers: Nelle versioni precedenti era indispensabile conoscere inizialmente la dimensione del file da trasmettere per ottimizzare il traffico sulla rete. Questo divenne problematico con l'invio di pagine dinamiche per le quali non era possibile definire la dimensione prima dell'elaborazione. Per questo motivo si passò alla possibilità di inviare una pagina mediante più pacchetti spezzati per evitare di tenere occupata la rete per troppo tempo. Byte ranges: Il file non deve più essere trasferito per intero, ma si può trasferire anche solo una parte del file. Con questo sistema è, infatti, possibile definire l'intervallo di byte (da qui il nome byte ranges) da trasferire. Questo permette di iniziare il trasferimento (precedentemente interrotto) di un file da dove si era interrotto. Hostname identification: Questo permette di inviare all'interno della richiesta al Webserver anche il nome del dominio che ci interessa. Il Webserver può quindi gestire più nomi di dominio (chiamati dominio virtuali) su un'unica interfaccia di rete con il medesimo indirizzo IP. Proxy support: Vengono messe a disposizione delle informazioni all'interno dell'intestazione che permettono ai sistemi proxy e cache di verificare l'attualità delle pagine memorizzate per sincronizzare eventuali aggiornamenti delle medesime. Content negotiation: Questo permette di gestire più versioni della medesima pagina o del medesimo documento. Il browser (oppure il cliente stesso) può mettere a disposizione una piuttosto che un'altra versione (ad esempio sui siti multilingua) della pagina richiesta. I metodi del protocollo HTTP Prima di iniziare a spiegare i metodi della versione HTTP/1.1 vediamo 6/45

7 l'utilizzo in base alla versione HTTP/1.0. Per effettuare una richiesta ad un webserver utilizziamo una URL (Uniform Resource Location) come la seguente: La URL in questione è composta da protocollo (http://), indirizzo di dominio (www.ferrazzi.info) e URI (/index.html) che sta per Uniform Resource Indicator. La prima operazione che viene eseguita dal browser quando confermiamo la richiesta alla specifica URL è la risoluzione dell'indirizzo di dominio mediante server DNS (Domain Name System), che ha il compito di restituire l'indirizzo IP del nome di dominio desiderato. Il browser tenta poi di effettuare la connessione al webserver inviando, a connessione stabilita, una riga di comando composta da METODO URI PROTOCOLLO spazi vuoti Possiamo provare ad effettuare una connessione ad un webserver utilizzando il programma telnet come segue: telnet 80 Il webserver risponderà con le seguenti righe: Trying Connected to Escape character is '^]'. A questo punto il webserver rimane in attesa della nostra richiesta. Possiamo quindi digitare HEAD /index.php HTTP/1.0 e confermare premendo due volte il tasto INVIO, per richiedere il trasferimento delle informazioni relative alla risorsa inserita. Il risultato sarà il seguente: Date: Mon, 12 Jan :40:16 GMT Server: Apache/2.2 Connection: close Content-Type: text/html Connection closed by foreign host. Il metodo HTTP permette di definire il tipo di richiesta da effettuare al webserver. Il protocollo HTTP/1.0 mette a disposizione i seguenti metodi: HEAD: per ricevere informazioni relative alla pagina desiderata. 7/45

8 GET: per ricevere il contenuto della pagina desiderata. POST: per inviare informazioni (definite nel corpo della richiesta stessa) al server, come utilizzato per l'invio da pagine HTML mediante form. Per quanto riguarda il protocollo HTTP/1.1 la richiesta diventa un po' più complessa. Il nuovo protocollo mette a disposizione dei metodi in più e diventa indispensabile fornire al server informazioni aggiuntive sotto forma di intestazioni. I nuovi metodi che si aggiungono a quelli della versione precedente sono: PUT: per permettere al client di inviare file sul server. DELETE: per eliminare risorse dal server. OPTIONS: permette di determinare le opzioni di comunicazione da parte del client per determinare le capacità del server. CONNECT: per i proxy che possono essere trasformati in maniera dinamica in tunnel. TRACE: permette al client di effettuare un controllo delle informazioni ricevute sul server durante la transazione. Gli header del protocollo HTTP Per poter usufruire delle funzionalità aggiuntive del protocollo HTTP/1.1 è necessario l'invio di informazioni aggiuntive al webserver sotto forma di header. Gli header hanno la struttura nome header: valore header Gli header vengono raggruppati in quattro categorie: general, request, response e entity. La categoria general contiene gli header utilizzati sia per le richieste che le risposte. Fanno parte di questa categoria tutti gli header legati all'utilizzo della cache, delle date, oppure della modalità di utilizzo del protocollo stesso. I principali header di questa categoria sono: Connection: con la quale si chiude immediatamente (close) o si tiene aperta (keep-alive) una connessione. Date: per definire la data e l'ora di quando è stato generato il codice Cache-Control: per definire le modalità di utilizzo della cache delle pagine La categoria request contiene gli header utilizzati per le richieste al webserver. Questi vengono utilizzati per inviare informazioni relative al client che effettua la richiesta, come la lingua desiderata, la codifica delle pagine e i tipi di file accettati. Gli header principali di questa categoria 8/45

9 sono: Accept: per definire l'elenco dei tipi di documenti accettati dal client Accept-Encoding: per definire l'elenco delle codifiche utilizzate per i file compressi accettati dal client Accept-Language: per definire l'elenco delle lingue accettate dal client Host: per definire l'indirizzo internet con eventuale porta del webserver al quale si effettua la richiesta (obbligatorio per HTTP/1.1) If-Modified-Since: la pagina richiesta viene inviata solamente se è stata modificata dopo la data indicata, altrimenti viene inviata solamente una conferma Range: per definire la parte della pagina che si vuole ricevere (indicato come intervallo in byte) User-Agent: per definire il client (o meglio il browser del client) che ha generato la richiesta La categoria response contiene gli header utilizzati per le risposte. Questi header vengono utilizzati per inviare informazioni relative al webserver. Gli header principali sono: Age: stima da parte del server dell'età della transazione, ossia il tempo trascorso dalla creazione della risposta Location: per inviare al cliente un'eventuale posizione alternativa delle informazioni richieste Retry-After: per indicare dopo quanto tempo il client dovrà tentare una nuova richiesta (in caso di indisponibilità del servizio) Server: per inviare informazioni relative al software del server ETag: una sorta di identificatore ai fini di gestione cache La categoria entity contiene gli header utilizzati sia per le risposte che per le richieste. Questi vengono utilizzati per inviare informazioni relative all'entità in questione (ossia la pagina stessa), come la lingua della pagina, la codifica del testo, la lunghezza oppure il tipo di formato utilizzato. Gli header principali sono: Content-Encoding: indica il tipo di codifica utilizzata per file compressi Content-Language: indica le lingue supportate Content-Length: indica la lunghezza del file Content-Type: indica il formato del file Expires: indica il termine di validità della risposta (utilizzato per la gestione della cache) Last-Modified: indica la data dell'ultima modifica 9/45

10 A questo punto possiamo ripetere il precedente esempio utilizzando la versione di protocollo HTTP/1.1. Effettuiamo la connessione al webserver con il comando telnet e digitiamo la seguente riga HEAD /index.php HTTP/1.1 Host: Vediamo apparire sullo schermo le nuove informazioni relative al protocollo HTTP/1.1. Nella prima riga della risposta riusciamo ad identificare il codice 200 con la scritta OK che indicano l'esito positivo della richiesta. I codici che restituiscono lo stato della transazione si dividono in cinque categorie identificate dal primo numero del codice stesso: 1xx: codici informativi 2xx: codici di successo 3xx: codici di redirezione 4xx: codici per errore del client 5xx: codici per errori del server 10/45

11 L'INSTALLAZIONE Introduzione Apache2, Php5 e MySql5 rappresentano probabilmente le migliori alternative OpenSource nei rispettivi campi. Installati poi su una Debian, si ottiene un sistema decisamente stabile e adatto a qualsiasi applicazione, dal webserver professionale all'os da casa su cui testare i propri siti web. La versione 2.0 di Apache ha introdotto il sistema MPM (Multi-Processing Modules), che consiste nella modularizzazione del sistema fino alle funzionalità più elementari. Il vantaggio di questo sistema è la possibilità di ottimizzazione delle funzionalità del server in base all'utilizzo o al sistema operativo desiderato. A differenza dei moduli delle estensioni gli MPM vanno definiti alla compilazione di Apache. Dobbiamo quindi già inizialmente sapere per che cosa, e come dovrà funzionare il nostro webserver. I moduli MPM disponibili per Apache2.0 sono: prefork: realizza il modello classico di Apache1.3 basato sull'uso dei processi worker: nuovo modulo basato sui thread che permettono di ottimizzare le prestazioni perchild: per assegnare a utenti diversi vari processi del server threadpool: variante sperimentale del modulo worker leader: altra variante sperimentale del modulo worker mpm_winnt: modulo ottimizzato per WindowsNT 11/45

12 Se non specificato diversamente verrà utilizzato prefork, che realizza il modello classico di Apache1.3. In questa sezione del manuale vedremo quindi come installare il cosiddetto LAMP server su Debian. Come suggerisce l'acronimo LAMP (Linux Apache MySql Php), verrà descritta una procedura molto semplice per una perfetta installazione di Apache2, Php5 e MySql5. La configurazione di ogni singolo componente del LAMP server che andremo ad installare sulla vostra Debian, sarà quella minima richiesta per rendere il sistema perfettamente funzionante, lasciando quindi ogni personalizzazione alle particolari esigenze di ognuno di voi. N.B. Prima di partire con l'installazione, assicuratevi che la vostra linuxbox sia aggiornata e sistemate le repository ufficiali della vostra Debian. Installazione di Apache2 Installare Apache 2 con il supporto per Php su Debian è molto semplice. Loggatevi da terminal e digitate: apt-get install apache2 apache2-mpm-prefork Digitato questo comando, vi verrà chiesto di confermare l'operazione. Rispondete sì (Yes), ed installate tutte le dipendenze necessarie che vi verranno suggerite da apt. Completata l'installazione, il vostro webserver Apache sarà già perfettamente funzionante con le impostazioni di default, e pronto per ogni vostra personalizzazione. In questo momento non ci interessa vedere come configurare ogni singolo aspetto di Apache, i virtual hosts e tutto il resto, ma soltanto installare il sistema base. E' comunque utile indicare quali sono le cartelle e i files di configurazione principali di Apache. In particolare: /var/www/ è la root folder del vostro webserver, ossia la cartella in cui verranno inseriti tutti i vostri siti web e i files che li compongono; /etc/apache2/ è la cartella in cui troverete tutti i files di configurazione relativi ad Apache; /etc/apache2/mods-available/ è la cartella in cui vengono inseriti i files di configurazione di tutti i moduli installati; /etc/apache2/mods-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/modsavailable/. Ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei moduli presenti nella cartella mods-available; 12/45

13 /etc/apache2/sites-available/ è la cartella in cui inserire il file di configurazione per ogni virtual host che verrà creato. Di predefinito, è presente unicamente il file default; /etc/apache2/sites-enabled/ è la cartella che contiene dei link simbolici ad ogni file presente nella cartella /etc/apache2/sitesavailable/. Come si può facilmente dedurre da questa struttura, ognuno di questi link simbolici, ha la facoltà di abilitare ognuno dei virtual host definiti nella cartella sites-available. Fatte queste semplici precisazioni, potete già testare il funzionamento del vostro webserver, digitando nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. oppure se siete in locale digitando nel vostro browser. Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione di Apache sulla vostra Debian. A questo punto, osservando l'url nel vostro browser, potete subito notare che la "cartella" principale del webserver è apache2-default. Ciò è definito nel file default di cui si è parlato brevemente in precedenza. Dategli un'occhiata per prendere un pò di confidenza su come Apache2 gestisce la configurazioni. Per ora è sufficiente sapere che se nel browser viene visualizzata correttamente la scritta It Works, Apache2 è installato correttamente e potete proseguire. Installazione di Php5 Installato Apache, è ora il momento di installare Php 5 e alcune delle sue componenti fondamentali. Per fare ciò, da terminal digitate molto semplicemente: apt-get install php5 libapache2-mod-php5 php5-cgi php5-gd php5-cli Dopo aver completato l'installazione, troverete il file di configurazione php.ini di php5 in /etc/php5/apache2/: nano /etc/php5/apache2/php.ini Abilitate sin da subito il supporto per MySql e per le gd libraries decommentando queste due linee nella sezione Dynamic Extensions: ;extension=mysql.so ;extension=gd.so Togliete i punti e virgola davanti di modo che risultino così (se non dovessero essere presenti, aggiungetele senza problemi): 13/45

14 extension=mysql.so extension=gd.so Assicuratevi che il modulo per php5 sia abilitato utilizzando il programma a2enmod di apache che permette di verificare (o di attivare) moduli per apache: a2enmod php5 Ora riavviate la configurazione di Apache: /etc/init.d/apache2 reload Dopo questi piccoli accorgimenti, php5 è correttamente installato sulla vostra Debian, ma prima di testarne il funzionamento, sarà preferibile riavviare il sistema (poi non lo farete mai più) per rendere effettive le configurazioni fatte. Provvederemo a riavviare la macchina tra pochissimo, non appena verrà installato e configurato anche MySql5. Installazione di MySql5 Per installare il server MySql 5.0, digitate da terminal: apt-get install mysql-server-5.0 php5-mysql Completata l'installazione, ricordate che di default MySql viene installato senza password per l'utente root. Ovviamente questo non è un bene per la sicurezza del vostro sistema, ed è opportuno settare subito una password per l'utente root. Per fare ciò, entrate in MySql da linea di comando digitando: mysql -u root ed eseguite i "comandi" seguenti: DELETE FROM mysql.user WHERE User = ''; e FLUSH PRIVILEGES; per eliminare eventuali account anonimi da MySql. Infine, settate la password per l'utente root digitando: SET PASSWORD FOR = PASSWORD('tuapassword'); e 14/45

15 SET PASSWORD FOR = PASSWORD('tuapassword'); sostituendo ovviamente tuapassword, con la password che avete scelto e HOSTNAME con l'hostname della vostra Debian. Utile inoltre ricordare che sarà preferibile impostare un utente non-root per ogni altra operazione che richiederà l'interazione tra webserver e sqlserver. Per ogni altra particolare configurazione di cui necessitate, il file su cui operare è: /etc/mysql/my.cnf Come ultima cosa, se lo desiderate, installate anche phpmyadmin, molto ultile per amministrare via browser i vostri databases. Per installare phpmyadmin, da terminal digitate: apt-get install phpmyadmin Dopo l'installazione potete trovare l'intero sistema nella cartella /usr/share/phpmyadmin. Per renderlo attivo entrate nella cartella del vostro dominio, ad esempio direttamente in /var/www/ e create un link simbolico come segue ln -s /usr/share/phpmyadmin phpmyadmin Test per verificare l'installazione A questo punto, tutto il necessario per un corretto funzionamento del nostro LAMP Server su Debian è stato installato, e per sicurezza riavviate la vostra macchina (facoltativo). Digitate: shutdown -r now e una volta riavviato il sistema, effettuate il login e testiamo le installazioni e le configurazioni fatte. Per testare Apache2, come è stato detto anche in precedenza, digitate nel vostro browser l'indirizzo di rete della macchina su cui avete installato Apache (es. oppure se siete in locale digitando nel vostro browser. Se tutto funziona correttamente, visualizzerete la scritta It Works che vi confermerà l'avvenuta installazione del vostro webserver Apache. Per testare php5, da terminal create un file che chiameremo test.php nella root folder del vostro webserver. Muovetevi quindi nella cartella principale di Apache digitando: cd /var/www/ create il file test.php digitando: 15/45

16 nano test.php e inserite quanto segue nel suddetto file: <?php phpinfo();?> Salvate, chiudete il file, e richiamatelo con il vostro browser (es. oppure Fatto ciò, se l'installazione è avvenuta con successo, visualizzerete tutte le informazioni relative alla versione di php appena installata. Per testare MySql5 e phpmyadmin, il metodo più semplice è quello di utilizzare phpmyadmin per creare un database e confermare dunque il corretto funzionamento di entrambi. Per fare ciò, digitate nel vostro browser oppure Vi troverete di fronte la schermata di login di phpmyadmin, inserite root come utente e la password che avete settato prima, ed effettuate il login. A questo punto create un database di prova chiamandolo come volete, e se tale operazione va a buon fine, anche MySql è stato correttamente installato. 16/45

17 LA CONFIGURAZIONE La struttura della cartella base La cartella base di configurazione per apache2 che viene creata dopo l'installazione è /etc/apache2. Qui troviamo le seguenti parti: apache2.conf Questo è il file di configurazione standard del sistema. Nei sistemi più datati troviamo il file httpd.conf. Qui è presente, ma solamente per questioni di compatibilità con i sistemi più vecchi. ports.conf Questo file contiene la configurazione delle porte da utilizzare per il sistema di webserver. mods-available Questa cartella contiene i moduli presenti all'interno del sistema di apache2. mods-enabled Questa cartella contiene un link ai moduli presenti in modsavailable per attivare i moduli da utilizzare con apache2. Questo permette di attivare o disattivare dei moduli senza doverli per forza eliminare dal sistema. sites-available Questa cartella contiene i file di configurazione per ogni sito che viene creato all'interno del nostro sistema web. sites-enabled Questa cartella permette di attivare i siti creando un link simbolico ai file presenti nella cartella sites-available. Questo permette di 17/45

18 spegnere momentaneamente dei siti senza doverli per forza eliminare dal sistema. Dopo ogni modifica a questi file è consigliabile mandare un segnale di HUP al processo di apache2. Questo si ottiene con il seguente comando apache2ctl reload Sintassi e direttive del file di configurazione Il file di configurazione di apache2 permette di definire due tipi di direttive, quelle semplici e i cosiddetti container. Le direttive semplici hanno la forma direttiva1 valore1 direttiva2 valore1 valore2 mentre i container hanno una forma simile ai tag del linguaggio HTML <NomeContainer argomento> direttiva1 valore1 direttiva2 valore1 valore2 </NomeContainer> Inoltre utilizziamo il # all'inizio delle righe per inserire eventuali commenti. Le direttive semplici possono essere suddivise nuovamente in tre categorie: locali, globali e locali e globali. Le direttive locali permettono di definire il comportamento del server stesso e non possono essere utilizzate all'interno dei container. Quelle globali vengono utilizzate solamente all'interno dei container, perché ne modificano il comportamento. Le direttive locali e globali permettono di modificare il comportamento del server se utilizzate localmente, definiscono invece il comportamento di una rispettiva direttiva container se specificate all'interno di essa. Per quanto riguarda i container le direttive standard che si possono utilizzare sono le seguenti: Directory: Per definire una cartella e le relative sottocartelle alle quali applicare le direttive di questo container. All'interno del nome della cartella possono essere utilizzati anche i caratteri jolly (filename globbing). DirectoryMatch: Questa è identica alla precedente, ma permette di definire il nome della cartella utilizzando le espressioni regolari (regular expression). 18/45

19 Files: Questa è simile a Directory solo che permette di indicare il nome di un file (o di un gruppo di file utilizzando i caratteri jolly) al quale verranno applicate le direttive. FilesMatch: Questa è identica alla precedente, ma permette di definire il nome del file utilizzando le espressioni regolari. Location: Questa è simile a Directory solo che permette di indicare la URL (o parte di essa) presente nella richiesta del client alla quale verranno applicate le direttive indicate. LocationMatch: Questa è identica alla precedente, ma permette di definire il nome del file utilizzando le espressioni regolari. VirtualHost: Questa viene utilizzata per definire un dominio virtuale (trattato in seguito). Limit: Questa permette di definire le restrizioni da utilizzare su determinati metodi HTTP come GET, PUT, POST, DELETE, ecc. LimitExcept: Questa permette di definire le restrizioni da utilizzare per tutti i metodi HTTP non elencati come argomento. Oltre ai container appena elencati che permettono di definire il lavoro continuo del nostro webserver abbiamo a disposizione anche delle direttive che vengono lette solamente all'avvio del server stesso. Il primo container in questione è IfModule che permette di verificare la presenza di un'eventuale modulo attivo e di reagire in tal caso con una adeguata configurazione alternativa. In caso di modulo inattivo l'avvio del webserver non restituirà degli errori. Questa direttiva viene utilizzata come segue: <IfModule mod_status.c> ExtendedStatus On </IfModule> Il secondo container in questione è IfDefine che permette di interagire con l'eventuale valore definito con il parametro -D passato al server da riga di comando. Passando al server il parametro -D DEBUG possiamo utilizzare nel file di configurazione: <IfDefine DEBUG> LogLevel debug </IfDefine> Questa direttiva può quindi essere utilizzata per definire comportamenti alternativi in caso di necessità. Infine abbiamo la direttiva Include che permette, con l'utilizzo di caratteri jolly, di definire i file di configurazione secondari da includere all'interno del file di configurazione principale, ad esempio Include /etc/apache2/mods-enabled/*.load 19/45

20 Include /etc/apache2/mods-enabled/*.conf Le direttive di configurazione generale Come accennato precedentemente abbiamo delle direttive locali che consentono di effettuare una configurazione a livello server. La configurazione base di un webserver comprende le direttive Listen indirizzo:porta Permette di identificare a quale indirizzo (nel caso in cui ci fossere più indirizzi IP disponibili) e su quale porta del relativo indirizzo rimanere in ascolto per eventuali richieste. Questa direttiva (nel caso di Debian) si trova nel file /etc/apache2/ports.conf incluso poi nel file di configurazione generale. User username Direttiva che permette di definire l'utente con il quale verranno effettuate le varie operazioni. Apache viene inizialmente inizializzato e fatto partire da root, ma tutte le operazioni successive verranno eseguite dall'utente definito all'interno di questa direttiva. Group groupname Analoga alla precedente, ma definisce il gruppo proprietario delle varie operazioni. ServerRoot directory Questa direttiva permette di definire la cartella di lavoro del server, ossia la cartella all'interno della quale si trovano tutti i file di configurazione. Nel caso di Debian per Apache2.0 la cartella di lavoro è /etc/apache2. Tutte i percorsi relativi (quindi quelli che non iniziano con / ) utilizzati all'interno del file di configurazione si relazionano in base a questa cartella. LockFile filename Questa direttiva permette di definire il nome del file (completo di percorso) utilizzato come file di lock del server. Debian utilizza il file /var/lock/apache2/apache.lock come definito dal Filesystem Hyrarchy Standard che stabilisce l'utilizzo della cartella /var/lock. PidFile filename Questa direttiva permette di definire il file all'interno del quale verrà memorizzato il PID del processo principale di Apache. Debian ha preimpostato nel file di configurazione il file /var/run/apache.pid. 20/45

21 Le direttive di identificazione Le seguenti direttive possono essere utilizzate sia a livello globale che all'interno dei domini virtuali di cui parleremo più avanti. Le direttive sono: ServerName domainname Questa direttiva permette di impostare il nome di dominio per il quale viene messo a disposizione il relativo servizio. Il nome di dominio è quello presente all'interno della URL di richiesta e inviato mediante header HTTP Host. Questa direttiva può trovarsi anche all'interno di un container VirtualHost e permette di identificare la giusta allocazione nonostante venga utilizzato sempre lo stesso indirizzo IP. ServerAdmin address Questa direttiva permette di impostare l'indirizzo dell'amministratore responsabile. L'indirizzo verrà visualizzato all'interno delle varie pagine di errore del webserver. Anche questa direttiva può essere inserita all'interno di un container VirtualHost per differenziare i vari amministratori responsabili. Le direttive per il comportamento delle connessioni Le principali direttive che possono essere utilizzate per definire il comportamento delle connessioni del server sono le seguenti. KeepAlive On Off Questa direttiva permette di mantenere attive o meno le connessioni TCP con il server. Mantenere attiva la connessione può aumentare notevolmente le prestazioni, soprattutto per pagine che al loro interno hanno molte immagini. Questo è il motivo per il quale questa direttiva viene attivata di default. KeepAliveTimeout seconds Con questa direttiva si può definire il numero di secondi che il server mantiene intatta una connessione prima di chiuderla. Si consiglia di non utilizzare un numero troppo elevato perché potrebbe mantenere aperte delle connessioni inutilizzate per troppo tempo. Avremmo un notevole calo di prestazione in caso di traffico elevato. MaxKeepAliveRequests number Questa direttiva permette di definire il numero massimo di richieste che possono essere fatte all'interno di una connessione. E' consigliabile utilizzare un numero elevato (Debian utilizza 150). 21/45

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

Installazione LAMP. Installare un server lamp su Linux Ubuntu. Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Installazione LAMP Installare un server lamp su Linux Ubuntu Per installare un server LAMP in Ubuntu come prima cosa apriamo il terminale: Poi copiamo ed incolliamo nel terminale il comando: sudo apt-get

Dettagli

Apache MySQL PHP - FTP

Apache MySQL PHP - FTP Apache MySQL PHP - FTP Scelta del software, Installazione e configurazione Ivan Grimaldi grimaldi.ivan@gmail.com HcssLug GNU/LINUX USERS GROUP Outline Cenni sul funzionamento di un WebServer Apache, PHP,

Dettagli

HTTPD - Server web Apache2

HTTPD - Server web Apache2 Documentazione ufficiale Documentazione di Ubuntu > Ubuntu 9.04 > Guida a Ubuntu server > Server web > HTTPD - Server web Apache2 HTTPD - Server web Apache2 Apache è il server web più utilizzato nei sistemi

Dettagli

XAMPP (a cura di Michele Acierno a.a. 2012/2013)

XAMPP (a cura di Michele Acierno a.a. 2012/2013) XAMPP (a cura di Michele Acierno a.a. 2012/2013) Sommario 1. Introduzione 2.Installazione Xampp 3.Avviare Xampp 4.Configurazione Xampp 4.1 DocumentRoot e standard Directory 4.2 Forbidden Access e accesso

Dettagli

Ottava Esercitazione

Ottava Esercitazione Ottava Esercitazione Sommario Aspetti preliminari architettura di riferimento cenni al protocollo HTTP Uniform Resource Identifier (URI) Configurazione del server web Apache file di configurazione invocazione

Dettagli

Reti Informatiche Terza Esercitazione. Apache Server

Reti Informatiche Terza Esercitazione. Apache Server Reti Informatiche Terza Esercitazione Apache Server Sommario Aspetti preliminari architettura di riferimento cenni al protocollo HTTP Uniform Resource Identifier (URI) Configurazione del server web Apache

Dettagli

Laboratorio di Progettazione Web

Laboratorio di Progettazione Web 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

Dettagli

Corso LAMP. Linux Apache Mysql Php

Corso LAMP. Linux Apache Mysql Php Corso LAMP Linux Apache Mysql Php Terzo Incontro * Reti basate su TCP/IP * Impostazione della rete su GNU/Linux * Gestione del software su Debian e derivate * Il web Server Apache * Configurazione principale

Dettagli

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013

DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 DNS Domain Name System Dott. Ing. Ivan Ferrazzi V1.2 del 28/02/2013 1/17 Copyright 2013 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under the terms of

Dettagli

Argomenti Percorso 7 Apache HTTP

Argomenti Percorso 7 Apache HTTP 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

Dettagli

L amministrazione dei servizi web

L amministrazione dei servizi web L amministrazione dei servizi web Simone Piccardi piccardi@truelite.it Revisione: 1350 Truelite Srl http://www.truelite.it info@truelite.it ii L amministrazione dei servizi web Prima edizione Simone Piccardi

Dettagli

I Principali Servizi del Protocollo Applicativo

I Principali Servizi del Protocollo Applicativo 1 I Principali Servizi del Protocollo Applicativo Servizi offerti In questa lezione verranno esaminati i seguenti servizi: FTP DNS HTTP 2 3 File Transfer Protocol Il trasferimento di file consente la trasmissione

Dettagli

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi

Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Liberamente adattato da Linux Server per l'amministratore di rete di Silvio Umberto Zanzi Web server Apache Un sito web notoriamente è costituito da un insieme di pagine web tra loro collegate e contenenti

Dettagli

Scritto da Administrator Martedì 21 Ottobre 2008 08:47 - Ultimo aggiornamento Lunedì 03 Ottobre 2011 09:56

Scritto da Administrator Martedì 21 Ottobre 2008 08:47 - Ultimo aggiornamento Lunedì 03 Ottobre 2011 09:56 Sommario - Introduzione - Impostare dei virtual host basati sul nome - Impostazione di un virtual host come sito predefinito - Impostazione di virtual host basati su indirizzo ip - Impostazione di sito

Dettagli

Il server Web Apache. Apache: caratteristiche

Il server Web Apache. Apache: caratteristiche Il server Web Apache Valeria Cardellini Università di Roma Tor Vergata Apache: caratteristiche Apache: A PAtCHy Server (http://httpd.apache.org) Sviluppato sul server NCSA a partire dal 1994 Versione più

Dettagli

PROTOCOLLI APPLICATIVI PER INTERNET

PROTOCOLLI APPLICATIVI PER INTERNET PROTOCOLLI APPLICATIVI PER INTERNET IC3N 2000 N. 5 La famiglia dei protocolli TCP/IP Applicazioni e-mail,ftp,ssh,www TCP UDP ICMP IP ARP RARP IEEE 802-Ethernet-X25-Aloha ecc. Collegamento fisico 6 1 Protocolli

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.10) Free

Dettagli

Il Protocollo HTTP e la programmazione di estensioni Web

Il Protocollo HTTP e la programmazione di estensioni Web Il Protocollo HTTP e la programmazione di estensioni Web 1 Il protocollo HTTP È il protocollo standard inizialmente ramite il quale i server Web rispondono alle richieste dei client (prevalentemente browser);

Dettagli

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS)

CONFIGURAZIONE WAMP SERVER + SSL (HTTPS) CONFIGURAZIONE WAMP SERVER + SSL (HTTPS) Questa guida consente di configurare Wampserver per Windows XP, con il protocollo https (ovvero connessione sicura o protetta). Effettuare una copia di backup dei

Dettagli

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

Installazione & Configurazione Php e MySQL su Mac Os X. Php Installazione & Configurazione Php e MySQL su Mac Os X Php PHP è un linguaggio di scripting interpretato, con licenza Open Source, originariamente concepito per la realizzazione di pagine web dinamiche.

Dettagli

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif

Web e HTTP. path name. host name Realizzato da Roberto Savino. www.someschool.edu/somedept/pic.gif Web e HTTP Terminologia Una pagina web consiste di oggetti Un oggetto può essere un file HTML, una immagine JPG, ecc. Una pagina web consiste di un file HTML base che fa riferimento a diversi oggetti al

Dettagli

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

Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

Sicurezza del Web server

Sicurezza del Web server Elementi di Sicurezza e Privatezza Laboratorio 3 - Web Server Apache (1) Chiara Braghin chiara.braghin@unimi.it! Sicurezza del Web server 1 Sicurezza Web Server (1) Perché attaccare un Web server? w Per

Dettagli

Rapporto Tecnico N. 2 Ottobre 2012. IBIM Drive. Alessandro Pensato

Rapporto Tecnico N. 2 Ottobre 2012. IBIM Drive. Alessandro Pensato Rapporto Tecnico N. 2 Ottobre 2012 IBIM Drive Alessandro Pensato IBIM DRIVE Alessandro Pensato IBIM-CNR Ottobre 2012 ABSTRACT Con la diffusione dei dispositivi mobili e delle connessioni di rete sempre

Dettagli

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

Xampp. Valeriano Maysonnave - A.A. 2014/2015 - Xampp Valeriano Maysonnave - A.A. 2014/2015-1 Introduzione...1 2 Installazione su Windows...1 3 Configurazione Apache...2 3.1 Accesso al file di configurazione httpd.conf...2 3.2 Il file httpd.conf...3

Dettagli

Protocolli per il Web. Impianti Informatici. Protocolli applicativi

Protocolli per il Web. Impianti Informatici. Protocolli applicativi Protocolli per il Web Protocolli applicativi I protocolli applicativi 2 Applicazioni Socket interface HTTP (WEB) SMTP (E-MAIL) FTP... NFS RPC DNS... Trasporto TCP UDP Rete ICMP RIP OSPF IP ARP RARP Non

Dettagli

CONFIGURAZIONE XAMPP + SSL (HTTPS)

CONFIGURAZIONE XAMPP + SSL (HTTPS) CONFIGURAZIONE XAMPP + SSL (HTTPS) a cura di Anna Marchese Questa guida consente di configurare Xampp per Windows 7, con il protocollo https (ovvero connessione sicura o protetta). Io ho installato Xampp

Dettagli

Download, configurazione ed installazione di apache

Download, configurazione ed installazione di apache INDICE INDICE... - 1 - Introduzione... - 3 - Caratteristiche principali... - 3 - Breve descrizione dell architettura... - 3 - Download, configurazione ed installazione di apache... - 3 - Configurazione

Dettagli

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

Elementi di Sicurezza e Privatezza Laboratorio 4. Chiara Braghin. Caso di studio: Apache Web Server Elementi di Sicurezza e Privatezza Laboratorio 4 Chiara Braghin Caso di studio: Apache Web Server 1 References Pagina web di Apache http://httpd.apache.org Pagina relativa al modulo di autenticazione http://httpd.apache.org/docs/2.2/howto/auth.html

Dettagli

Apache 2, PHP5, MySQL 5

Apache 2, PHP5, MySQL 5 Installazione di Apache 2, PHP5, MySQL 5 Corso Interazione Uomo Macchina AA 2005/2006 Installazione e Versioni Considerazione le versioni più recenti dei vari software così da poterne sperimentare le caratteristiche

Dettagli

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

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4) Architettura del WWW World Wide Web Sintesi dei livelli di rete Livelli di trasporto e inferiori (Livelli 1-4) - Connessione fisica - Trasmissione dei pacchetti ( IP ) - Affidabilità della comunicazione

Dettagli

Il Web Server e il protocollo HTTP

Il Web Server e il protocollo HTTP Corso PHP Parte 2 Il Web Server e il protocollo HTTP 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,

Dettagli

Protocollo HTTP. Alessandro Sorato

Protocollo HTTP. Alessandro Sorato Un protocollo è un insieme di regole che permettono di trovare uno standard di comunicazione tra diversi computer attraverso la rete. Quando due o più computer comunicano tra di loro si scambiano una serie

Dettagli

CONFIGURAZIONE DEI SERVIZI (seconda parte)

CONFIGURAZIONE DEI SERVIZI (seconda parte) Corso ForTIC C2 LEZIONE n. 10 CONFIGURAZIONE DEI SERVIZI (seconda parte) WEB SERVER PROXY FIREWALL Strumenti di controllo della rete I contenuti di questo documento, salvo diversa indicazione, sono rilasciati

Dettagli

Il server Web Apache. Apache

Il server Web Apache. Apache Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Il server Web Apache Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2008/09 Apache Apache: A PAtCHy server (http://httpd.apache.org)

Dettagli

Livello cinque (Livello application)

Livello cinque (Livello application) Cap. VII Livello Application pag. 1 Livello cinque (Livello application) 7. Generalità: In questo livello viene effettivamente svolto il lavoro utile per l'utente, contiene al suo interno diverse tipologie

Dettagli

Parte II: Reti di calcolatori Lezione 9

Parte II: Reti di calcolatori Lezione 9 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II: Reti di calcolatori Lezione 9 Giovedì 2-04-2015 1 Come per una pagina Web, anche

Dettagli

Apache: A PAtCHy server (http://httpd.apache.org)

Apache: A PAtCHy server (http://httpd.apache.org) Il server Web Apache Apache Apache: A PAtCHy server (http://httpd.apache.org) Sviluppato sulla base del server NCSA a partire dal 1994 Versione più recente: Apache 2.2 (ultima release: Apache 2.2.15 Free

Dettagli

Architetture Web Protocolli di Comunicazione

Architetture Web Protocolli di Comunicazione Architetture Web Protocolli di Comunicazione Alessandro Martinelli alessandro.martinelli@unipv.it 10 Maggio 2011 Architetture Web Architetture Web Protocolli di Comunicazione Il Client Side Il Server Side

Dettagli

Reti di Calcolatori. Master "Bio Info" Reti e Basi di Dati Lezione 2

Reti di Calcolatori. Master Bio Info Reti e Basi di Dati Lezione 2 Reti di Calcolatori Sommario Software di rete TCP/IP Livello Applicazione Http Livello Trasporto (TCP) Livello Rete (IP, Routing, ICMP) Livello di Collegamento (Data-Link) I Protocolli di comunicazione

Dettagli

PRESENTAZIONE. Mauro Rainis. mauro.rainis@uniud.it

PRESENTAZIONE. Mauro Rainis. mauro.rainis@uniud.it APPLICAZIONI WEB 1 PRESENTAZIONE Mauro Rainis mauro.rainis@uniud.it 2 Mail anonime http://ingprj.diegm.uniud.it/mail_anonime password: webapp 3 Obiettivi del corso Progettare e realizzare applicazioni

Dettagli

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

Apache Webserver. Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Apache Webserver Piccola introduzione all'installazione ed alla configurazione, a cura di: Alessandro Gervaso Cos'è Apache? Dal sito http://httpd.apache.org: The Apache HTTP Server Project is an effort

Dettagli

Lucidi a cura di Andrea Colombari, Carlo Drioli e Barbara Oliboni. Lezione 4

Lucidi a cura di Andrea Colombari, Carlo Drioli e Barbara Oliboni. Lezione 4 Lucidi a cura di Andrea Colombari, Carlo Drioli e Barbara Oliboni Lezione 4 Introduzione alle reti Materiale tratto dai lucidi ufficiali a corredo del testo: D. Sciuto, G. Buonanno e L. Mari Introduzione

Dettagli

3. Come realizzare un Web Server

3. Come realizzare un Web Server 3. Come realizzare un Web Server 3.1 Che cos'è un web server Il web server, è un programma che ha come scopo principale quello di ospitare delle pagine web che possono essere consultate da un qualsiasi

Dettagli

Protocolli applicativi basati su TCP/IP

Protocolli applicativi basati su TCP/IP Protocolli applicativi basati su TCP/IP A.A. 2005/2006 Walter Cerroni Protocolli applicativi Sono i protocolli utilizzati dalle applicazioni per scambiarsi informazioni attraverso la rete Esempi: HTTP

Dettagli

Complementi di Tecnologie Web

Complementi di Tecnologie Web Complementi di Tecnologie Web Gli argomenti trattati nel corso sono divisi in due moduli: Tecnologie web lato server Docenti: Vincenzo Della Mea, Ivan Scagnetto Tecnologie XML Docente: Massimo Franceschet

Dettagli

Sicurezza delle applicazioni web: protocollo HTTP

Sicurezza delle applicazioni web: protocollo HTTP Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Anno Accademico 2009/2010 Sicurezza delle applicazioni web: protocollo HTTP Roberto Paleari roberto@security.dico.unimi.it

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

INSTALLARE UN DATABASE BIBLIOGRAFICO SU SUSE LINUX 9.2 CON APACHE, POSTGRESQL E DOCDB

INSTALLARE UN DATABASE BIBLIOGRAFICO SU SUSE LINUX 9.2 CON APACHE, POSTGRESQL E DOCDB INSTALLARE UN DATABASE BIBLIOGRAFICO SU SUSE LINUX 9.2 CON APACHE, POSTGRESQL E DOCDB 1. INTRODUZIONE In questo tutorial si illustra come installare un sistema di gestione in rete di documenti, con relativa

Dettagli

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia

www.associazioni.milano.it - Il sito dedicato alle associazioni no-profit di Milano e provincia Pubblicare le pagine via FTP Per pubblicare le pagine web della vostra Associazione sullo spazio all'indirizzo: http://www.associazioni.milano.it/nome occorrono i parametri sotto elencati, comunicati via

Dettagli

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico

Web Server. Corso di Applicazioni Telematiche. A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Web Server Corso di Applicazioni Telematiche A.A. 2006-07 Lezione n.5 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Web Server Per realizzare un sistema web

Dettagli

Installazione Shibboleth Service Provider su Debian-Linux

Installazione Shibboleth Service Provider su Debian-Linux Installazione Shibboleth Service Provider su Debian-Linux 28 Gennaio 2015 Autori: Marco Malavolti Credits: Shibboleth, SWITCH AAI Indice generale 1) Introduzione...3 2) Software da installare...3 3) Richiedere

Dettagli

STAMPANTI SUPPORTATE

STAMPANTI SUPPORTATE STAMPARE CON LINUX Il presente testo non e' esaustivo, ossia non analizza tutte le possibili soluzioni di stampa utilizzando elaboratori che utilizzano linux. Anzi, le panoramiche illustrate sono scelte

Dettagli

Il server web: Apache, IIS e PWS

Il server web: Apache, IIS e PWS IL SERVER WEB Corso WebGIS - Master in Sistemi Informativi Territoriali AA 2005/2006 ISTI- CNR c.renso@isti.cnr.it Il server web: Apache, IIS e PWS...1 Directory di default...2 Alias e cartelle virtuali...3

Dettagli

Architetture Applicative Il Web

Architetture Applicative Il Web Architetture Applicative Il Web Alessandro Martinelli alessandro.martinelli@unipv.it 18 Marzo 2014 Architetture Architetture Web L Architettura Client-Server HTTP Protocolli di Comunicazione Fondamenti

Dettagli

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012

Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 Node.js Introduzione alla programmazione Dott. Ing. Ivan Ferrazzi V1.0 del 05/11/2012 1/15 Copyright 2012 Dott.Ing. Ivan Ferrazzi Permission is granted to copy, distribute and/or modify this document under

Dettagli

Internet Architettura del www

Internet Architettura del www Internet Architettura del www Internet è una rete di computer. Il World Wide Web è l insieme di servizi che si basa sull architettura di internet. In una rete, ogni nodo (detto host) è connesso a tutti

Dettagli

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

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento I protocolli del livello di applicazione Porte Nelle reti di calcolatori, le porte (traduzione impropria del termine port inglese, che in realtà significa porto) sono lo strumento utilizzato per permettere

Dettagli

Assignment (1) - Varie

Assignment (1) - Varie Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it!

Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Elementi di Sicurezza e Privatezza Laboratorio 6 - Vulnerabilità di applicazioni Web (1) Chiara Braghin chiara.braghin@unimi.it! Assignment (1) - Varie Al link http://www.dti.unimi.it/braghin/ elementi/lab/lista_consegnati.pdf

Dettagli

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine.

2.5. L'indirizzo IP identifica il computer di origine, il numero di porta invece identifica il processo di origine. ESERCIZIARIO Risposte ai quesiti: 2.1 Non sono necessarie modifiche. Il nuovo protocollo utilizzerà i servizi forniti da uno dei protocolli di livello trasporto. 2.2 Il server deve essere sempre in esecuzione

Dettagli

Domini Virtual Server

Domini Virtual Server Domini Virtual Server Pannello di controllo Manuale Utente Pannello di controllo domini e virtual server - Manuale utente ver. 2.0 Pag. 1 di 18 Sommario INFORMAZIONI GENERALI... 3 Virtual Server... 3 ACCESSO

Dettagli

Introduzione ai servizi di Linux

Introduzione ai servizi di Linux Introduzione ai servizi di Linux Premessa Adios è un interessante sistema operativo Linux basato sulla distribuzione Fedora Core 6 (ex Red Hat) distribuito come Live CD (con la possibilità di essere anche

Dettagli

url uniform resource locator

url uniform resource locator url uniform resource locator m. patrignani nota di copyright questo insieme di slides è protetto dalle leggi sul copyright il titolo ed il copyright relativi alle slides (inclusi, ma non limitatamente,

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

Il server Web libero per eccellenza: APACHE. Marco Paviotti & Matteo Cicuttin

Il server Web libero per eccellenza: APACHE. Marco Paviotti & Matteo Cicuttin Il server Web libero per eccellenza: APACHE Marco Paviotti & Matteo Cicuttin Cos è? Un web server è un programma che si occupa di fornire, su richiesta del browser una pagina web (spesso scritta in HTML).

Dettagli

OSOR. Applicazioni di Rete

OSOR. Applicazioni di Rete OSOR Applicazioni di Rete 1 Client-Server in Sistemi Distribuiti Host A Host B Client TCP/UDP IP Network Interface Internet Risultati Server TCP/UDP IP Network Interface Richiesta Applicazioni di Rete

Dettagli

Installare Joomla! su Linux (Ubuntu)

Installare Joomla! su Linux (Ubuntu) Installare Joomla! su Linux (Ubuntu) di Salvatore Schirone versione 0.3 Sommario In questo piccolo tutorial viene mostrato l instalazione in locale di joomla! in ambinente Linux. Si farà riferimento esplicito

Dettagli

Posta Elettronica e Web

Posta Elettronica e Web a.a. 2002/03 Posta Elettronica e Web Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Posta Elettronica

Dettagli

Area Clienti Tiscali Hosting e Domini

Area Clienti Tiscali Hosting e Domini Area Clienti Tiscali Hosting e Domini Manuale Utente Area Clienti Tiscali Hosting e Domini - Manuale utente Pag. 1 di 20 Sommario INFORMAZIONI GENERALI... 3 ACCESSO ALL AREA CLIENTI TISCALI HOSTING E DOMINI...

Dettagli

Come installare Apache 2.2, PHP 5.2 e MySQL 5 su Windows 2000/XP (di Andrea Turso)

Come installare Apache 2.2, PHP 5.2 e MySQL 5 su Windows 2000/XP (di Andrea Turso) Come installare Apache 2.2, PHP 5.2 e MySQL 5 su Windows 2000/XP (di Andrea Turso) Introduzione Il nostro scopo principale è quello di ottenere una piattaforma di sviluppo per poter realizzare e testare

Dettagli

Servizi web in LabVIEW

Servizi web in LabVIEW Servizi web in LabVIEW Soluzioni possibili, come si utilizzano. 1 Soluzioni possibili WEB SERVER Dalla versione 5.1 di LabVIEW è possibile implementare un Web server che consente di operare da remoto sul

Dettagli

Configurazione avanzata di XAMPP

Configurazione avanzata di XAMPP Configurazione avanzata di XAMPP Andrea Atzeni (shocked@polito.it) Marco Vallini (marco.vallini@polito.it) Politecnico di Torino Dip. Automatica e Informatica Apache Binding definisce su quali indirizzi

Dettagli

Funzionamento del protocollo FTP

Funzionamento del protocollo FTP Alunno:Zamponi Claudio Numero matricola:4214118 Corso: Ingegneria Informatica Funzionamento del protocollo FTP L'FTP, acronimo di File Transfert Protocol (protocollo di trasferimento file), è uno dei protocolli

Dettagli

Il protocollo HTTP e HTTPS

Il protocollo HTTP e HTTPS Il protocollo HTTP e HTTPS Guida Apache di Openskills Introduzione al protocollo HTTP Il protocollo HTTP (Hyper Text Transfer Protocol) viene usato da tutti i client e server web e gestisce il modo con

Dettagli

Manuale per il cliente finale

Manuale per il cliente finale Manuale per il cliente finale versione 1.6-r1 Indice 1 Cos è Confixx? - Generalità 4 1.1 Login................................ 4 1.2 Ritardi temporali delle impostazioni.............. 5 2 Settori della

Dettagli

Il protocollo HTTP ed il server Apache

Il protocollo HTTP ed il server Apache Dal sito web della Software Foundation: Il progetto del server HTTP è uno sforzo di sviluppare e mantenere un server HTTP Open Source per i moderni sistemi operativi, compreso UNIX e Windows NT. L'obiettivo

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

Dunque, per fare quello che ci siamo preposti abbiamo bisogno di tre cose:

Dunque, per fare quello che ci siamo preposti abbiamo bisogno di tre cose: ============================================================ == [Niubbi inside] Un Apache per amico (e per server Web) == ============================================================ Proviamo ad inaugurare

Dettagli

CORSO WEB SERVER, DBMS E SERVER FTP

CORSO WEB SERVER, DBMS E SERVER FTP CORSO WEB SERVER, DBMS E SERVER FTP DISPENSA LEZIONE 1 Autore D. Mondello Transazione di dati in una richiesta di sito web Quando viene effettuata la richiesta di un sito Internet su un browser, tramite

Dettagli

Modulo 6 Proviamo Wordpress gratuitamente

Modulo 6 Proviamo Wordpress gratuitamente Copyright Andrea Giavara wppratico.com Modulo 6 Proviamo Wordpress gratuitamente 1. Wordpress.com una piattaforma gratuita per il blogging 2. Installare Wordpress in locale 3. Creare un sito gratis con

Dettagli

Contenuti. Applicazioni di rete e protocolli applicativi

Contenuti. Applicazioni di rete e protocolli applicativi Contenuti Architettura di Internet Principi di interconnessione e trasmissione World Wide Web Posta elettronica Motori di ricerca Tecnologie delle reti di calcolatori Servizi Internet (come funzionano

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

1 "log-file": "/var/log/pilight.log" 2 "log-file": "c:/pilight/pilight.log"

1 log-file: /var/log/pilight.log 2 log-file: c:/pilight/pilight.log Impostazioni Impostazioni...1 Introduzione...2 Core...2 port...2 standalone...2 pid-file...2 log-file...2 log-level...2 whitelist...3 stats-enable...3 watchdog-enable...3 Percorsi dei moduli...4 action-root...4

Dettagli

maildocpro Manuale Installazione

maildocpro Manuale Installazione maildocpro Manuale Installazione versione 3.4 maildocpro Manuale Installazione - Versione 3.4 1 Indice Indice... 2 Creazione database... 3 Database: MAILDOCPRO... 3 Database: SILOGONWEB... 5 Configurazione

Dettagli

Guida all'amministrazione. BlackBerry Professional Software per Microsoft Exchange. Versione: 4.1 Service Pack: 4

Guida all'amministrazione. BlackBerry Professional Software per Microsoft Exchange. Versione: 4.1 Service Pack: 4 BlackBerry Professional Software per Microsoft Exchange Versione: 4.1 Service Pack: 4 SWD-313211-0911044452-004 Indice 1 Gestione degli account utente... 7 Aggiunta di un account utente... 7 Aggiunta manuale

Dettagli

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web

Attacchi Web - Introduzione alla sicurezza nelle applicazioni Web Attacchi Web Introduzione alla sicurezza nelle applicazioni Web Davide Marrone davide@security.dico.unimi.it Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento

Dettagli

Livello Applicazione. Davide Quaglia. Motivazione

Livello Applicazione. Davide Quaglia. Motivazione Livello Applicazione Davide Quaglia 1 Motivazione Nell'architettura ibrida TCP/IP sopra il livello trasporto esiste un unico livello che si occupa di: Gestire il concetto di sessione di lavoro Autenticazione

Dettagli

Completamento installazione

Completamento installazione I.S. Sobrero Dipartimento di Informatica Completamento installazione install.linux@home 1 I gestori dei pacchetti Vi sono due alternative con Ubuntu: Synaptic, in modalità grafica; Advanced Packaging Tool

Dettagli

Il Livello delle Applicazioni

Il Livello delle Applicazioni Il Livello delle Applicazioni Il livello Applicazione Nello stack protocollare TCP/IP il livello Applicazione corrisponde agli ultimi tre livelli dello stack OSI. Il livello Applicazione supporta le applicazioni

Dettagli

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28

Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Brusò Marco I.T.I.S. Zuccante A.S. 2013/2014 5 ISA 1/28 Indice 1. Introduzione 2. Linux 3. Apache 4. MySQL 5. MariaDB 6. PHP 7. Perl 8. Phyton 9. Installazione Server LAMP su Ubuntu 10. Fonti 2/28 LAMP

Dettagli

Magento - guida all'installazione

Magento - guida all'installazione Magento - guida all'installazione a cura di Luca Soave 1- Premesse In questa guida impareremo come ottenere un sito web su base Magento allocato in un Ubuntu Server su macchina vistuale, basandoci sulle

Dettagli

ISPConfig: configurazione di un sito

ISPConfig: configurazione di un sito ISPConfig: configurazione di un sito Scopo del documento... 1 ISPConfig... 1 Accesso a ISPConfig... 1 Gestione di un dominio... 2 Creazione di un utente FTP... 3 Installazione di un applicativo web: creazione

Dettagli

CONCETTI DI NAVIGAZIONE IN RETE

CONCETTI DI NAVIGAZIONE IN RETE CONCETTI DI NAVIGAZIONE IN RETE Internet (La rete delle reti) è l insieme dei canali (linee in rame, fibre ottiche, canali radio, reti satellitari, ecc.) attraverso cui passano le informazioni quando vengono

Dettagli

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Pag. 1/1 Sessione ordinaria 2010 Seconda prova scritta Ministero dell Istruzione dell Università e della Ricerca M070 ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE CORSO DI ORDINAMENTO Indirizzo: INFORMATICA

Dettagli

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla! Guida di Virtuemart INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla! INDICE INDICE... 1 INTRODUZIONE... 2 DONWLOAD... 2 INSTALLAZIONE... 2 REQUISITI MINIMI... 3 PASSAGGIO 1... 4 PASSAGGIO 2...

Dettagli

Telematica II 7. Introduzione ai protocolli applicativi

Telematica II 7. Introduzione ai protocolli applicativi Indice Standard ISO/OSI e TCP/IP Telematica II 7. Introduzione ai protocolli applicativi Modello Client / Server I Socket Il World Wide Web Protocollo HTTP Corso di Laurea in Ingegneria Informatica A.A.

Dettagli

Applicazione client-server in PHP con database MySQL

Applicazione client-server in PHP con database MySQL Applicazione client-server in PHP con database MySQL Emanuele Scapin 1 1 Liceo Statale F.Corradini, via Milano 1, 36016 Thiene 30/05/2012 1 Premessa Dopo la trattazione di argomenti teorici di progettazione

Dettagli

Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML

Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML Web e Server-side Computing: Richiami sulla tecnologia Web e FORM HTML Gianluca Moro gianluca.moro@unibo.it Dipartimento di Elettronica, Informatica e Sistemistica G. Moro - Università di Bologna World

Dettagli

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

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

Dettagli