Andare su internet per tutti noi ormai è un gesto naturale: apriamo il browser, lo indirizziamo sui contenuti che ci interessano e dopo pochi secondi tutto ci compare a video: semplice! Se ci poniamo come semplici utilizzatori finali, tutto sembra facile e immediato, ma vediamo di analizzare cosa succede quando, attraverso il nostro browser, interroghiamo un sito. Prima di tutto dobbiamo chiederci: chi risponde alla nostra richiesta? la risposta è il web server.
Cos’è un web server?
Un web server è un applicativo software che gira su di un server fisico in ascolto su porte a lui dedicate, per comunicare con i client che richiedono i suoi contenuti ed i suoi servizi.
Il protocollo HTTP
Un web server deve poter dialogare con una gran varietà di client (PC, smartphone, smart TV, tablet, ecc.) e per farlo quindi deve utilizzare dei protocolli riconosciuti da tutti. Quello principale per la navigazione web è l’HTTP (Hyper Text Transfer Protocol).
Ogni volta che scriviamo un indirizzo internet, il nostro browser la traduce in una richiesta http e la consegna al server indicato. Riceve poi da questo una risposta http e un file HTML che viene tradotto (si parla di rendering) sotto forma di testo e immagini per mostrarcelo così a video. Segue un semplice schema del processo descritto:
Pagine statiche e pagine dinamiche
Le pagine web interrogate possono essere sia statiche che dinamiche. La pagine statiche sono scritte solamente con codice HTML e al loro interno contengono già tutti i dati che verranno poi mostrati all’utente finale. Le pagine dinamiche, invece, oltre ad HTML usano altri linguaggi (PHP, ASP, ecc..) atraverso i quali sono definite delle istruzioni attraverso le quali viene generato il contenuto della pagina richiesta. In questo caso è il web server a processare queste istruzioni (presenti sotto forma di script), mostrando all’utente finale i contenuti generati dinamicamente con l’aspetto predefinito dal programmatore. Avere l’intero carico di lavoro lato server è molto comodo per l’utente finale, che non deve avere installato alcun software aggiuntivo oltre al browser e viene sollevato da ogni tipo di elaborazione con conseguente risparmio di tempo e banda.
Predisporre un ambiente LAMP
In questa guida vedremo come installare e configurare un web server sulla nostra macchina server Ubuntu. Proseguendo nella nostra filosofia open source, la scelta del software da installare non poteva che ricadere su Apache, il web server più utilizzato in internet assieme a IIS (Internet Information Services) sviluppato da Microsoft. Vedremo come installarlo e gestirne le tante configurazioni. Andremo poi a completarlo con le installazione di PHP e del database relazionale MySQL, in quella che viene considerata la configurazione standard di un web server su Linux (configurazione conosciuta con l’acronimo LAMP che sta, appunto, per Linux, Apache, MySQL e PHP).