Spiegato in modo semplice: cos’è un server web?

Affinché un sito web sia accessibile su Internet, è necessario un server speciale per il suo contenuto. Affinché questo sia costantemente accessibile, il server in questione deve essere costantemente online. Sebbene la maggior parte dei …

Spiegato in modo semplice: cos’è un server web?

  1. Rivista
  2. »
  3. Articolo
  4. »
  5. Software
  6. »
  7. Spiegato in modo semplice: cos’è un server web?

Affinché un sito web sia accessibile su Internet, è necessario un server speciale per il suo contenuto. Affinché questo sia costantemente accessibile, il server in questione deve essere costantemente online. Sebbene la maggior parte dei gestori di siti web utilizzi a questo scopo i centri dati dei provider Internet, le grandi aziende e le organizzazioni dispongono spesso di server Web propri su cui ospitano i propri contenuti intranet e Internet. In questo articolo scoprirete come funziona un server web, quali sono le diverse soluzioni disponibili e quali sono gli aspetti da tenere in considerazione per quanto riguarda la sicurezza.

Quali sono i compiti di un server web?

Un server web è il principale responsabile della distribuzione affidabile di contenuti statici e dinamici ai client che ne fanno richiesta.

Un server web può essere implementato su qualsiasi piattaforma?

Sì, ma il software del server utilizzato deve sempre essere compatibile con il sistema operativo dell’host.

Posso costruire un server web da solo?

È possibile, ad esempio, convertire il single-board computer Raspberry Pi in un server web sulla base di nginx. Spieghiamo come funziona nell’ultima sezione di questo articolo.

1. Che cos’è un server web?

Server in Betrieb
Un server web è un servizio web che fornisce i componenti di un sito web. Tuttavia, il termine è spesso usato anche come sinonimo dell’host vero e proprio.

Per definizione, il termine “server web” si riferisce a due cose molto diverse: da un lato, si riferisce a un servizio web che fornisce i componenti e le informazioni di un sito web e li trasferisce a un client tramite un browser web (ad esempio, Firefox o Chrome) . In questo caso, il server web è un software che viene utilizzato su un computer adeguatamente attrezzato o su un prodotto di hosting.

Tuttavia, il termine viene spesso utilizzato come sinonimo dell’hardware vero e proprio (il cosiddetto “host”). Questo non è corretto in quanto, a seconda del software installato, può essere utilizzato anche come file server, server FTP o per scopi completamente diversi.

Un server Web può essere utilizzato sia a livello locale che nelle reti aziendali, il che significa che il contenuto in questione è disponibile sia a livello decentralizzato che a livello mondiale, a seconda dello scopo scelto. Su Internet, invece, viene utilizzato principalmente come servizio WWW. Ogni server Web è anche in grado di distribuire i contenuti contemporaneamente a diversi computer.

Come funziona un server Web?

Il server web funge da “mediatore” tra i contenuti di un sito web e il client che lo richiama. Se si inserisce un indirizzo Internet (ad esempio www.wintotal.de) nel browser, questo invia una richiesta al server dei nomi, che a sua volta determina l’indirizzo IP corrispondente dal nome di dominio .

Il client HTTP del browser stabilisce quindi una connessione al server Web tramite TCP (o occasionalmente tramite UDP) e gli invia una richiesta di pagina Web. Poiché le pagine web complete sono costituite da vari componenti HTML, grafici, foto e video, è necessario effettuare una richiesta separata per ciascun file, alla quale il server web risponde trasmettendo il contenuto corrispondente. A questo scopo, il server HTTP invia i file richiesti al client HTTP, che li visualizza sullo schermo con l’aiuto di un interprete. Una volta che il client ha ricevuto la pagina web completa, la connessione TCP viene chiusa di nuovo.

Buono a sapersi: I server web sono in grado di fornire il contenuto di un sito web a molti computer o browser diversi in parallelo. Il numero di richieste degli utenti che possono essere elaborate in un determinato periodo di tempo dipende, tra l’altro, dall’hardware utilizzato e dal carico dell’host.

La pagina HTML restituita può essere memorizzata staticamente sul server web o generata dinamicamente su richiesta. Ciò significa che il server web deve eseguire il codice del programma corrispondente (ad esempio, Java, Python o PHP) prima di rispondere. Le pagine web dinamiche richiedono generalmente più risorse rispetto ai contenuti statici.

3 Confronto tra diverse soluzioni

Gli esperti che dispongono di un adeguato know-how tecnico di solito configurano autonomamente i propri server e lavorano con diverse tecnologie. Il prerequisito è, ovviamente, che il software del server utilizzato sia compatibile con il sistema operativo dell’host. Se non volete occuparvi della configurazione nei dettagli, potete in alternativa noleggiare un server web preconfigurato da un provider su Internet.

Server mit Java, Python oder PHP bei 1und1 IONOS mieten
In alternativa, è possibile noleggiare server web preconfigurati da provider come Strato o 1und1 IONOS.

