ES | EN | IT

Web Server con Raspberry PI

In questo piccolo tutorial configureremo un webserver con un Raspberry PI. Utilizzeremo NGINX invece di apache per via del minor utilizzo di risorse.

 

ELENCO MATERIALI:

 

INSTALLAZIONE NGINX

Una volta che ci siamo assicurati che il nostro Raspberry sia completamente configurato, verifichiamo che apache non sia installato, usando:
dpkg-query --list |grep apache

Ora procederemo a installare NGINX come webserver (in sostituzione di apache) e abiliteremo il supporto per PHP.
apt -y install nginx

Una volta installato, verifichiamo con il nostro browser se il webserver funziona, nella barra degli indirizzi inseriamo http://IP-DEL-RASPBERRY, che dovrebbe mostrarci una pagina di benvenuto. In caso di errore dovremmo riavviare il demone di NGINX o riavviare il raspberry.

 

INSTALLAZIONE DI PHP

Utilizzeremo php-fpm per processare il nostro codice PHP. Per installare tutto il necessario useremo il comando:
apt -y install php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-curl php7.4-gd php7.4-curl php7.4-zip php7.4-xml

Ora procederemo a configurare il nostro PHP, modificando il file /etc/nginx/sites-enabled/default

Dobbiamo cercare il testo index index.html index.htm; e aggiungere il nostro index.php: index index.php index.html index.htm;, all'inizio in modo che prenda sempre il php come prima opzione.

Poi dobbiamo abilitare PHP, quindi cerchiamo questa parte della configurazione:
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
# fastcgi_pass unix:/var/run/php5-fpm.sock;
#}

e lo sostituiamo con:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
. Questo serve affinché NGINX processi i file .php tramite PHP-FPM.

Poi riavviamo il servizio NGINX e possiamo testare generando un file .php che contenga la direttiva phpinfo().

Infine, per abilitare i short tags di php, dobbiamo cercare i file di configurazione di php (php.ini) e assicurarci che siano abilitati (short_open_tag=on), poi dobbiamo riavviare sia i servizi di php-fpm che quelli di nginx.
service php(versione)-fpm restart
service nginx restart