Web Server on Raspberry Pi
di Filippo Rigotto
Questa guida fornisce istruzioni dettagliate su come installare un server web in grado di fornire
contenuti dinamici, anche appoggiandosi a un database. L’obiettivo di questa guida è avere un
sistema pronto per installare un sito personale o un CMS come Wordpress o Joomla. Si procederà
quindi all’installazione di tutti i componenti tipici di una piattaforma cosiddetta LAMP (Linux,
Apache, MySql, Php) con l’eccezione di installare come server web il leggero Lighttpd invece di
Apache, comunque adatto all’uso e alle risorse del Pi.
Linux Procurarsi un Raspberry Pi con installato Raspbian: questo può (anzi, è consigliato) operare
in modalità headless (senza schermo, tastiera, mouse), connesso alla sola rete e governato da
remoto in rete locale. A tale scopo è consigliata l’installazione di Samba sul Pi, di modo da
condividere una directory dove sarà poi ospitato il sito. È necessario che il Pi abbia un indirizzo IP
statico: impostare il router di casa in modo che assegni sempre lo stesso indirizzo al Pi (basato sull’
indirizzo MAC che ha: digitate ifconfig in un terminale per conoscerlo, è subito dopo HWaddr).
Aggiornare il sistema da terminale con sudo apt-get update && sudo apt-get dist-upgrade.
Lighttpd Server web leggero, adatto al Pi. Installare da terminale con sudo apt-get -y install
lighttpd. Il server web ora è attivo ma fornisce solo pagine html statiche, non dinamiche.
MySql (opzionale) Famoso database necessario più per i CMS o per applicazioni web personali,
che per semplici siti. Installarlo da terminale con sudo apt-get –y install mysql-server
durante l’installazione richiederà la password per l’utente root, sceglierne una mediamente
difficile e ricordarla.
PHP Software che processa il testo generando pagine html da codice php, da cui il nome di
pagine dinamiche, riferito al contenuto delle stesse, che varia in base all’esecuzione.
Installare da terminale con sudo apt-get -y install php5-common php5-cgi php5
Se avete installato MySql come al passo precedente occorre installare anche i pacchetti per
collegare questi con php, tramite il comando sudo apt-get -y install php5-mysql
Abilitare php nel server web con sudo lighty-enable-mod fastcgi-php
Per salvare le impostazioni riavviare il server web con sudo service lighttpd force-reload
Configurazione cartelle Una volta installato tutto il necessario dovrebbe essere visibile una pagina
di prova all’indirizzo del vostro Pi, aprire per prova un browser da un pc in rete locale e digitare
l’indirizzo IP del Raspberry. La radice (root) del sito si trova di default in /var/www, cartella
posseduta dall’utente www-data, membro del gruppo omonimo.
Occorre quindi aggiungere l’utente pi a tale gruppo con il comando sudo usermod –a –G wwwdata pi e abilitare il gruppo con sudo chmod 755 /var/www
Consiglio comunque di cambiare tale cartella con una più ‘comoda’ creandone una in /home/pi
(dove non servono molti permessi speciali), informando il server del cambiamento.
In pochi comandi: mkdir /home/pi/www per creare la cartella, per cambiare le impostazioni sudo
nano /etc/lighttpd/lighttpd.conf sostituendo la cartella, dopo server.document-root (una
delle prime righe). Qui è inoltre possibile cambiare porta se non soddisfatti della 80 standard.
Chiudere l’editor e salvare con Ctrl+X, Y o S, Invio. Per rendere effettive tali modifiche occorre il
comando sudo service lighttpd force-reload