Server e reti

Server LAMP su Raspberry PI

Installiamo Apache2, MySQL, PHP7 e phpMyAdmin su Raspbian, realizzando di fatto un vero e proprio server web.

La seguente guida vi accompagnerà nell’installazione di una suite di software che vi permetterà di ottenere con facilità un server web sicuro, performante e stabile. L’acronimo LAMP si può infatti scomporre negli ingredienti necessari: Linux, Apache, MySQL e PHP. In aggiunta, installeremo l’applicativo web phpMyAdmin, che permette di gestire il server MySQL tramite un’interfaccia grafica semplificata.

Prima di tutto aggiorniamo l’elenco dei pacchetti disponibili:

sudo apt update

La prima cosa di cui abbiamo bisogno è apache2, il software che gestisce il server HTTP. Con il seguente comando installiamo l’applicativo:

sudo apt install apache2 -y

Possiamo verificare che l’installazione sia andata a buon fine visitando con un browser il server appena installato, aprendo uno dei due seguenti indirizzi (entrambi puntano al vostro stesso computer):

La pagina visualizzata corrisponde al file /var/www/html/index.html.

Ora possiamo procedere con l’installazione di PHP, del modulo per Apache e dell’estensione per MySQL (verrà installata la versione di PHP più recente disponibile nei repository della vostra distribuzione):

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

Al termine è necessario riavviare il server Apache:

sudo systemctl restart apache2

Per verificare il corretto funzionamento creiamo con l’editor nano una pagina dinamica PHP:

sudo nano /var/www/html/prova.php

e scriviamo all’interno della pagina:

<?php phpinfo(); ?>

Per salvare premiamo Ctrl+O seguito da Invio, poi Ctrl+X per uscire da nano. Visitando ora uno dei seguenti indirizzi vedremo la pagina di informazioni sulla configurazione di PHP:

Attenzione: questa pagina espone molte informazioni sul sistema. Terminata la verifica, è consigliabile eliminarla:

sudo rm /var/www/html/prova.php

Ora procediamo con l’installazione del server MySQL:

sudo apt install mysql-server -y

Avviamo quindi la procedura guidata di messa in sicurezza di MySQL. Verrà chiesto se attivare il controllo sulla robustezza delle password e se rimuovere utenti anonimi, accesso remoto di root e database di test: salvo esigenze particolari, conviene rispondere affermativamente a tutte le domande.

sudo mysql_secure_installation

Nota: nelle versioni recenti di Ubuntu l’utente root di MySQL si autentica tramite l’utente di sistema, quindi per accedere come root basta digitare sudo mysql, senza password.

Al termine della procedura guidata installiamo phpMyAdmin:

sudo apt install phpmyadmin -y

Durante l’installazione verranno poste alcune domande:

  • alla scelta del server web, selezionare apache2 premendo la barra spaziatrice (deve comparire un asterisco), poi confermare con Invio;
  • alla domanda sulla configurazione del database con dbconfig-common, rispondere Sì;
  • infine verrà richiesta la password per l’utente MySQL di nome phpmyadmin: sceglietene una e ricordatela.

Se durante l’installazione non avete selezionato apache2, potete abilitare manualmente la configurazione di phpMyAdmin con i seguenti comandi:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo systemctl reload apache2

A questo punto con il nostro browser possiamo visitare uno dei seguenti indirizzi:

Se abbiamo eseguito tutto correttamente ci ritroveremo alla schermata di login di phpMyAdmin. Le credenziali sono le seguenti:

  • utente: phpmyadmin
  • password: quella digitata durante l’installazione di phpMyAdmin

L’utente phpmyadmin ha permessi limitati. Se abbiamo bisogno di operare su phpMyAdmin come amministratore è utile creare un nuovo utente. Accediamo a MySQL come root:

sudo mysql

e digitiamo:

CREATE USER 'NOME'@'localhost' IDENTIFIED BY 'PASSWORD';

sostituendo ovviamente NOME e PASSWORD con i vostri dati (la password deve rispettare i criteri di robustezza scelti durante mysql_secure_installation). Ora assegniamo a questo nuovo utente i permessi di amministrazione con:

GRANT ALL PRIVILEGES ON *.* TO 'NOME'@'localhost' WITH GRANT OPTION;

sostituendo nuovamente NOME con il nome utente scelto in precedenza. Per uscire da MySQL basterà digitare:

exit

Come ultima cosa: di default PHP impone un limite alla dimensione dei file caricati sul server, e ciò può essere scomodo nel caso in cui volessimo importare in phpMyAdmin un database già esistente. Per aumentare questo limite dobbiamo modificare il file php.ini di Apache. Il percorso dipende dalla versione di PHP installata, che possiamo scoprire con:

php -v

Ad esempio, con PHP 8.3 il file da modificare sarà:

sudo nano /etc/php/8.3/apache2/php.ini

Cerchiamo (con Ctrl+W) le righe

upload_max_filesize = 2M
post_max_size = 8M

e modifichiamole in

upload_max_filesize = 20M
post_max_size = 25M

(il valore di post_max_size deve essere maggiore o uguale a quello di upload_max_filesize). Salviamo con Ctrl+O, usciamo con Ctrl+X e riavviamo Apache per applicare le modifiche:

sudo systemctl restart apache2

A questo punto abbiamo terminato e possiamo sfruttare il nostro nuovo server LAMP per sperimentare o per installare CMS come WordPress o Joomla!

Admin | MST-Tutorial

Appassionato di elettronica, elettrotecnica e programmazione. Fondatore di MST-Tutorial, condivido con entusiasmo conoscenze, esperienze e progetti legati all’innovazione tecnologica, con l’obiettivo di rendere accessibili concetti tecnici complessi attraverso tutorial chiari e pratici.
Pulsante per tornare all'inizio