Costruisci un Raspberry Pi LAMP Stack Web Server con PHPMyAdmin e Filezilla

AVVERTENZA Non suggeriamo a nessuno di provare a far funzionare un sito web pubblico su un Raspberry Pi, o su qualsiasi server da casa o da ufficio. Non abbiamo fatto alcun tentativo di rendere il server web sicuro in quanto non era un problema per il nostro progetto. Sarebbero necessarie ulteriori ricerche per indurire lo stack LAMP prima che il server possa essere esposto su internet.

Installare Linux

  • Installare il sistema operativo Raspbian (basato su Debian Linux)
  • Utilizzare l’interfaccia utente per impostare una password di accesso e disabilitare il login automatico
  • Utilizzare l’interfaccia utente per impostare un indirizzo IP fisso e un nome host personalizzato
  • Riavviare ed effettuare il login con la nuova password
  • Aggiornare con sudo apt-get update e sudo apt-get dist-upgrade (un buon momento per andare a fare una tazza di tè perché ci vuole un po’ di tempo)
  • Un ultimo riavvio perché uno o più degli aggiornamenti è destinato a richiederlo

Installare Apache

sudo apt-get install apache2 -y

Testare localmente aprendo il browser web del Pi e visitando http://localhost/ e opzionalmente testando anche attraverso un computer in rete visitando http://your-pi’s-ip-address

I file saranno memorizzati in /var/www/html/ – per rendere la vita facile ho dato a tutti gli utenti accesso in scrittura a questa cartella:

sudo chmod -R 777 /var/www/html

Sapremo se questo ha funzionato quando testeremo il PHP nel prossimo passo.

Installa PHP

sudo apt-get install php libapache2-mod-php -y

Puoi testare il PHP sostituendo il file index.html di default con un file index.php (suggerisci che contenga phpinfo();) in /var/www/html – se trovi che non puoi cancellare, creare o modificare i file in questa cartella, controlla di aver impostato i permessi nel passo precedente

TIP Finora il processo è stato a prova di errore, ma ho scoperto che configurare correttamente MySQL e i suoi utenti è un processo un po’ per tentativi ed errori. Ci sono voluti diversi tentativi per arrivare al sistema qui sotto – che potrebbe non essere giusto per voi o ancora corretto nel momento in cui leggerete questo. Questo potrebbe essere un buon momento per fare un’immagine della scheda SD del vostro Pi in modo da poter sperimentare e tornare rapidamente a questo passo se necessario.

Installare MySQL Server

sudo apt-get install mysql-server php-mysql -y

L’installazione non chiede più una password per root, invece è necessario eseguire

sudo mysql_secure_installation

e rispondere ad alcune domande. Ricorda che qui abbiamo a che fare con l’utente root di MySQL e non con l’utente root di Linux, quindi puoi usare password diverse se vuoi, basta che tieni un buon registro.

Riavvia Apache:

sudo service apache2 restart

Ora prova ad accedere a MySQL come nuovo utente root inserendo la password che hai appena impostato quando richiesto:

mysql -u root -p

Se il tuo accesso è negato, allora dovrai eseguire i seguenti passi aggiuntivi.

Prima usa sudo per accedere a MySQL:

sudo mysql -u root

Accedi alla tabella MySQL:

 USE mysql;

E ora la parte magica:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

allora

FLUSH PRIVILEGES;

ora

quit

e

service mysql restart

poi prova ad accedere di nuovo come sopra – cioè senza usare sudo. Se non riuscite a entrare iniziate a cercare su Google – non andate avanti finché non avete risolto questo passo.

Installa PHPMyAdmin (opzionale)

Potresti non averne bisogno, ma per il mio progetto ho deciso di installare l’interfaccia grafica di amministrazione di MySQL che mi è più familiare – PHPMyAdmin.

sudo apt-get install phpmyadmin

(conferma che vuoi continuare, seleziona il server apache2, clicca sì per la configurazione del pacchetto, FORNISCI UNA PASSWORD e registrala. Se lasci la password in bianco te ne crea una a caso ma, per quanto ne so, non ti dice mai qual è!

Modifica il file /etc/apache2/apache2.conf aggiungendo la linea

include /etc/phpmyadmin/apache.conf

alla fine del file.

Riavvia Apache:

sudo /etc/init.d/apache2 restart

Prova visitando http://localhost/phpmyadmin e accedendo con il nome utente phpmyadmin e la password che hai fornito durante la configurazione.

Installare Filezilla FTP Client (opzionale)

Ci sono molti modi per gestire l’FTP ma io ho scelto di attenermi a ciò che conosco e installare Filezilla:

sudo apt-get install filezilla

Il passo più importante!

Una volta che sei soddisfatto che tutto funzioni assicurati di fare un’immagine della scheda SD in modo da poter recuperare rapidamente da qualsiasi problema. Le schede SD non sono molto robuste o longeve, quindi aspettatevi che si guastino e pianificate di conseguenza. Ti ringrazierai per questo!

Conclusione

Con l’eccezione dell’installazione di MySQL il processo è incredibilmente veloce e facile. Il server risultante è affidabile e più che capace di eseguire lo strumento di amministrazione basato su WordPress che volevamo portare in casa. Il server web basato su Pi ora si trova accanto al nostro drive NAS basato su Pi e ci stiamo chiedendo cosa possiamo costruire dopo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.