Tanto piccolo, quanto potente e versatile. A leggere le cose che è possibile fare con Raspberry Pi, il computer tascabile che arriva dalla Gran Bretagna, c'è da rimanere a bocca aperta. Il piccolo computer è in grado di trasformarsi in un media center o una stazione meteorologica, in un centro di gestione di una casa domotica o un “laboratorio vivente” per corsi di programmazione (scopo per il quale Raspberry Pi nasce) senza batter ciglio. In tutti i casi, Raspberry Pi si comporta egregiamente, dimostrando di esser andato ben oltre le intenzioni iniziali dei creatori.
Tra i tanti “assi nella manica” di Raspberry Pi troviamo anche la possibilità di trasformarlo in un web server casalingo, versatile e allo stesso tempo affidabile. Nonostante tutto quello che si possa pensare, infatti, Raspberry è dotato di potenza sufficiente per far girare tutte le applicazioni necessarie a mantenere in piedi un server web.
Perché un server web con Raspberry Pi
Quasi fossero una specie in pericolo d'estinzione, i server casalinghi stanno divenendo sempre più rari e difficili da trovare. Troppo costosi e troppo esosi (energicamente parlando) sono stati via via sostituiti dai servizi in cloud (come, ad esempio, il cloud storage per archiviare grosse quantità di dati e renderle disponibili in Rete) o dall'affitto di piccoli server in datacenter specializzati.
Avere un web server casalingo, però, può sempre tornare utile e Raspberry Pi sembra essere la soluzione ideale per eliminare, in un colpo solo, entrambe le problematiche prima esposte: costa poco e consuma ancora di meno. La sua versatilità, inoltre, permette di creare server casalinghi di ogni tipo: da quelli dedicati all'hosting di piccoli siti web a server di stampa.
Bisogna però tenere bene a mente che, per quanto potente, il piccolo computerino britannico non è adatto per supportare (e sopportare) portali web che generino molto traffico. Non si tratta, quindi, di una soluzione adatta a un'utenza business, che dovrà giocoforza volgere lo sguardo verso soluzioni professionali.
Tutto quello di cui c'è bisogno
Prima di partire con la configurazione del web server con Raspberry Pi sarà utile ricordare quali siano gli elementi indispensabili per costituire il server stesso. Se anche solo uno dovesse mancare, il progetto iniziale sarebbe praticamente irrealizzabile. Di seguito, ecco una checklist di tutto il necessario.
-
Router e modem. Sembrerà banale dirlo, ma affinché il server possa funzionare, sarà necessario avere un modem (che permetta di connetterci a Internet) e un router (che permette di creare una LAN tra i dispositivi di rete di casa). Il più delle volte, gli ISP (Internet service provider, l'operatore telefonico con cui ci si connette a Internet) forniscono ai propri utenti un modem/router più che sufficiente per la navigazione quotidiana. Nel caso in cui si voglia metter su una LAN dotata di un web server, è consigliabile utilizzare un secondo router per gestire al meglio i dispositivi
-
Cavo Ethernet. Affinché assolva ai propri compiti di web server, Raspberry Pi dovrà essere connesso 27/7 a Internet. Necessario, quindi, un cavo Ethernet che lo metta in comunicazione con il router
-
Sistema operativo. Tra le varie distribuzioni Linux create per Raspberry Pi, la più adatta agli scopi della guida resta Raspbian, scaricabile dal portale ufficiale del progetto
-
Accesso SSH. Un server non avrà bisogno di mouse o tastiera, ma di una connessione SSH che garantisca un livello di sicurezza adeguato per accedere alle risorse condivise. La gestione del web server, compreso l'hosting dei file, potrà essere effettuato da remoto, utilizzando un computer desktop o un laptop connesso alla LAN
Per essere sicuri che tutto possa funzionare alla perfezione, sarà necessario verificare che tutti i pacchetti di Raspbian (o di qualunque altra distribuzione scelta) siano aggiornati all'ultima versione. Accedere alla console e, da riga di comando, inserire le istruzioni
sudo apt-get update
sudo apt-get upgrade
e digitare il tasto Invio. Quando il processo di aggiornamento sarà concluso, si potrà dare il via all'installazione del web server.
Configurare Apache
Per trasformare Raspberry Pi in un server web perfettamente funzionante sarà necessario installare un software che sappia intercettare e gestire le richieste di accesso alle risorse che arrivano dagli altri disositivi connessi alla LAN o da dispositivi collegati a Internet. Per i nostri scopi sarà più che sufficiente Apache web server, software gestionale gratuito, open source e affidabile.
L'installazione e la configurazione di Apache, fortunatamente, non richiedono grosse conoscenze informatiche e non implicano una grande perdita di tempo. Aprire nuovamente la console e, da riga di comando, inserire le istruzioni
sudo apt-get install apache2 php5 libapache2-mod-php5
e digitare Invio. Ciò permetterà di installare il software per la gestione del web server, PHP e una libreria che permette ad Apache e PHP di funzionare insieme.
Una volta terminata l'installazione sarà necessario riavviare la macchina affinché le componenti appena installate possano funzionare. Da riga di comando digitare
sudo service apache2 restart
e attendere che l'operazione termini. Per verificare che tutto sia andato a buon fine, aprire un web browser e, nella barra degli indirizzi, inserire l'indirizzo IP locale di Raspberry Pi (avrà la forma di 192.168.xxx.xxx). Nel caso in cui non lo si conosca, da riga di comando digitare ifconfig e dare invio; l'indirizzo IP del Raspberry Pi si troverà nel primo dei tre paragrafi che compariranno (eth0) in corrispondenza della voce inet addr. Se non ci sono stati errori nel corso del processo di installazione e configurazione, si dovrebbe visualizzare una pagina web molto semplice, tipo quella che segue.
Portarlo online
Così configurato, il server sarà funzionante, ma accessibile esclusivamente ai dispositivi connessi alla LAN. Se si vuole avere accesso da qualunque dispositivo connesso a Internet (smartphone, tablet, laptop, omputer, ecc) si dovrà fare in modo che le richieste di accesso che arrivano al router vengano correttamente reindirizzate verso il Raspberry Pi. Ci sarà bisogno, quindi, di creare un canale di “accesso diretto” dal web verso il Raspberry Pi, che permetta di superare eventuali barriere del router (un firewall, ad esempio) ed eviti che i pacchetti si perdano per strada. Ci sarà bisogno di un port forwarding, che consenta di indirizzare il traffico web in transito attraverso una porta del router direttamente verso l'IP privato del computerino made in UK.