Server LAMP · 6 min read · Feb 02, 2026

Tutorial del Server LAMP Debian 9 con Apache, PHP 7 e MariaDB

LAMP è l’acronimo di Linux, Apache, MySQL, PHP. Questo tutorial mostra come installare un server web Apache su un server Debian Stretch (9) con supporto per PHP 7 (mod_php) e MariaDB. MariaDB è un fork del noto server di database MySQL, fornisce un set di funzionalità compatibile con MySQL ed è un po’ più veloce secondo i benchmark che ho trovato su internet. MariaDB funzionerà con tutte le applicazioni che richiedono MySQL come Wordpress, Joomla, ecc.

Un’installazione LAMP è una base perfetta per sistemi CMS come Joomla, Wordpress o Drupal.

1 Nota Preliminare

In questo tutorial, utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.1.100. Queste impostazioni potrebbero differire per te, quindi dovrai sostituirle dove appropriato.

2 Installazione di MariaDB come sostituto di MySQL

Per prima cosa, installiamo MariaDB in questo modo:

apt-get -y install mariadb-server mariadb-client

Successivamente, proteggeremo MariaDB con il comando mysql_secure_installation. Esegui il comando qui sotto e segui la procedura guidata.

mysql_secure_installation

L’input raccomandato è mostrato in rosso.

mysql_secure_installation
NOTE: ESEGUIRE TUTTE LE PARTI DI QUESTO SCRIPT È RACCOMANDATO PER TUTTI I SERVER MariaDB IN USO PRODUTTIVO! PER FAVORE LEGGI ATTENTAMENTE OGNI PASSO!
Per accedere a MariaDB per proteggerlo, avremo bisogno della password attuale per l'utente root. Se hai appena installato MariaDB e non hai ancora impostato la password di root, la password sarà vuota, quindi dovresti semplicemente premere invio qui.
Inserisci la password attuale per root (invio per nessuna): <-- Premi invio
OK, password utilizzata con successo, procedendo...
Impostare la password di root garantisce che nessuno possa accedere all'utente root di MariaDB senza la corretta autorizzazione.
Impostare la password di root? [Y/n] <-- y
Nuova password: <-- Inserisci la nuova password per l'utente root di MariaDB
Reinserisci la nuova password: <-- Reinserisci la password
Password aggiornata con successo!
Ricaricamento delle tabelle dei privilegi..
... Successo!
Per impostazione predefinita, un'installazione di MariaDB ha un utente anonimo, che consente a chiunque di accedere a MariaDB senza dover avere un account utente creato per loro. Questo è destinato solo per test e per rendere l'installazione un po' più fluida. Dovresti rimuoverli prima di passare a un ambiente di produzione.
Rimuovere gli utenti anonimi? [Y/n] <-- y
... Successo!
Normalmente, root dovrebbe essere autorizzato a connettersi solo da 'localhost'. Questo garantisce che qualcuno non possa indovinare la password di root dalla rete.
Negare l'accesso remoto a root? [Y/n] <-- y
... Successo!
Per impostazione predefinita, MariaDB viene fornito con un database chiamato 'test' a cui chiunque può accedere. Questo è anche destinato solo per test e dovrebbe essere rimosso prima di passare a un ambiente di produzione.
Rimuovere il database di test e l'accesso ad esso? [Y/n] <-- y
- Rimozione del database di test...
... Successo!
- Rimozione dei privilegi sul database di test...
... Successo!
Ricaricare le tabelle dei privilegi garantirà che tutte le modifiche apportate finora abbiano effetto immediato.
Ricaricare le tabelle dei privilegi ora? [Y/n] <-- y
... Successo!
Pulizia in corso...
Tutto fatto! Se hai completato tutti i passaggi sopra, la tua installazione di MariaDB dovrebbe ora essere sicura.
Grazie per aver utilizzato MariaDB!

La configurazione di MariaDB è ora sicura.

3 Installazione del server web Apache

Apache è disponibile come pacchetto Debian, quindi possiamo installarlo in questo modo:

apt-get -y install apache2

Ora indirizza il tuo browser a http://192.168.1.100, e dovresti vedere la pagina segnaposto di Apache2 (Funziona!):

Pagina predefinita di Apache su Debian 9

