La popolarità della board ARM low-cost Raspberry Pi non accenna a diminuire e sono sempre di più le aziende e gli appassionati che realizzano con successo progetti software animati da questo piccolo device. In passato abbiamo dimostrato la versatilità di Raspberry Pi, descrivendo come ad esempio sia possibile sfruttarlo per realizzare un NAS casalingo o una mini stazione meteo. Quest'oggi ci focalizzeremo sulla creazione ed impostazione di un Server LAMP completo di tutti gli strumenti necessari per realizzare siti o applicativi Web.
LAMP è l'acronimo di Linux, Apache, MySQL e PHP. Ci affideremo dunque ad una distribuzione Linux, ovvero Raspberry Pi OS, al un server engine Apache, al DBMS MariaDB, un popolare fork di MySQL e al package del linguaggio PHP.
La configurazione di un server LAMP è alla portata di tutti, quindi anche i neofiti che sono entranti in possesso da poco di un Raspberry Pi potranno seguire questa guida senza difficoltà. Ovviamente il setup che andremo ad illustrare avrà uno scopo meramente didattico. Il tutto è strutturato in modo tale da invogliare l'utente ad approfondire in autonomia gli argomenti trattati.
Installare Raspberry Pi OS
L'installazione della distribuzione Raspberry Pi OS non è complessa. Basta affidarsi ad uno dei diversi imaging tool gratuiti disponibile in rete. Ad esempio è possibile sfruttare Raspberry Pi Imager, una utility open source sviluppata dallo stesso team di Raspberry Pi.
Dopo aver eseguito il download del file ISO del sistema operativo e di Raspberry Pi Imager, avviamo quest'ultimo. Successivamente selezioniamo l'opzione "Choose OS" cosi da indicare al programma il media d'installazione precedentemente scaricato. Fatto questo clicchiamo su "Choose Storage" per indicare al software la microSD da utilizzare come unità di boot del Raspberry Pi. Tale device infatti non possiede una memoria integrata ma utilizza appunto una microSD.
Infine avviamo il procedimento di flashing vero e proprio cliccando su "Write". L'intera procedura non dovrebbe durare più di una decina di minuti.
Impostazione di Apache
Il wizard per il setup iniziale di Raspberry Pi OS è davvero molto semplice da eseguire. Quindi salteremo la descrizione di tale procedura per focalizzarci sulla configurazione di Apache. Si tratta di uno storico software open source estremamente versatile e capace di interfacciarsi agilmente con una vasta pletora di programmi e librerie. È possibile installare Apache sfruttando il pratico gestore di pacchetti APT (Advanced Packaging Tool):
sudo apt install apache2 -y
Non appena il package manager termina il download ed il setting di Apache possiamo verificare il suo corretto funzionamento digitando nella barra degli URL del browser:
http://localhost
oppure:
http://ipdelraspberry
Se non si conosce l'IP locale del Raspberry Pi basta sfruttare il seguente comando:
hostname -I
che dovrebbe riportare un output simile al seguente:
192.168.1.1
Se Apache è pienamente operativo nel browser viene caricata una pagina del genere:
Si tratta di un semplice file HTML posizionato nella directory /var/www/html/
. Tramite l'editor nano si può inoltre cambiare il testo al suo interno:
sudo nano /var/www/html/index.html
Installazione di PHP e MariaDB
Ora procediamo andando a reperire due componenti essenziali per il server LAMP. Il database MariaDB e le librerie PHP. Queste ultime sono necessarie per la corretta operatività di alcuni dei CMS più utilizzati, le applicazioni con cui un utente può amministrare e gestire, tramite una comoda GUI user-friendly, uno o più siti Web.
Anche tali pacchetti si trovano all'interno dei repository di Raspberry Pi OS, quindi torniamo su bash e digitiamo:
sudo apt install php -y
In modo simile procediamo con l'installazione di database MariaDB:
sudo apt install mariadb-server php-mysql -y
Per sicurezza, al termine di tali procedure eseguiamo anche ad un riavvio manuale del processi in background di Apache:
sudo service apache2 restart
Per testare il funzionamento di PHP è sufficiente creare un file chiamato index.php
all'interno della directory /var/www/html
:
sudo nano /var/www/html/index.php
Per proporre un esempio concreto, ecco un messaggio di benvenuto da inserire in tale documento:
<?php echo "Salve a tutti!"; ?>
Salviamo il file con la combinazione di tasti CTRL+O e chiudiamo con CTRL+X.
Questo file prende sostanzialmente il posto del vecchio index.html
, ecco perché è necessario rimuovere anche questo elemento:
cd /var/www/html
sudo rm index.html
Ora, ricaricando la pagina aperta in precedenza da browser dovrebbe comparire il messaggio digitato poco prima sul file PHP.
Installazione di WordPress
Come accennato in precedenza, per gestire in modo più semplice un sito Web oggi ci si affida spesso ad un CMS. WordPress è sicuramente la soluzione open source più popolare in questo settore. Ecco perché è stata la nostra scelta.
WordPress non si trova nei repository di Raspberry Pi OS ma è possibile utilizzare il pratico pacchetto messo a disposizione dai developer del progetto. Partiamo facendo pulizia di tutti i file presenti nella cartella /var/www/html
:
cd /var/www/html/
sudo rm *
Successivamente utilizziamo il download manager wget per il download del pacchetto compresso di WordPress:
sudo wget http://wordpress.org/latest.tar.gz
e procediamo con la decompressione del file:
sudo tar xzf latest.tar.gz
Infine spostiamo tutti i file contenuti nella nuova cartella wordpress
in /var/www/html/
:
sudo mv wordpress/*
Adesso il vecchio file compresso non ci serve più e possiamo eliminarlo:
sudo rm -rf wordpress latest.tar.gz
È quindi arrivato il momento di cambiare l'ownership dei file di wordpress
assegnandoli ad Apache:
sudo chown -R www-data: .
Configurazione del database MariaDB
Per funzionare correttamente, WordPress deve salvare tutti i dati all'interno di un database. Ecco perché abbiamo installato MariaDB. Per configurarlo torniamo su bash ed avviamo il suo wizard:
sudo mysql_secure_installation
Alle domande dell'installer di MariaDB bisogna rispondere sempre "Yes", inoltre è necessario impostare una password che può anche essere la medesima che utilizzate per eseguire il login sul Raspberry Pi. Al termine della configurazione iniziale dovreste ricevere un output come questo:
All done! Thanks for using MariaDB!
Adesso siamo pronti per creare il database per WordPress:
sudo mysql -uroot -p
create database wordpress;
Se la creazione del database wordpress
va a buon fine viene mostrato un messaggio del genere:
Query OK, 1 row affected (0.00 sec)
Ora facciamo in modo che l'utente di root
possa accedere a tale database:
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY 'LAVOSTRAPASSWORD';
FLUSH PRIVILEGES;
Infine, per uscire dalla shell di MariaDB teniamo premuto CTRL+D. Per confermare tutte queste modifiche è consigliabile un reboot del device.
Configurazione di WordPress
Ora è finalmente possibile accedere alla setup di WordPress cosi da personalizzare il proprio sito Web. Quindi apriamo il browser e torniamo su:
http://localhost
Dopo il caricamento della pagina viene lanciata in automatico la configurazione iniziale di WordPress:
Al termine di tale procedura premiamo "Install WordPress" ed eseguiamo il login con l'account che abbiamo creato durante il wizard per accedere al pannello di configurazione. Per visualizzare il nuovo sito Web basta recarsi su:
http://localhost/wp-admin
Fatto questo avremo terminato la configurazione del nostro server LAMP sul Raspberry Pi con WordPress!