La maggior parte dei programmi di server web sono basati su Unix o Linux, ma possono essere utilizzati anche sotto Windows. L’unica eccezione è Microsoft IIS, che funziona esclusivamente su server Windows. I più noti fornitori di software per server web sono:

  • Apache HTTP server (open source, può essere utilizzato su tutte le piattaforme).
  • Apache Tomcat (open source, può essere integrato in altri server web, ad esempio Apache HTTP server o IIS).
  • Microsoft IIS (può essere utilizzato solo su server Windows)
  • nginx (gratuito, può essere utilizzato anche come reverse proxy)
  • LiteSpeed Web Server (per Linux e Unix, disponibile in versione open source o enterprise)

L’amministrazione del server web viene solitamente effettuata tramite accesso remoto da un altro computer. Questo computer non deve necessariamente essere dotato dello stesso sistema operativo del server. Il modo più comodo è quello di utilizzare un software di manutenzione remota, uno dei più noti dei quali è Plesk di Obsidian. Con questo software è possibile gestire un server web sia da un computer Windows che da un computer Linux o Unix.

4. I server web e il problema della sicurezza

Se gestite un server, dovete pensare anche alla sicurezza, perché su Internet corre gli stessi pericoli di un “normale” PC. Oltre alla scelta di un sistema operativo sicuro, ci sono altre misure di base da adottare in ogni caso:

  • Mantenere il server Web aggiornato e installare sempre gli ultimi aggiornamenti. I server obsoleti offrono superfici di attacco per hacker e criminali informatici, che nel peggiore dei casi possono ottenere il controllo dell’intero sistema. Con gli hosting condivisi e gestiti, questo compito è di solito assunto dal provider interessato.
  • Installate la versione minima del sistema operativo e solo il software realmente necessario. Interrompere i servizi non necessari e chiudere tutte le porte inutilizzate, se possibile.
  • Assegnare solo diritti minimi agli utenti e alle applicazioni.
  • Scegliere password il più possibile sicure e attivare il firewall.
  • Installate un certificato SSL. Si tratta di un record digitale che lega una chiave crittografica ai dati di un’organizzazione e conferma l’autenticità di persone e oggetti (ad esempio, al momento del login).
  • Controllare a intervalli regolari se sono state apportate modifiche ai programmi o ai servizi.
  • Salvare e controllare costantemente i file di log e di registrazione.
  • Creare backup regolari per poter ripristinare il sistema senza lacune in caso di guasto.

5 Il Raspberry Pi come server web

5.1. Configurare nginx

Se si dispone di un Raspberry Pi, si può anche costruire un server web da soli. Esistono diverse soluzioni o programmi di server web, ma per motivi di stabilità sceglieremo nginx per questo esempio. Per l’installazione procedete come segue:

  1. Per prima cosa, aggiornare il Raspberry Pi all’ultima versione. Per farlo, eseguire i seguenti comandi:
sudo apt-get update

sudo apt-get upgrade
  1. Quindi installare il pacchetto del server web tramite
sudo apt-get install nginx
  1. Avviare il server con il comando
sudo /etc/init.d/nginx start
  1. È ora possibile richiamare la pagina di prova generata da nginx. Per farlo, aprite il browser del vostro Raspberry Pi e digitate
http://localhost/

e digitate

Suggerimento: per accedere alla pagina di prova da un altro computer della rete, inserire nel browser l’indirizzo http://IP-Adresse-des-Raspberry/. È possibile conoscere l’indirizzo IP del Raspi tramite la console utilizzando il comando “hostname -l”.

5.2 Installare PHP

Affinché il server web sia in grado di fornire pagine web dinamiche, è necessario installare PHP nella fase successiva:

  1. Installare il pacchetto PHP con il comando
sudo apt-get install php5-fpm
  1. Ora attivare PHP in nginx. Per farlo, spostarsi nella cartella di nginx e aprire la pagina di configurazione nell’editor NANO:
cd /etc/nginx

sudo nano sites-enabled/default
  1. Sostituire nel documento
index index.html index.htm

con

index.php index.html index.htm
  1. Più in basso nel file, cercate la voce
# passa gli script PHP al server FastCGI in ascolto su 127.0.0.1:9000

e rimuovere l’hash dalle sei righe seguenti:

location ~ .php$ {

fastcgi_split_path_info ^(.+.php)(/.+)$;

fastcgi_pass unix:/var/run/php5-fpm.sock;

fastcgi_index index.php;

include fastcgi_params;

}
  1. Salvare la configurazione e riavviare nginx:
sudo /etc/init.d/nginx reload
  1. Passare alla cartella con la pagina web predefinita digitando nella console
cd /usr/share/nginx/www/

e sostituire l’esistente “index.html” con “index.php”. È quindi possibile riempire quest’ultimo con il contenuto desiderato.

Articoli correlati