Introduzione
Se sei in possesso di una scheda Raspberry Pi, prima o poi ti verrà la tentazione di provare di trasformarlo in un web server, in cui potrai creare i tuoi siti web, con tutte le tue pagine, foto ecc. Avere un web server a costo praticamente zero, può essere molto utile anche nel caso in cui si voglia fare un po’ di pratica dal vivo. Per esempio se ti sei appena iscritto ad un corso Web di CSS, HTML5 o WordPress vorrai certamente mettere in pratica quello che hai appena imparato. In questo articolo vedremo come installare un LAMP (Linux, Apache, MySQL e PHP) cioè un ambiente in cui sono presenti tutte queste applicazioni necessarie a realizzare un web server.
[wpda_org_chart tree_id=27 theme_id=50]
LAMP – l’ambiente per un web server
Il LAMP è un set di applicazioni ormai impostato e convalidatato da tempo, necessarie per realizzare un web server. Il suo nome deriva proprio dalle iniziali di queste applicazioni.
- Linux
- Apache
- MySQL
- Php
Vediamo meglio una per una in dettaglio.
Linux è il sistema operativo. Su Raspberry Pi il sistema operativo standard è Raspbian (una versione di Debian adattata per il Raspberry), quindi per quanto riguarda questa prima parte, abbiamo già tutto impostato e pronto e non dobbiamo preoccuparci di più. Se aveste altre distribuzioni di Linux installate su Raspberry Pi vanno bene lo stesso.
Apache è un HTTP Server, necessario per svolgere tutte quelle attività di web necessarie ad un server. Applicazione potentissima, è praticamente il leader indiscusso di questa tipologia di software ed è completamente gratuito ed accessibile a tutti i sistemi operativi. Questo server inoltre ha tantissimi moduli che ti permetteranno di estendere le sue funzionalità creando anche web server che girano su Java, Python, ecc. ed estendere la sicurezza. (vedi qui pagina ufficiale)
MySQL è un database. Infatti tutti i web server hanno bisogno di un database di appoggio in cui immagazzinare tutte le informazioni riguardo il contenuto delle pagine web, i path, le configurazioni, ecc. (vedi qui la pagina ufficiale).
PHP è un linguaggio di programmazione che si è ormai specializzato nello sviluppo e creazione di web application, tra cui un web server. Molte applicazioni web girano con questo linguaggio, tra cui WordPress. (vedi qui la pagina ufficiale)
Adesso che abbiamo visto i 4 cardini di un web server LAMP, cominciamo ad installarli uno dopo l’altro sul nostro Raspberry Pi.
Ma prima di tutto aggiorniamo il nostro sistema Linux: Raspbian.
$ sudo apt-get update $ sudo apt-get upgrade
Installazione di Apache su Raspberry
Cominciamo la nostra installazione dell’HTTP Server Apache. L’installazione è piuttosto semplice, basta installare il pacchetto apache2 direttamente dal terminale.
$ sudo apt-get install apache2 -y
Una volta completata l’installazione dell’HTTP Server Apache, dobbiamo attivarlo. Quindi possiamo o riavviare il Raspbian.
$ sudo reboot
oppure far partire direttamente il servizio
$ sudo service apache2 start
Adesso che abbiamo il server attivo possiamo testarne il funzionamento. Apache, appena installato, contiene una pagina HTML di default che serve a testare il corretto funzionamento del sistema. Per accedere ad essa, è sufficiente aprire un browser e richiamare la pagina tramite l’indirizzo URL:
oppure immettere direttamente l’IP del Raspberry se vuoi provarlo da un altro computer presente nella tua stessa rete.
http://192.168.2.101 (IP di esempio)
Una volta caricata la pagina, dovresti avere una schermata come la seguente:
Se appare così come l’immagine di sopra allora vorrà dire che tutto è andato correttamente e possiamo passare all’applicazione successiva.
Installazione MySQL su Raspberry
Adesso possiamo passare all’installazione del database.
$ sudo apt-get install mysql-server php5-mysql -y
Durante l’installazione vi sarà richiesta di inserire una password per root. Una volta completata l’installazione del database, facciamo ripartire il servizio di Apache
$ sudo service apache2 restart
Per quanto riguarda l’utilizzo di MySQL esistono due possibili alternative:
- gestione del database tramite riga di comando
- gestione del database tramite interfacce grafiche (GUI)
Per chi vuole lavorare a riga di comando, esiste il comando mysql che permette di accedere a tutte le funzionalità tramite terminale.
$ mysql -u root -p
immettete la password che avete inserito durante l’installazione. Se vi apparirà il prompt
mysql >
in attesa dei vostri comandi allora l’installazione sarà andata correttamente. Inserite il comando quit per uscire.
Se invece desideri utilizzare un comodo client GUI, è possibile installare l’applicazione MySQL Workbench (unica applicazione che è andata a sostituire le precedenti applicazioni MySQL Admin e MySQL Query Browser)
$ sudo apt-get install mysql-workbench
L’applicazione MySQL workbench ci permette sia di gestire il database, con tutte le attività di manutenzione, gestione degli oggetti e altre attività di amministrazione, sia di poter visualizzare, modificare e gestire i dati contenuti all’interno del database anche attraverso Query SQL. Un’applicazione del genere si dimostrerà indispensabile se si ha intenzione di sviluppare applicazioni web utilizzando i vari linguaggi di programmazione come PHP, Java e Python.
Installazione di PHP su Raspberry
Infine possiamo cominciare ad installare il linguaggio di programmazione PHP e tutti i package necessari per il suo funzionamento in un ambiente web server.
$ sudo apt-get install php5 libapache2-mod-php5 -y
Una volta installato, testiamo immediatamente il corretto funzionamento di PHP sul web server.
Da terminale, posizionatevi nella directory creata appositamente per ospitare tutte le pagine web.
$ cd /var/www/html
Nota: nelle versioni precedenti di Raspbian (ad.es Wheezy) la directory è solamente /var/www/
Infatti sarà in questa cartella che inserirete tutte le pagine HTML o PHP che creerete.
Create un file index.php e scrivete al suo interno questa riga
<?php echo "Raspberry on Web!"; ?>
Salvate il file e rimuovete (o spostatelo in qualche directory di backup) il file index.html, che ha precedenza di lettura su index.php.
Se volete provare qualche altro comando interessante giusto per testare il funzionamento di PHP, provate ad aggiungere a index.php le righe seguenti.
<?php echo date('Y-m-d H:i:s); ?> <?php phpinfo(); ?>
Conclusioni
In questo articolo avete visto come impostare velocemente un Web Server installando LAMP sul proprio Raspberry Pi. In altri articoli approfondiremo gli aspetti della programmazione Web e su come estendere questo Web server convertendolo in un application server Java o Python.