Server WEB + SQL con RaspberryPI OS (2022)
Come attivare un server LAMP con RaspberryPI OS
Un sistema LAMP è un gruppo di pacchetti software opensource, basati su GNU Linux, per l’attivazione e gestione di un vero e proprio server WEB composto da Apache, SQL e PHP.
In questa guida, aggiornata ad agosto 2022, viene mostrata la procedura per l’installazione e configurazione di tale sistema su RaspberryPI OS. Tale operazione permette infinite possibilità tra cui ospitare un sito web domestico o interfacciarsi con sistemi IoT esterni per la gestione e la raccolta dati.
L’unica operazione preliminare da mettere in atto è la verifica dello stato degli aggiornamenti del sistema operativo con i comandi:
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y
A questo punto possiamo iniziare con l’installazione del modulo Apache:
sudo apt-get install apache2 -y
Possiamo verificare la corretta installazione visitando con un browser il nostro server appena installato. Per far questo basterà visitare uno dei due seguenti url. In alternativa è possibile inserire come url l’indirizzo ip locale del dispositivo.
La pagina visualizzata è raggiungibile al seguente url: /var/www/html/index.html
Ora possiamo procedere con l’installazione di PHP (con il seguente comando verrà installata la versione più recente di PHP):
sudo apt-get install php -y
Al termine è necessario riavviare il server apache
sudo service apache2 restart
Possiamo quindi procedere all’installazione del server MariaDB con il comando
sudo apt install mariadb-server mariadb-client
Seguito poi dall’istruzione necessaria alla configurazione del server.
sudo mysql_secure_installation
In questo passaggio verrà chiesto di impostare la password di root del server. Estremamente importante ricordarsela. Le altre opzioni, salvo esigenze particolari possono essere lasciate come da default.
sudo mysql_secure_installation
Al termine della procedura guidata installiamo phpMyAdmin. Durante la fase di installazione verrà richiesto l’inserimento della password per l’utente mysql avente nome phpmyadmin.
sudo apt-get install phpmyadmin -y
Ora è necessario editare il file apache2.conf
sudo nano /etc/apache2/apache2.conf
e, una volta raggiunto la fine del file di testo, aggiungiamo:
Include /etc/phpmyadmin/apache.conf
per salvare il documento ci basterà utilizzare il tasto F2.
A questo punto con il nostro browser possiamo recarci ad uno dei seguenti link:
Se abbiamo eseguito tutto correttamente ci ritroveremo alla schermata di login di phpMyAdmin. Le credenziali sono le seguenti:
- user: phpmyadmin
- pass: quella digitata durante l’installazione di phpMyAdmin
Se necessitiamo invece di operare su phpMyAdmin come amministratore è utile creare una nuova utenza digitando il comando
sudo mysql -uroot -ppassword
digitare poi
create user NOME identified by 'PASSWORD';
sostituendo ovviamente NOME e PASSWORD con i vostri dati. Ora abilitiamo su questo nuovo utente i permessi di amministrazione con:
GRANT ALL PRIVILEGES ON *.* TO 'NOME' WITH GRANT OPTION;
sostituendo nuovamente NOME con il vostro nick scelto in precedenza. Per uscire da mysql basterà digitare
exit
Come ultima cosa, di default PHP prevede un limite per i file in upload sul server SQL e ciò può esser scomodo nel caso in cui volessimo importare un server già esistente. Per bypassare questo limite possiamo editare il file /etc/php/7.0/apache2/php.ini
sudo nano /etc/php/7.0/apache2/php.ini
cercare la riga
upload_max_filesize = 2M
e cambiarla in
upload_max_filesize = 20M
Con questo ultimo step abbiamo concluso la configurazione del nostro sistema LAMP. Possiamo quindi procedere con l’installazione di un CMS (quale WordPress o Joomla!), oppure creare delle pagine web personalizzate, oppure permettere a nostri sistemi esterni IoT di collegarsi al server SQL appena impostato.