Raspberry pi puntata 14: costruire un web server parte 1

Benvenuti nella nuova puntata della nostra serie. Da oggi si comincia a fare sul serio.  Cercheremo di presentarvi nelle prossime occasioni diversi modi per utilizzare il nostro raspi.
Il raspberry pi, come si è detto, è un computer molto versatile, anche e soprattutto per le sue ridotte dimensioni e per le soluzioni rese possibili dalla community che lo usa. Una di queste soluzioni, valida anche a fini didattici, è la sua capacità di diventare un server web.

Cos’è un web server

Un server web (o web server) è un’applicazione software che, in esecuzione su un server, è in grado di gestire le richieste di trasferimento di pagine web di un client, tipicamente un web browser. La comunicazione tra server e client avviene tramite il protocollo HTTP, che utilizza la porta TCP 80 (o 8080), o eventualmente la versione sicura HTTPS, che utilizza invece la 443.
Ora, sebbene, teoricamente, possa diventare un server web qualsiasi dispositivo per cui sia disponibile qualche software che agisca come server web, solitamente i dispositivi che ospitano server web sono sistemi hardware dedicati (cioè il cui scopo unico è fungere da web service) e ottimizzati a tale scopo. Per ulteriori informazioni, si può consultare la pagina wikipedia all’indirizzo  https://it.wikipedia.org/wiki/Server_web.

“Un

A che serve un web server

Ora, a cosa ci può essere utile? Magari a testare un sito web da noi realizzato con strumenti che usano php, asp o jsp, soluzioni che, a differenza delle pagine statiche in html, necessitano di una istallazione lato server. La maggior parte dei siti in giro, infatti, non è più costituita da pagine statiche (in html, appunto) ma da contenuti che vengono creati nel momento dal server in base alle richieste del nostro browser. Dunque, il server non è occupato dalle pagine che vediamo nel browser, ma da altra struttura, che produce le pagine web che il browser ci mostra sul momento.
Diviene dunque più complesso costruire e testare un sito web, così sono stati costruiti dei sistemi che facilitano i lavoro di costruzione, i cosiddetti CMS. WordPress, Joomla ecc… sono strutture già pronte che, una volta installate sul server, possono essere riempite di contenuti accedendo ad un pannello di lavoro senza dover scrivere materialmente la pagina; dunque, l’operatore costruisce i contenuti del sito (testo immagini, video ecc..) semplicemente inserendoli attraverso il pannello adottato.
Esistono molti web server a disposizione. Ma, per le caratteristiche del raspi, è bene sceglierne uno molto leggero e di facile istallazione e d’utilizzo. In questo caso, abbiamo scelto di adoperare nginx, ma anche il web server lighttpd (http://www.lighttpd.net/) è una soluzione valida.

Cos’è Nginx

Nginx (pronunciato come “engine-x”) è un web server/reverse proxy leggero ad alte prestazioni; è anche un server proxy di posta elettronica (IMAP / POP3), distribuito sotto licenza BSD-like. E’ molto leggero e ha il pregio di funzionare su Unix, Linux, varianti di BSD, macOS, Solaris e Microsoft Windows.

Pagina wikipedia: https://it.wikipedia.org/wiki/Nginx
Sito ufficale: http://nginx.org/

Come installare e configurare nginx

La procedura per istallare nginx sul nostro raspi è abbastanza semplice:
1. Dal desktop del raspi, bisogna aprire il terminale.
2. Scrivere sulla linea di comando la seguente istruzione:
sudo apt-get install nginx

e premere invio.
3. Dopo un certo numero di messaggi sul video, se tutto va bene e ricompare la linea di comando, il server è installato.
Ora occorre lanciare nginx
Riavviate il raspberry con il comando
sudo reboot
o, dal menù, scegliere reboot e premere OK.
Quando riparte il raspberry, lanciate di nuovo il terminale e scrivete

sudo nginx.

Per controllare se funziona il server, occorre lanciare il browser Epiphany e scrivere sulla barra dell’indirizzo localhost. Se il server è attivo, il browser mostrerà una pagina di avvio con il benvenuto del server.
Ora, se si conosce l’Ip del raspi, basta inserirlo nella barra del browser di un’altro pc nella rete, dovreste vedere la stessa pagina di avvio.
Se non si conosce l’IP, nel terminale del raspi basta digitare
hostname –I

e premere invio.
Ora fate un tentativo. Se tutto va bene, visualizzerete la pagina di accesso di nginx.
Per oggi abbiamo finito.
La prossima volta, vedremo come migliorare la resa della pagina iniziale e qualche altro trucco.
A presto, su questo stesso raspi-canale alla stessa raspi-ora (o giù di lì).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.