phpMyAdmin · 6 min read · Oct 22, 2025
Come installare e proteggere l'ultima versione di phpMyAdmin su Debian 12

phpMyAdmin è uno strumento di amministrazione gratuito basato sul web utilizzato per gestire database MySQL e MariaDB, ampiamente utilizzato nei sistemi Debian Linux. Fornisce un’interfaccia user-friendly per interagire con i database, consentendo agli utenti di eseguire query SQL, gestire tabelle di database, importare ed esportare dati e configurare varie impostazioni del database senza dover utilizzare la riga di comando. Su Debian Linux, phpMyAdmin è spesso installato insieme a uno stack LAMP (Linux, Apache, MySQL/MariaDB, PHP), rendendo più facile per gli amministratori e gli sviluppatori gestire le operazioni sui database in modo più visivo e organizzato.
In questo tutorial, ti mostrerò come installare e proteggere lo strumento di amministrazione del database phpMyAdmin su Debian 12.
Prerequisiti
Un server che esegue Debian 12.
Una password di root configurata sul server.
Iniziare
Prima di iniziare, è una buona idea aggiornare i pacchetti del sistema all’ultima versione. Puoi aggiornare tutti i pacchetti utilizzando il seguente comando:
apt update -yUna volta aggiornato il sistema, puoi procedere al passaggio successivo.
Installa il server LAMP
phpMyAdmin è un’applicazione basata su PHP che gira su un server web. Quindi, dovrai installare il server LAMP sul tuo server. Puoi installarlo utilizzando il seguente comando:
apt install apache2 mariadb-server libapache2-mod-php php-cli php-mysql php-zip php-curl php-xml php-mbstring php-zip php-gd unzip -yUna volta installati tutti i pacchetti, puoi procedere al passaggio successivo.
Installa e configura phpMyAdmin
Per prima cosa, scarica l’ultima versione di phpMyAdmin dal loro sito ufficiale utilizzando il seguente comando:
wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zipUna volta completato il download, decomprimi il file scaricato con il seguente comando:
unzip phpMyAdmin-5.2.1-all-languages.zipSuccessivamente, sposta la directory estratta in /usr/share con il seguente comando:
mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadminSuccessivamente, crea la directory necessaria con il seguente comando:
mkdir -p /var/lib/phpmyadmin/tmpSuccessivamente, imposta la proprietà corretta sulla directory di phpMyAdmin:
chown -R www-data:www-data /var/lib/phpmyadminSuccessivamente, copia il file di configurazione di esempio di phpMyAdmin:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.phpSuccessivamente, installa pwgen e genera una chiave segreta con il seguente comando:
apt-get install pwgen -y
pwgen -s 32 1Output:
pau9t1SG6lmaeCFxKqeeaY5N4erIa25K
Successivamente, modifica il file config.inc.php e configurarlo:
nano /usr/share/phpmyadmin/config.inc.phpDefinisci la tua chiave segreta e decommenta le seguenti righe:
$cfg['blowfish_secret'] = 'pau9t1SG6lmaeCFxKqeeaY5N4erIa25K'; /* DEVI COMPILARE QUESTO PER L'AUTENTICAZIONE COOKIE! */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'password';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['TempDir'] = '/var/lib/phpmyadmin/tmp';
Salva e chiudi il file quando hai finito.
Crea un utente amministratore per phpMyAdmin
È sempre consigliato creare un utente separato per gestire il database tramite phpMyAdmin.
Per prima cosa, importa le tabelle di phpMyAdmin nel database MariaDB utilizzando il seguente comando:
mysql < /usr/share/phpmyadmin/sql/create_tables.sqlSuccessivamente, connettiti alla shell di MariaDB con il seguente comando:
mysqlUna volta connesso, concedi tutti i privilegi necessari al database phpmyadmin con il seguente comando:
MariaDB [(none)]> GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'password';Successivamente, crea un utente amministratore con il seguente comando:
MariaDB [(none)]> CREATE USER myadmin;Successivamente, concedi tutti i privilegi all’utente amministratore con il seguente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'myadmin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;Successivamente, svuota i privilegi ed esci dalla shell di MariaDB utilizzando il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per phpMyAdmin
Successivamente, devi creare un file di configurazione del virtual host di Apache per phpMyAdmin. Puoi crearlo utilizzando il seguente comando:
nano /etc/apache2/conf-available/phpmyadmin.confAggiungi le seguenti righe:
Alias /phpmyadmin /usr/share/phpmyadmin
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpseclib/
php_admin_value mbstring.func_overload 0
# Autorizza per la configurazione
AuthType Basic
AuthName "Configurazione phpMyAdmin"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
Require valid-user
# Negare l'accesso web a directory che non ne hanno bisogno
Require all denied
Require all denied
Require all denied
Salva e chiudi il file quando hai finito, quindi abilita il file di configurazione di phpMyAdmin con il seguente comando:
a2enconf phpmyadmin.confSuccessivamente, ricarica il servizio Apache per applicare le modifiche:
systemctl reload apache2Puoi controllare lo stato del servizio Apache utilizzando il seguente comando:
systemctl status apache2Dovresti vedere il seguente output:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2024-08-25 11:28:21 UTC; 5s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 23021 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 23031 (apache2)
Tasks: 6 (limit: 2341)
Memory: 14.6M
CPU: 89ms
CGroup: /system.slice/apache2.service
??45031 /usr/sbin/apache2 -k start
??45032 /usr/sbin/apache2 -k start
??45033 /usr/sbin/apache2 -k start
??45034 /usr/sbin/apache2 -k start
??45035 /usr/sbin/apache2 -k start
??45036 /usr/sbin/apache2 -k start
Sun 25 11:28:21 debian systemd[1]: Starting The Apache HTTP Server...
Accedi a phpMyAdmin
A questo punto, phpMyAdmin è installato e configurato. Ora, apri il tuo browser web e accedi a phpMyAdmin utilizzando l’URL http://your-server-ip/phpmyadmin. Dovresti vedere la pagina di accesso di phpMyAdmin:

Fornisci il tuo nome utente amministratore, password e fai clic sul pulsante Vai. Dovresti vedere il dashboard di phpMyAdmin nella pagina successiva:

Proteggi phpMyAdmin
È una buona idea proteggere phpMyAdmin con l’autenticazione a due fattori. Puoi farlo utilizzando le funzionalità di autenticazione e autorizzazione di .htaccess.
Per prima cosa, modifica il file di configurazione di phpMyAdmin:
nano /etc/apache2/conf-available/phpmyadmin.confAggiungi la riga “AllowOverride All” nel seguente blocco del server:
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
Salva e chiudi il file quando hai finito, quindi riavvia il servizio Apache:
systemctl restart apache2Successivamente, crea un file .htaccess e definisci il tipo di autenticazione di Apache:
nano /usr/share/phpmyadmin/.htaccessAggiungi le seguenti righe:
AuthType Basic
AuthName "File Riservati"
AuthUserFile /usr/share/phpmyadmin/.htpasswd
Require valid-user
Salva e chiudi il file, quindi crea un utente con il seguente comando:
htpasswd -c /usr/share/phpmyadmin/.htpasswd secureuserTi verrà chiesto di impostare una password come mostrato di seguito:
Nuova password:
Re-inserisci la nuova password:
Aggiunta della password per l'utente secureuser
Verifica phpMyAdmin
A questo punto, phpMyAdmin è protetto con un’autenticazione aggiuntiva. Per verificarlo, apri il tuo browser web e accedi a phpMyAdmin utilizzando l’URL http://your-server-ip/phpmyadmin. Ti verrà chiesto di fornire il nome utente e la password aggiuntivi come mostrato di seguito:

Dopo aver fornito il tuo nome utente e password, verrai reindirizzato alla normale pagina di accesso di phpMyAdmin.
Conclusione
Congratulazioni! Hai installato e protetto con successo phpMyAdmin su Debian 12. Ora puoi esplorare phpMyAdmin e gestire il tuo database dal browser web.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.