Come installare un server web sul Raspberry Pi (Apache + PHP + MySQL)

Condividi questo articolo:


Dopo aver creato la vostra scheda SD, e dopo aver avviato il vostro Raspberry Pi per la prima volta, ci sono forti probabilità che vogliate usarlo come server web.

Perché un Raspberry Pi come server web?

Ma perché utilizzare un Raspberry Pi come server web, piuttosto che utilizzare fornitori di servizi specializzati in web hosting?

In primo luogo, da un punto di vista economico, dovete sapere che i servizi di web hosting non sono gratuiti e che dovete pagare ogni mese/anno. A differenza dei Raspberry che hanno solo bisogno di una connessione.
Inoltre, scegliendo Raspberry, si ha la possibilità di modificare i servizi come si desidera (esempi: la dimensione del disco, l’hosting di Database, ecc), che non è generalmente il caso di host specializzati , Che spesso vendono hosting condiviso con bassa capacità di configurazione.
Tuttavia, per supportare un maggior numero di utenti, si dovrebbe utilizzare un Raspberry Pi 3 (il Pi 3 si trova qui), il Raspberry Pi con 1 GB di RAM, piuttosto che il Raspberry tipo B + (512 MB di RAM)

La domanda che ora si pone è: come realizzare un server web su Raspeberry Pi ?Installation du servur Apache avec Raspbian

Che cos’è Apache?

Per prima cosa, installeremo Apache, che è il server web in quanto tale.
Quando si parla di server web, spesso si pensa alla macchina, ma questo termine si riferisce anche al software che permette alla macchina di analizzare le richieste degli utenti (in forma http), e di restituire il file corrispondente alla richiesta (O un errore se il file non viene trovato, o la query formulata in modo errato).
Come parte di Apache, è di questo software che parliamo.

Al momento, Apache è il server web più utilizzato, con circa il 60- di quota di mercato. Apache ha una licenza propria, utilizzata da molti altri progetti. Inoltre, l’uso massiccio di Apache (che è diventato lo standard per i server web), insieme alla sua grande popolarità, ha portato ad una enorme abbondanza di documentazione, corsi, e altri libri che trattano del suo uso, e della sua sicurezza, come questo libro.

Che sia per il Raspberry Pi e il Raspbian, o per una macchina più generica, Apache è quindi una scelta sicura, e le competenze che potrete acquisire sull’argomento saranno sempre utili.

Installazione Apache

Prima di installare il server, assicuratevi di avere una macchina aggiornata. Per fare questo dobbiamo avere i diritti di amministratore, sia per il comando sudo.

sudo apt update
sudo apt upgrade
sudo apt update

Una volta che il Raspberry Pi sarà aggiornato, installeremo il server Apache.

sudo apt install apache2

A proposito, ne approfitteremo per dare i diritti al file apache che potrete gestire facilmente i vostri siti. Per fare questo, eseguire i seguenti comandi:

sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/

Controllare se Apache funziona

Una volta completata l’installazione, possiamo verificare che Apache funzioni correttamente andando all’indirizzo di Raspberry.
Per fare questo, è necessario provare ad accedere al Raspberry dalla porta 80 (questa porta non essendo aperta dall’esterno, dovrà farlo dal momento che il Raspberry stesso). Non preoccupatevi, è molto semplice. Basta aprire il browser web del Raspberry e andare su “http://127.0.0.1”. Si dovrebbe poi ottenere una pagina con un messaggio del tipo “Funziona! “E un sacco di altro testo”.
Se non avete già un’interfaccia grafica sul vostro Raspbian, o usate SSH per connettervi al vostro Raspberry, potete usare il seguente comando:

wget -O check_apache.html http://127.0.0.1

Questo comando salverà il codice HTML della pagina nel file “check_apache.html” nella directory corrente.
Quindi basta leggere il file con il comando

cat ./check_apache.html

Se vedete segnato in un punto del codice “Funziona! ” è che Apache sta funzionando.

Apache usa la directory “/var/wwwww/html” come root per il vostro sito. Questo significa che quando chiamate il vostro Raspberry sulla porta 80 (http), Apache cerca il file in “/var/wwww/html”.
Per esempio, se chiamate l’indirizzo “http://127.0.0.1/example”, Apache cercherà il file “esempio” nella directory “/var/wwww/html”.
Per aggiungere nuovi file, siti, ecc. dovrete aggiungerli a questa directory.

Ora potete usare il vostro Raspberry per creare un sito in HTML, CSS e JavaScript, internamente.
Tuttavia, si consiglia di consentire rapidamente le interazioni tra il sito e l’utente. Ad esempio, per consentire all’utente di registrarsi, ecc. Per questo, avrete bisogno di PHP.

Installazione PHP sul vostro Raspberry Pi

Che cos’è il PHP?

Prima di tutto, dovete sapere che il PHP è un linguaggio interpretato. E come nel caso dei server, l’acronimo PHP può avere diversi significati. Infatti, quando si parla di PHP, si può parlare sia del linguaggio che dell’interprete.
Qui, quando si parla di installazione di PHP, significa che si installerà l’interprete, per poter utilizzare il linguaggio.

Il PHP (questa volta il linguaggio) è usato principalmente per rendere dinamico un sito, cioè l’utente invia informazioni al server che restituisce i risultati modificati in base a queste informazioni. Al contrario, un sito statico non si adatta alle informazioni fornite da un utente. Viene salvato come file una volta per tutte e fornisce sempre lo stesso contenuto.