La radice del documento predefinita di Apache è /var/www su Debian, e il file di configurazione è /etc/apache2/apache2.conf. Le configurazioni aggiuntive sono memorizzate nelle sottodirectory della directory /etc/apache2 come /etc/apache2/mods-enabled (per i moduli Apache), /etc/apache2/sites-enabled (per gli host virtuali) e /etc/apache2/conf-enabled.

4 Installazione di PHP 7.1

Possiamo installare PHP e il modulo PHP di Apache come segue:

apt-get -y install php7.0 libapache2-mod-php7.0

Dobbiamo riavviare Apache dopo:

service apache2 restart

5 Testare PHP / Ottenere dettagli sulla tua installazione di PHP

La radice del documento del sito web predefinito è /var/www/html. Ora creeremo un piccolo file PHP (info.php) in quella directory e lo chiameremo in un browser. Il file mostrerà molti dettagli utili sulla nostra installazione di PHP, come la versione di PHP installata.

nano /var/www/html/info.php

Ora chiamiamo quel file in un browser (ad es. http://192.168.1.100/info.php):

PHP installato su Debian 9 in Apache

Come puoi vedere, PHP 7.0 sta funzionando, e sta funzionando attraverso il gestore Apache 2.0, come mostrato nella riga Server API. Se scorri più in basso, vedrai tutti i moduli che sono già abilitati in PHP5. MySQL / MariaDB non è elencato lì, il che significa che non abbiamo ancora il supporto per MySQL in PHP5.

6 Ottenere supporto per MySQL e MariaDB in PHP

Per ottenere il supporto per MySQL in PHP, installeremo il pacchetto php7.0-mysql. È una buona idea installare anche alcuni altri moduli PHP poiché potresti averne bisogno per le tue applicazioni. Puoi cercare i moduli PHP 7 disponibili in questo modo:

apt-cache search php7.0

Scegli quelli di cui hai bisogno e installali in questo modo:

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl

Ora riavvia Apache:

service apache2 restart

7 Cache PHP per migliorare la velocità di PHP

Per velocizzare PHP, dovrebbe essere installato un Opcache. Controlla se il modulo PHP Opcache è stato installato e abilitato correttamente. Esegui questo comando:

php --version

L’output dovrebbe contenere la riga che ho contrassegnato in rosso.

PHP 7.0.27-0+deb9u1 (cli) (built: Jan 5 2018 13:51:52) ( NTS )  
Copyright (c) 1997-2017 The PHP Group  
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies  
with Zend OPcache v7.0.27-0+deb9u1, Copyright (c) 1999-2017, by Zend Technologies

Se non vedi il modulo Opcache nel risultato, installalo con questo comando:

apt-get -y install php7.0-opcache

C’è un’altra cache che potrebbe essere utile, si chiama APCu. APCu è un cache opcode PHP gratuito per memorizzare nella cache e ottimizzare il codice intermedio PHP.

APCu può essere installato come segue:

apt-get -y install php-apcu

Ora riavvia Apache:

service apache2 restart

Ora ricarica http://192.168.1.100/info.php nel tuo browser e scorri di nuovo fino alla sezione dei moduli. Dovresti ora trovare molti nuovi moduli lì, incluso il modulo MySQL che viene utilizzato come driver MariaDB:

Supporto MySQL abilitato in PHP 7

8 phpMyAdmin

phpMyAdmin è un’interfaccia web attraverso la quale puoi gestire i tuoi database MySQL e MariaDB. È una buona idea installarlo:

apt-get -y install phpmyadmin

Vedrai le seguenti domande:

Configura phpMyAdmin per Apache

Web server da riconfigurare automaticamente: <-- apache2
Configurare il database per phpmyadmin con dbconfig-common?<-- Sì
Password dell'applicazione MySQL per phpmyadmin: <-- Premi invio, apt creerà automaticamente una password casuale.

Dopo, puoi accedere a phpMyAdmin all’indirizzo http://192.168.1.100/phpmyadmin/:

PHPMyAdmin su Debian 9

9 Abilitare il login root di MySQL per phpMyAdmin

Mentre puoi accedere come utente root in MariaDB nella shell, il login root non funzionerà in phpMyAdmin. Per consentire all’utente root di utilizzare anche phpMyAdmin, esegui il seguente comando nella shell:

echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p

10 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.