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