Come funziona Internet? Una semplice domanda la cui risposta svela spesso dinamiche complesse. Il comune fruitore della Rete non ha bisogno di conoscere le meccaniche che regolano il funzionamento del Web, un browser per la navigazione con il quale accedere alle risorse desiderate gli è più che sufficiente.
Lo stesso discorso non può essere applicato a coloro che vogliono fare...
Il Web server Apache è un software Open Source, questo vuol dire che il suo codice è pubblicamente disponibile ed aperto al contributo di chiunque desideri modificarlo agevolando così il suo continuo sviluppo; in questo modo Apache ha potuto usufruire dell'opera volontaria di migliaia di programmatori sparsi in tutto il mondo.
Inoltre, Apache è un programma scaricabile gratuitamente e liberamente...
Notoriamente Linux rappresenta l'ambiente di sviluppo e di produzione privilegiato per Apache. La sterminata comunità di sviluppatori che ruota intorno a questo Web server ha comunque prodotto una buona integrazione anche per Windows; quindi coloro che non hanno pratica del Pinguino potranno in ogni caso testare le funzionalità di Apache nel loro PC dotato di OS Microsoft.
Il sito ufficiale...
Nelle lezioni precedenti abbiamo visto come installare Apache ed in quell'ambito abbiamo accennato per la prima volta ai moduli sottolineando come l'installazione di default comprende già, oltre al web server, alcuni moduli oramai considerati standard come, ad esempio mod_php che consente al web server di interpretare i programmi scritti in PHP.
Cosa sono i moduli di Apache e a cosa...
Descrivere le semplici operazioni relative all'avvio, al riavvio e all'arresto di Apache, rappresenta un'utile occasione per approfondire il discorso riguardante il funzionamento di questo Web server.
Innanzitutto, come funziona Apache? In pratica, al suo avvio esso genera un processo principale, noto come httpd, a cui si accompagnano tutta una serie di processi subordinati ognuno destinato ad una particolare funzione e...
I comportamenti e le funzionalità di Apache vengono stabilite da un file di configurazione chiamato httpd.conf modificabile attraverso un semplice editor di testo come Vim o Gedit per Linux e NotePad per Windows.
Se non ricordate la directory in cui avete installato Apache in Linux, generalmente:
/usr/local/apache/conf/
potrete facilmente accedere al percorso del file di configurazione digitando da Shell la riga di...
In questa lezione vedremo come configurare Apache in base alle nostre esigenze attraverso l'editing del file httpd.conf che racchiude, appunto, la configurazione del web server.
La prima sezione del file httpd.conf, ("Section 1"), è dedicata all'ambiente in cui opera Apache ("Global Environment"). All'interno di essa troviamo alcune istruzioni fondamentali come il ServerType, attraverso cui viene indicata la modalità di funzionamento...
Alla base del funzionamento di Apache abbiamo le direttive, note anche come container. I container raggruppano risorse e informazioni con direttive di configurazione comuni; in pratica, i file e le cartelle di uno stesso gruppo rispondono alle medesime regole. Per isolare un gruppo dagli altri e rendere valide soltanto per esso determinate direttive basterà utilizzare una sintassi simile a...
Come abbiamo avuto modo di osservare, Apache risponde a decine di direttive che stabiliscono i diversi comportamenti del Web server. Dato che sarebbe abbastanza scomodo dove indicare una particolare direttiva e modificare il file di configurazione ogni volta che si presentano determinate fattispecie, caso che per esempio si verifica per l'introduzione di un nuovo "modulo", httpd.conf possiede alcune...
Le direttive del Web server Apache possono tornarci utili per stabilire metodi di autorizzazione per l'accesso alla DocumentRoot utilizzando la classica procedura basata su un nome utente (user name) e su una parola chiave (password).
Sarà possibile cifrare i dati di accesso inserendoli in un apposito file chiamato htpasswd con l'unica condizione che il nome utente e la...
Apache ha la possibilità di filtrare le richieste provenienti dai client e di soddisfare soltanto quelle trasmesse da utenti eventualmente autorizzati alla fruizione delle risorse contenute nel server Web.
L'opera di filtraggio viene eseguita attraverso differenti procedure basate su particolari fasi di controllo; in generale vi sono due modi attraverso i quali il Web server autorizza o meno la soddisfazione...
Vi siete mai chiesti da cosa deriva il fatto che le HomePages della maggior parte dei siti internet siano rappresentate da file chiamati "index.html", "index.php", ecc.?
Dietro a questa convenzione non ci sono motivazioni particolari se non la comodità dell'utente di non dover digitare per intero una URL completa del filename ma di ricorrere ad una scorciatoia.
Dovendo accedere alla pagina:
http://www.claudiogarau.it/index.php
non...
Con il nome "domini virtuali", o Virtual Hosts, si identificano tutti gli Hosts che vengono configurati in un server Web in aggiunta all'Host originario. In pratica, con i "domini virtuali" avremo la possibilità di far operare separatamente più server in una stessa macchina, ognuno con un proprio dominio ("www.primo_server.ext", "www.secondo_server.ext"..).
Esistono due tipologie di Virtual Hosts: quelli che fanno capo...
L'errore più noto che può essere notificato da Apache è il 404, di cui abbiamo parlato in precedenza, il famoso "File not found". Alla base di questa notifica vi è una dinamica abbastanza semplice e conosciuta:
Il client vorrebbe accedere ad una risorsa è digita un'URL o clicca su un link per comunicare la richiesta.
Il Web server non trova la...
Apache è in grado di registrare gli eventi gestiti dal web server, comprese le richieste provenienti da altri terminali, le risposte inviate e gli eventuali errori. La registrazione di questi eventi avviene all'interno dei cosiddetti file di log o, più semplicemnte, log.
Cos'è un log?
La parola log nasce da logbook, termine con il quale nel XIX secolo si indicava il...
Riassumendo e semplificando al massimo ciò di cui abbiamo parlato nel capitolo iniziale di questa guida, possiamo dire che lo schema client >> server su cui si basa la Rete si configura come un continuo avvicendarsi di richieste e di risposte gestite dai Web server come Apache. Il client richiede un'informazione e il Web server, continuamente in "ascolto", si...
Con l'espressione Server Side Include (o SSI) si fa riferimento alle inclusioni lato server, gestite cioè da Apache prima dell'invio del file al client che ne ha fatto rischiesta. Si tratta di specifici comandi che possono essere inseriti all'interno di pagine web ed eseguiti sul server prima che queste vengano inviate ai client che le hanno richieste. Le tipiche...
Abbiamo a cuore la tua privacy
Noi e i nostri partner archiviamo e/o accediamo a informazioni su un dispositivo. Cookie, identificatori del dispositivo o analoghi identificatori online (ad es. identificatori basati sull’accesso, identificatori assegnati casualmente, identificatori basati sulla rete) insieme ad altre informazioni (ad es. tipo di browser e informazioni sul browser, lingua, dimensioni dello schermo, tecnologie supportate, ecc.) possono essere archiviati sul o letti dal dispositivo dell’utente per riconoscerlo ogni volta che l’utente si connette a un’app o a un sito web, per una o più finalità qui presentate.
Con il tuo consenso, i tuoi dati possono essere utilizzati per quanto segue: Pubblicità e contenuti personalizzati, misurazione delle prestazioni dei contenuti e degli annunci, ricerche sul pubblico, sviluppo di servizi; Dati di geolocalizzazione precisi e identificazione attraverso la scansione del dispositivo.
I tuoi dati personali verranno trattati e le informazioni dal tuo dispositivo (cookie, identificatori univoci e altri dati del dispositivo) possono essere memorizzate, consultate e condivise con 179 partner, o utilizzate specificamente da questo sito o questa app. Alcuni fornitori potrebbero trattare i tuoi dati personali sulla base dell'interesse legittimo, al quale puoi opporti gestendo le tue opzioni qui sotto. Puoi revocare il tuo consenso in qualsiasi momento facendo clic sul link delle impostazioni sulla privacy situato in fondo alla pagina.
Alcuni partner non chiedono il tuo consenso al trattamento dei tuoi dati, ma fanno affidamento sul loro legittimo interesse commerciale. Guarda il nostro elenco di partner per conoscere gli scopi per cui credono di avere un interesse legittimo e come puoi opporti.
Questi sono i nostri partner pubblicitari che partecipano al Framework di trasparenza e consenso dello IAB, creato per garantire un uso trasparente e corretto dei dati.
Questi fornitori sono registrati su Google, ma non nel Transparency & Consent Framework di IAB Europe.
{"b_dec":{"def":"Rifiuta e chiudi","res":"Rifiuta e chiudi"},"priclt":" \u003Cdiv class=\u0022cl-consent-settings cl-consent-settings--is-hidden\u0022\u003E \u003Cstyle\u003E .cl-consent-settings { position: fixed; left: 16px; bottom: 28px; z-index: 100; transition: all 0.15s ease-in-out; transform: translateY(0); } .cl-consent-settings--is-hidden { transform: translateY(70px); opacity: 0; } .cl-consent-settings__hint { border-radius: 4px; background: #282A3C; box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.15); color: #FFFCF2; position: absolute; right: -195px; top: 0; bottom: 0; margin: auto; height: 40px; width: 175px; display: flex; align-items: center; justify-content: center; padding: 4px 12px; font-size: 12px; font-weight: 400; line-height: 16px; cursor: default; user-select: none; transition: transform 0.3s ease, opacity 0.3s ease; transform: translateX(0); opacity: 0; pointer-events: none; z-index: -1; } .cl-consent-settings__hint::after { content: \u0022\u0022; position: absolute; left: -16px; top: 0; bottom: 0; margin: auto; width: 0; height: 0; border: 0 solid transparent; border-top-width: 12px; border-bottom-width: 12px; border-right: 16px solid #282A3C; } .cl-consent-settings__btn { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; border: none; background-color: #4B81E8; background-image: url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 width=\u002730\u0027 height=\u002730\u0027 viewBox=\u00270 0 30 30\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 d=\u0027M15 2.813C8.28 2.813 2.812 8.28 2.812 15S8.28 27.188 15 27.188c6.72 0 12.188-5.468 12.188-12.188C27.188 8.28 21.72 2.812 15 2.812Zm0 1.874c5.686 0 10.313 4.627 10.313 10.313 0 5.686-4.627 10.313-10.313 10.313-5.686 0-10.313-4.627-10.313-10.313C4.688 9.314 9.314 4.687 15 4.687Zm-1.875 3.75a.937.937 0 1 0 0 1.875.937.937 0 0 0 0-1.874Zm5.156.938a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.812Zm-7.968 2.813a1.875 1.875 0 1 0 0 3.749 1.875 1.875 0 0 0 0-3.75Zm5.624 1.874a.938.938 0 1 0 0 1.876.938.938 0 0 0 0-1.876Zm4.688.938a.938.938 0 1 0 0 1.875.938.938 0 0 0 0-1.875Zm-8.906 2.813a1.406 1.406 0 1 0 0 2.812 1.406 1.406 0 0 0 0-2.813Zm6.562.937a1.406 1.406 0 1 0 0 2.813 1.406 1.406 0 0 0 0-2.813Z\u0027\/%3E%3C\/svg%3E\u0022); background-position: center center; background-size: 30px 30px; background-repeat: no-repeat; box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.35); z-index: 70; position: relative; text-decoration: none; } .cl-consent-settings__btn:hover + .cl-consent-settings__hint { transform: translateX(22px); pointer-events: all; opacity: 1; } .cl-consent-settings__user { width: 18px; height: 18px; border-radius: 50%; padding: 0; border: 1px solid #ffffff; background-color: #00AD98; background-image: url(\u0022data:image\/svg+xml,%3Csvg xmlns=\u0027http:\/\/www.w3.org\/2000\/svg\u0027 viewBox=\u00270 0 10 11\u0027 width=\u002710\u0027 height=\u002711\u0027 fill=\u0027none\u0027%3E%3Cpath fill=\u0027%23fff\u0027 stroke=\u0027%23fff\u0027 stroke-width=\u0027.1\u0027 d=\u0027M6.858 6.262A3.3 3.3 0 0 0 8.2 3.597C8.2 1.796 6.764.325 5 .325s-3.2 1.47-3.2 3.272c0 1.094.53 2.07 1.342 2.665A4.67 4.67 0 0 0 .45 10.5v.05h1v-.05c0-2.012 1.585-3.632 3.55-3.632s3.55 1.62 3.55 3.632v.05h1v-.05a4.67 4.67 0 0 0-2.692-4.238ZM5 1.345c1.22 0 2.2 1.002 2.2 2.252s-.98 2.25-2.2 2.25-2.2-1-2.2-2.25.98-2.252 2.2-2.252Z\u0027\/%3E%3C\/svg%3E\u0022); background-position: center center; background-size: 9px 10px; background-repeat: no-repeat; z-index: 75; position: absolute; top: -2px; right: -8px; text-decoration: none; visibility: hidden; } \u003C\/style\u003E \u003Cbutton type=\u0022button\u0022 class=\u0022cl-consent-settings__btn\u0022 onclick=\u0022if(window.__lxG__consent__ !== undefined) {window.__lxG__consent__.showConsent()} else {alert(\u0027This function only for users from European Economic Area (EEA)\u0027)}; return false\u0022\u003E \u003Cspan class=\u0022cl-consent-settings__user\u0022\u003E\u003C\/span\u003E \u003C\/button\u003E \u003Cdiv class=\u0022cl-consent-settings__hint\u0022\u003EPrivacy and cookie settings\u003C\/div\u003E \u003C\/div\u003E","pricds":"show_in_the_footer","vcnt":179,"_t":{"titles":"Purposes|Purposes (Legitimate Interest)|Features|Special Features|Special Purposes|Scopi|Scopi (Interesse Legittimo)|Caratteristiche|Caratteristiche Speciali|Scopi Speciali","sp3_ret":"Le scelte che fai riguardo agli scopi e alle entità elencati in questo avviso sono salvate per un massimo di %sp3_retention% nei seguenti cookie e variabili di archiviazione locale","ill_pp_ttl":"Esempi di Utilizzo","vndr_dtls_con":"Trattamento dei dati basato sul tuo consenso","vndr_dtls_li":"Trattamento dei dati basato sul legittimo interesse","vndr_dtls_fi":"Trattamento dei dati basato sul tuo consenso o interesse legittimo","cks_strg_dur":"dura %DURATION%","cks_strg_ses":"per la sessione attuale","cks_strg_not_used":"non utilizzato","cks_strg_dur_s":"sec","cks_strg_dur_i":"min","cks_strg_dur_h":"ora(e)","cks_strg_dur_d":"giorno(i)","cks_strg_dur_m":"mese(i)","cks_strg_dur_y":"anno(i)","vr_dts_purl":"URL della politica sulla privacy","vr_dts_dsurl":"URL di divulgazione dell\u0027archiviazione del dispositivo","vr_dts_dsurl_h":"Informazioni aggiuntive su archiviazione e operazioni","vr_dts_clmurl":"URL della richiesta di interessi legittimi","vr_dts_datac":"Categorie di dati","vr_dts_datac_h":"Categorie di dati raccolti in relazione agli scopi","vr_dts_stdret":"Conservazione dei dati standard (giorni)","vr_dts_stdret_h":"Il periodo standard è utilizzato a meno che non sia dichiarato un altro periodo per scopi specifici.","vr_dts_ret":"Conservazione dei dati (giorni)","vr_dts_usecks":"Usa i cookie","vr_dts_usecks_h":"Indica se il fornitore utilizza l\u0027archiviazione dei cookie (sessione o altro). SÌ indica che l\u0027archiviazione dei cookie è utilizzata. NO - l\u0027archiviazione dei cookie non è utilizzata.","vr_dts_usecksy":"Sì","vr_dts_usecksn":"No","vr_dts_cksage":"Età massima del cookie","vr_dts_cksage_h":"Il numero di secondi che rappresenta la durata potenziale più lunga per l\u0027archiviazione dei cookie su un dispositivo. Se un fornitore utilizza più cookie con durate diverse, rappresenta il cookie con la durata più lunga. Un numero negativo o 0 indica l\u0027archiviazione della sessione simile alla specifica Set-Cookie.","vr_dts_cksref":"Aggiornamento cookie","vr_dts_cksref_h":"Indica se i cookie vengono aggiornati dopo essere stati inizialmente impostati. SÌ - indica che il fornitore può aggiornare i cookie. NO - indica che il fornitore non aggiorna i cookie ogni volta che il browser viene ricaricato.","vr_dts_noncks":"Utilizza l\u0027accesso senza cookie","vr_dts_noncks_h":"Indica l\u0027uso da parte del fornitore di archiviazione non-cookie e accesso alle informazioni già memorizzate sul dispositivo di un utente. SÌ - indica che l\u0027accesso senza cookie è utilizzato. NO - indica che l\u0027archiviazione e l\u0027accesso senza cookie alle informazioni già memorizzate sul dispositivo di un utente non vengono utilizzati.","vr_dts_hgetl":"Limite della lunghezza della richiesta HTTP GET (Kbyte)","vr_dts_hgetl_h":"Dimensione massima della richiesta GET in kilobyte per aiutare a diagnosticare i problemi con il passaggio della stringa TC e limitare le stringhe di dimensioni eccessive.","vr_dts_addtnl":"Dati aggiuntivi","vr_dts_legaddr":"Indirizzo completo dell\u0027entità legale","vr_dts_b2bcont":"Dettagli di contatto B2B","vr_dts_terscp":"Ambito territoriale","vr_dts_terscp_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_env":"Ambiente","vr_dts_env_h":"Indica gli ambienti in cui il venditore opera","vr_dts_tserv":"Tipo di servizi","vr_dts_tserv_h":"Indica il tipo di servizi offerti dal venditore","vr_dts_trnsfout":"Trasferimenti internazionali fuori dall\u0027UE\/SEE","vr_dts_trnsfout_h":"Indica le giurisdizioni UE\/SEE\/UK in cui il fornitore opera con TCF. Nota che questo è diverso dalla sede del fornitore.","vr_dts_trnsfmch":"Meccanismi di trasferimento internazionale"}}