Realizzare un sito Web è oggi più semplice che in passato ed in certi casi si tratta di un'operazione che può essere effettuata anche a costo zero. I moderni Web Server, ovvero gli applicativi che gestiscono le richieste di trasferimento delle pagine Web inviate dai browser, ed i CMS (Content Management System), cioè quei programmi che vanno concretamente a gestire i contenuti pubblicati sui siti, danno la possibilità anche a chi non ha delle specifiche conoscenze tecniche di creare un portale Web completo. Tale contesto, unito alla diffusione dei linguaggi di programmazione Web, ha di fatto reso comune l'apertura di blog o siti web personali per gli usi più disparati che vanno dal semplice diario al sito portfolio per presentare i propri progetti e skill.
Tuttavia i provider di Web hosting gratuiti, ovvero le aziende che mettono a disposizione uno spazio server per ospitare un sito o un servizio, offrono risorse hardware e quantità di storage limitate. Fortunatamente è possibile ospitare, tramite una soluzione di self-hosting, il proprio sito Web anche su di un normale PC casalingo. Ovviamente tale device deve rimanere sempre attivo per consentire l'accesso al portale. Tale approccio può quindi diventare costoso e far lievitare notevolmente il "peso" della bolletta elettrica.
Ecco perché in questi anni Raspberry Pi è diventato popolare anche tra coloro che decidono di tenere un sito Web in locale. Tale board ARM garantisce infatti dei consumi energetici davvero minimi, paragonabili a quelli di un comune cellulare, e può gestire senza problemi un Web Server ed un CMS. Nella guida di oggi vogliamo proprio focalizzarci sull'installazione e la configurazione di un Web Server su Raspberry Pi.
Requisiti hardware
Per realizzare tale progetto è necessario prima di tutto dotarsi di un Raspberry Pi modello B da almeno 8GB di RAM. Infatti in base alla tipologia di sito che andremo a realizzare è necessario disporre di una discreta quantità di risorse. Quindi il nostro consiglio è quello di acquistare il modello più potete e recente di tale board ARM.
Oltre al device in questione è consigliabile anche utilizzare una scheda microSD da almeno 64GB.
Installazione di Raspberry Pi OS
Come sistema operativo adotteremo la distribuzione Linux sviluppata dai coder della Raspberry Pi Foundation ovvero Raspberry Pi OS. Si tratta di un sistema basato su Debian dunque avremo accesso ad un enorme ventaglio di applicativi presenti nei repository software ed accessibili tramite il package manager APT (Advanced Packaging Tool).
Dunque scarichiamo il file ISO di Raspberry Pi OS dal sito ufficiale e successivamente dotiamoci di uno dei tanti imaging software presenti in rete. Noi vi consigliamo di affidarvi a Rufus, una piccola utility open source molto potente e funzionale. Quindi dopo aver eseguito il download del suo installer avviamo tale applicativo e dalla sezione "Dispositivi/Unità" selezioniamo la microSD citata in precedenza.
Dopo di ciò clicchiamo sul pulsante "Seleziona" per indicare a Rufus la posizione del file ISO di Raspberry Pi OS da utilizzare. Infine pigiamo su "Avvia" per eseguire il flash sulla microSD. Ultimato tale processo possiamo inserire la memoria appena preparata dentro il Raspberry Pi e connettere alimentatore, mouse, tastiera ed ovviamente il monitor.
Installazione del Web Server Apache
Dopo aver eseguito il primo wizard della configurazione della distribuzione potremo quindi iniziare ad installare il Web Server. In tale tutorial abbiamo scelto di affidarci ad Apache Web Server.
Prima di tutto verifichiamo che Raspberry Pi OS sia aggiornato, apriamo dunque il terminale e digitiamo:
sudo apt update && sudo apt upgrade
e successivamente installiamo il pacchetto software di Apache scrivendo:
sudo apt install apache2 -y
Dopo l'installazione dovrebbe avviarsi in automatico il processo in background del Web Server. Per verificare se funziona correttamente possiamo digitare nel nostro browser l'IP del Raspberry Pi per visualizzare la pagina di test.
Se non ricordiamo l'IP possiamo usare questo il comando da shell hostname -I
.
Installazione di PHP
PHP è un linguaggio di scripting interpretato indispensabile per il funzionamento di molti CMS, dunque è consigliabile installarlo e configurarlo prima di poter iniziare a realizzare il proprio sito Web self-hosted. Torniamo quindi nella shell e scriviamo:
sudo apt install php -y
anche in questo caso per capire se il processo di PHP è correttamente in esecuzione digitiamo il nostro IP nel browser sul Raspberry Pi per visualizzare una pagina che ci indica tutte le informazioni sulla build di PHP appena installata.
Installazione di MySQL
MySQL è un relational database management system necessario per diversi CMS. Alternativamente se lo preferisce si può anche optare per il fork chiamato MariaDB. Dunque per installare l'RDBMS digitiamo:
sudo apt install mysql-server php-mysql -y
e successivamente riavviamo il demone di Apache per rendere operativa l'installazione di MySQL:
sudo service apache2 restart
Installazione e configurazione del CMS WordPress
Per poter gestire i contenuti da pubblicare sul nostro sito Web e per realizzare facilmente il suo layout vi consigliamo di adottare il CMS open source WordPress. Si tratta di un software super rodato che offre un vastissimo set di temi e plugin che vi consentiranno di creare un portale anche in pochi minuti.
Per installare i pacchetti di WordPress procediamo cosi:
cd /var/www/html/
sudo rm *
sudo wget http://wordpress.org/latest.tar.gz
sudo tar xzf latest.tar.gz
sudo mv wordpress/* .
Dunque procediamo con la configurazione iniziale:
sudo chown -R www-data: .
sudo mysql_secure_installation
Dopo quest'ultimo comando dovremo digitare la password di root e seguire la procedura guidata per la configurazione del database. In genere, se non abbiamo esigenze particolari, basta rispondere di "Si" a tutte le domande che ci verranno mostrate a schermo.
Quindi ora possiamo realizzare il database vero e proprio di WordPress:
sudo mysql -uroot -p
create database wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'root'@'localhost' IDENTIFIED BY 'PASSWORD';
ovviamente al posto di PASSWORD dobbiamo inserire la nostra password. In fine come comando finale è necessario scrivere:
FLUSH PRIVILEGES;
Adesso l'utente può accedere al back-end di WordPress ed iniziare a personalizzare il sito Web. Basta infatti aprire il browser ed immettere tale comando nella barra degli URL:
http://IPdelRaspberry/wp-admin.