PHP è gratuito, e mantenuto dalla PHP Foundation, così come da Zend Enterprise, e da varie altre aziende (va notato che Zend è anche l’autore del famoso framework Zend PHP, ampiamente utilizzato e riconosciuto nel mondo del ” business “).

È uno dei linguaggi di programmazione più utilizzati, ed è anche il più utilizzato per la programmazione web, con circa il 79- di quota di mercato.

Anche in questo caso, tutte le competenze che si possono acquisire, sul linguaggio, o sull’installazione e configurazione dell’interprete, saranno sempre utili. Quindi non possiamo che consigliarvi di imparare il PHP, che è davvero un linguaggio meraviglioso e troppo spesso sottovalutato.

Come installare PHP su Raspberry PI

Useremo di nuovo l’amministratore per installare PHP con la riga di comando.

sudo apt install php php-mbstring

Controllare se il PHP funziona

Per sapere se PHP funziona correttamente, non è molto complicato, e il metodo è abbastanza simile a quello usato per Apache.

Si cancellerà prima il file “index.html” nella directory “/var/wwwww/html”.

sudo rm /var/www/html/index.html

Quindi creare un file "index.php" in questa directory, con questa riga di comando

echo "<?php phpinfo ();?>" > /var/www/html/index.php

Da lì, l’operazione è la stessa del controllo Apache. Provate ad accedere alla vostra pagina, e dovreste avere un risultato vicino a questa immagine (se non avete un’interfaccia, usate lo stesso metodo di prima, e cercate le parole “PHP Version”).

Tabella generata dal comando phpinfo su Raspberry

Un database MySQL per il vostro server

Un DBMS che cos’è? Perché MySQL?

Ora che abbiamo impostato PHP, probabilmente vorrete memorizzare le informazioni per l’uso nei vostri siti. A questo scopo, i database sono utilizzati più spesso.
Per questo motivo creeremo un DBMS (Database Management System), ovvero MySQL.

MySQL è un DBMS gratuito, potente e molto utilizzato (circa il 56- della quota di mercato dei DBMS gratuiti). Anche in questo caso, MySQL è così essenziale per lo sviluppo, qualunque sia il linguaggio, che dovete assolutamente impararlo e padroneggiarlo, con questo libro per esempio.

Come installare MySQL

Per fare questo, installeremo mariadb-server e php-mysql (che servirà come collegamento tra php e mysql)

sudo apt install mariadb-server php-mysql

Verificare che MySQL funzioni correttamente

Per verificare il funzionamento di MySQL, questa volta useremo solo la riga di comando. Per farlo, ci collegheremo semplicemente tramite il comando:

sudo mysql --user=root

Non cancelleremo l’utente root mysql di default e creeremo un nuovo utente root mysql, perché quello di default può essere usato solo con l’account root di Linux, e quindi non è disponibile per il webserver e gli script php.

Per fare ciò, una volta che ci si connette a MySQL, è sufficiente eseguire i comandi (sostituire la password con quella desiderata) :

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Così ora avete un server web, collegato a PHP e MySQL. Questo è tutto ciò che serve.

(Sulle vostre connessioni nexts, sarete in grado di connettervi a mysql senza usare sudo, con il comando mysql –user=root –password=yourmysqlpassword).

Aggiungere PHPMyAdmin

L'installazione di PHPMyAdmin non è assolutamente necessaria. In questa installazione, non ci occuperemo di particolari impostazioni di sicurezza!

L’installazione di PHPMyAdmin è abbastanza facile e veloce, dobbiamo semplicemente utilizzare il gestore dei pacchetti con questo comando :

sudo apt install phpmyadmin

Il programma di installazione di PHPMyAdmin vi farà qualche domanda. Per quanto riguarda la parte dbconfig-common, scegliete di non usarlo (dato che abbiamo già configurato il nostro database). Riguardo al server per il quale configurare PHPMyAdmin, scegliete Apache. E la password di root è quella impostata per MySQL.

Si dovrebbe anche abilitare l’estensione mysql usando il comando di cui sopra :

Controllare che PHPMyAdmin funzioni correttamente

Per verificare che PHPMyAdmin funzioni, provate semplicemente ad accedervi, utilizzando l’indirizzo del vostro Raspberry seguito da /phpmyadmin. Ad esempio, localmente sarà http://127.0.0.1/phpmyadmin

Se si ottiene ancora un errore, potrebbe essere perché PHPMyAdmin si è spostato in un’altra directory. In questo caso, provare il comando

sudo ln -s /usr/share/phpmyadmin /var/wwww/html/phpmyadmin
Ora, possiamo accedere a PHPMyAdmin dal browser di Raspberry Pi, con l'url : http://127.0.0.1/phpmyadmin

Rendere un server accessibile dal web

Il vostro server web è pronto. Tuttavia, probabilmente non è possibile accedervi da internet. Infatti, sarebbe necessario che il vostro modem reindirizzi le richieste al vostro Raspberry, le porte buone.
Per mettere in atto questi reindirizzamenti, e anche per ottenere un URL, dovreste guardare a DynDNS e al port forwarding !


Per ulteriori informazioni visita il sito: immagi.net

Condividi questo articolo: