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 -y

Una 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 -y

Una 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.zip

Una volta completato il download, decomprimi il file scaricato con il seguente comando:

unzip phpMyAdmin-5.2.1-all-languages.zip

Successivamente, sposta la directory estratta in /usr/share con il seguente comando:

mv phpMyAdmin-5.2.1-all-languages /usr/share/phpmyadmin

Successivamente, crea la directory necessaria con il seguente comando:

mkdir -p /var/lib/phpmyadmin/tmp

Successivamente, imposta la proprietà corretta sulla directory di phpMyAdmin:

chown -R www-data:www-data /var/lib/phpmyadmin

Successivamente, copia il file di configurazione di esempio di phpMyAdmin:

cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Successivamente, installa pwgen e genera una chiave segreta con il seguente comando:

apt-get install pwgen -y  
pwgen -s 32 1

Output:

pau9t1SG6lmaeCFxKqeeaY5N4erIa25K

Successivamente, modifica il file config.inc.php e configurarlo:

nano /usr/share/phpmyadmin/config.inc.php

Definisci 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.sql

Successivamente, connettiti alla shell di MariaDB con il seguente comando:

mysql

Una 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.conf

Aggiungi 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.conf

Successivamente, ricarica il servizio Apache per applicare le modifiche:

systemctl reload apache2

Puoi controllare lo stato del servizio Apache utilizzando il seguente comando:

systemctl status apache2

Dovresti 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:

Accesso a phpMyAdmin

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

phpMyAdmin

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.conf

Aggiungi 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 apache2

Successivamente, crea un file .htaccess e definisci il tipo di autenticazione di Apache:

nano /usr/share/phpmyadmin/.htaccess

Aggiungi 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 secureuser

Ti 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:

Accesso sicuro

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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.