Come installare phpMyAdmin su Ubuntu 22.04
Questo tutorial esiste per queste versioni del sistema operativo
- Ubuntu 24.04 (Nobile Numbat)
- Ubuntu 22.04 (Jammy Jellyfish)
- Ubuntu 18.04 (Castoro bionico)
In questa pagina
- Prerequisiti
- Installazione di phpMyAdmin
- Protezione dell'installazione di phpMyAdmin
- Modifica l'URL del percorso dell'installazione di phpMyAdmin
- Protezione di phpMyAdmin con Apache2 Basic Auth
- Bloccare il tentativo di accesso a phpMyAdmin con Fail2ban Jail
- Conclusione
phpMyAdmin è uno strumento gratuito e open source per la gestione e l'amministrazione dei server MySQL. Può essere utilizzato per gestire anche più server MySQL in posizioni diverse. phpMyAdmin è un'applicazione basata sul Web scritta in PHP e può essere eseguita sotto lo stack LAMP (Linux, Apache2, MariaDB/MySQL, PHP) o LEMP (Linux, Nginx, MariaDB/MySQL, PHP-FPM). phpMyAdmin è un'applicazione molto potente ed è diventata un'applicazione ampiamente utilizzata per la gestione dei server MySQL, fornisce ampia documentazione e wiki.
phpMyAdmin ti consente di gestire i dati MySQL da un browser web, puoi gestire database, tabelle, colonne, indici, relazioni, utenti, autorizzazioni, ecc. da un'unica dashboard UI sul tuo browser web. il phpMyAdmin consente inoltre di importare ed esportare dati sul server MySQL. Puoi importare dati CSV e SQL nel tuo MySQL e anche esportare i tuoi dati in più formati come CSV, SQL, XML, Latex, XML, PDF e testo e foglio di calcolo OpenDocument.
In questo tutorial ti mostreremo come installare e configurare phpMyAdmin sull'ultimo server Ubuntu 22.04. Questo tutorial copre anche alcune configurazioni aggiuntive per proteggere l'installazione di phpMyAdmin.
Prerequisiti
- Una macchina Ubuntu 22.04: puoi utilizzare il server Ubuntu o la versione desktop.
- Un utente non root con privilegi di amministratore root.
- Sulla macchina è installato uno stack LAMP. Questo esempio utilizza l'installazione di base LAMP Stack (Linux, Apache2, MariaDB e PHP).
Installazione di phpMyAdmin
Nell'ultima versione di Ubuntu 22.04, il pacchetto phpMyAdmin è disponibile nel repository ufficiale di Ubuntu Universe. Quindi, prima di installare phpMyAdmin, assicurati che il repository dell'universo Ubuntu sia abilitato sul tuo sistema.
Allo stato attuale, Ubuntu fornisce phpMyAdmin v5.x, che è l'ultima versione stabile di phpMyAdmin.
Prima di iniziare a installare i pacchetti, esegui il comando seguente per aggiornare e aggiornare i tuoi repository Ubuntu.
sudo apt update
Assicurati che il repository Ubuntu APT Universe sia abilitato sul tuo sistema.
Ora controlla il pacchetto phpmyadmin usando il seguente comando.
sudo apt info phpmyadmin
Come puoi vedere nello screenshot seguente, il repository APT di Ubuntu fornisce phpMyAdmin v5.x ed è disponibile nel repository Universe di Ubuntu.
Successivamente, puoi installare il pacchetto phpMyAdmin utilizzando il comando seguente.
sudo apt install phpmyadmin
Inserisci Y per confermare l'installazione e premi INVIO per iniziare. Ora l'installazione di phpMyAdmin è in corso.
Durante l'installazione di phpMyAdmin ti verranno richieste le seguenti configurazioni:
Scegli il server web per phpMyAdmin. In questo esempio il server web è apache2, quindi seleziona OK.
Ora seleziona Sì per iniziare a configurare phpMyAdmin con dbconfig-common. Ciò modificherà automaticamente tutte le configurazioni del database per phpMyAdmin.
Per la password del database phpMyAdmin, puoi lasciarlo vuoto oppure puoi semplicemente inserire la tua password e quindi selezionare OK. Se lo lasci vuoto, dbconfig-common genererà automaticamente la password per il tuo phpMyAdmin.
Infine, apri il tuo browser web e visita l'indirizzo IP del server con il percorso URL /phpmyadmin (ad esempio: http://192.168.10.15/phpmyadmin). E ora otterrai la pagina di accesso di phpMyAdmin.
Inserisci l'utente e la password del tuo server MariaDB, quindi fai clic su Vai per accedere.
Una volta effettuato l'accesso, vedrai la dashboard di phpMyAdmin qui sotto. Come puoi vedere, phpMyAdmin 5.x è installato sulla macchina Ubuntu 22.04 con Apache2, MariaDB 10.x e PHP 8.1.
Protezione dell'installazione di phpMyAdmin
Dopo aver installato phpMyAdmin. successivamente imparerai come proteggere l'installazione di phpMyAdmin.
Di seguito imparerai tre metodi per proteggere l'installazione di phpMyAdmin sul tuo sistema Ubuntu:
- Cambia l'URL del percorso dell'installazione di phpMyAdmin: l'installazione predefinita di phpMyAdmin è disponibile nel percorso URL /phpmyadmin, che è facile da indovinare per gli aggressori. Puoi modificare il percorso predefinito nell'URL del percorso personalizzato.
- Autenticazione aggiuntiva utilizzando l'autenticazione di base Apache2: in questo scenario, agli utenti verrà mostrata l'autenticazione di base Apache2 prima di mostrare la pagina di accesso di phpMyAdmin. Ciò aggiungerà un'autenticazione aggiuntiva, quindi solo gli utenti nell'elenco di autenticazione di base di Apache2 visualizzeranno la pagina di accesso di phpMyAdmin e potranno accedere a phpMyAdmin.
- Blocco del tentativo di accesso a phpMyAdmin con Fail2ban Jail: avrai bisogno di fail2ban installato e configurato sul tuo computer Ubuntu. Ciò vieterà l'indirizzo IP di tentativi di accesso dannosi a phpMyAdmin. Inoltre, puoi impostare il numero massimo di tentativi di accesso sulla jail Fail2ban.
Ora iniziamo a proteggere phpMyAdmin utilizzando tre metodi diversi.
Modifica l'URL del percorso dell'installazione di phpMyAdmin
L'installazione predefinita di phpMyAdmin include una configurazione aggiuntiva per il server web Apache2, la configurazione è il file /etc/phpmyadmin/apache.conf. Per modificare l'URL del percorso predefinito di installazione di phpMyAdmin, dovrai modificare la configurazione /etc/phpmyadmin/apache2.conf e riavviare il servizio Apache2.
Modifica il file di configurazione /etc/phpmyadmin/apache.conf utilizzando l'editor nano.
sudo nano /etc/phpmyadmin/apache.conf
Cambia l'opzione "Alias /phpmyadmin" nel tuo nuovo percorso di ULR. Nell'esempio seguente, phpMyAdmin sarà disponibile nel percorso URL /padm.
Alias /padm /usr/share/phpmyadmin
Salva e chiudi il file quando hai finito.
Successivamente, controlla e verifica la configurazione di Apache2 utilizzando il comando seguente. Se la configurazione è corretta, riceverai un messaggio di output come "Sintassi OK".
sudo apchectl configtest
Ora riavvia il servizio Apache2 per applicare le nuove modifiche al file /etc/phpmyadmin/apache.conf.
sudo systemctl restart apache2
Torna al tuo browser web e visita phpMyAdmin con il nuovo percorso URL /padm (ad esempio http://192.168.10.15/padm). Otterrai la dashboard di phpMyAdmin nello screenshot seguente.
Ora hai modificato con successo l'URL del percorso predefinito di installazione di phpMyAdmin nel nuovo URL del percorso /padm.
Protezione di phpMyAdmin con Apache2 Basic Auth
L'autenticazione di base Apache2 è un metodo di autenticazione fornito dal modulo Apache mod_basic_auth. Per impostare l'autenticazione di base di Apache2, dovrai generare il file della password e impostare il file .htaccess nella directory root del documento phpMyAdmin.
Ora esegui il comando seguente per generare un nuovo file di autenticazione di base Apache2 /etc/phpmyadmin/.htpasswd con il nuovo utente denominato padm. Se non disponi del comando htpasswd, dovrai installare il pacchetto apache2-utils sul tuo sistema.
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padm
Ora inserisci la password per l'utente di autenticazione di base Apache2 padm e ripeti la password. Questo genererà un nuovo file di password /etc/phpmyadmin/.htpasswd.
Successivamente, modifica la configurazione /etc/phpmyadmin/apache.conf utilizzando l'editor nano.
sudo nano /etc/phpmyadmin/apache.conf
Aggiungi la configurazione all'interno di "
<Directory /usr/share/phpmyadmin>
...
...
AllowOverride All
Salva e chiudi il file quando hai finito.
Successivamente, esegui il comando seguente per abilitare il modulo Apache2 mod_rewrite.
sudo a2enmod rewrite
Crea un nuovo file /usr/share/phpmyadmin/.htaccess utilizzando l'editor nano.
sudo nano /usr/share/phpmyadmin/.htaccess
Aggiungere la seguente configurazione al file.
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Salva e chiudi il file quando hai finito.
Ora riavvia il servizio Apache2 per applicare le nuove modifiche.
sudo systemctl restart apache2
Infine, torna al tuo browser web e aggiorna l'URL phpMyAdmin (ad esempio http://192.168.10.15/padm). Ora ti verrà richiesta l'autenticazione di base di Apache2.
Inserisci l'utente padm con la tua password e fai clic su Accedi. Se il tuo utente e la tua password corrispondono alla configurazione /etc/phpmyadmin/.htpasswd file, sarai in grado di ottenere la dashboard di phpMyAdmin, altrimenti riceverai un messaggio di errore come "421 Non autorizzato".
Ora hai protetto phpMyAdmin con l'autenticazione di base Apache2. Si consiglia di utilizzare questo metodo con i certificati SSL sul server Web Apache2.
Bloccare il tentativo di accesso a phpMyAdmin con Fail2ban Jail
In questo scenario, avrai bisogno che Fail2ban sia installato e configurato sul tuo computer Ubuntu. Utilizzando la jail Fail2ban, limiterai il fallimento dell'autenticazione contro phpMyAdmin e limiterai l'attacco di forza bruta. Fail2ban bloccherà qualsiasi tentativo di accesso dannoso rilevato a phpMyAdmin.
Il Failban funziona controllando il file di registro dell'applicazione, quindi dovrai abilitare il file di registro per phpMyAdmin.
Modifica la configurazione di phpMyAdmin /etc/phpmyadmin/config.inc.php utilizzando l'editor nano.
sudo nano /etc/phpmyadmin/config.inc.php
Aggiungi la seguente configurazione alla fine della riga. Ciò registrerà tutta l'autenticazione di phpMyAdmin nel file Syslog /var/log/auth.log.
...
...
...
$cfg['AuthLog'] = 'syslog';
Salva e chiudi il file quando hai finito.
Successivamente, modifica la configurazione della jail Fail2ban /etc/fail2ban/jail.local utilizzando l'editor nano.
sudo nano /etc/fail2ban/jail.local
Cerca la jail denominata "phpmyadmin-syslog" e aggiungi l'opzione "enabled=true" per abilitare la jail.
[phpmyadmin-syslog]
enabled = true
port = http,https
logpath = %(syslog_authpriv)s
backend = %(syslog_backend)s
Salva e chiudi il file una volta completato.
Ora riavvia il servizio Fail2ban utilizzando il comando seguente per applicare la nuova configurazione jail.
sudo systemctl restart fail2ban
Per verificare il jail "phpmyadmin-syslog", esegui i comandi fail2ban-client di seguito.
Controllo dell'elenco delle jail Fail2ban abilitate.
sudo fail2ban-client status
Controllo dei dettagli del jail phpmyadmin-syslog di Fail2ban.
sudo fail2ban-client status phpmyadmin-syslog
Di seguito puoi vedere lo stato dettagliato della jail phpmyadmin-syslog. Nello screenshot seguente, puoi vedere che un indirizzo IP "192.168.10.1" è bloccato da Fail2ban.
Se controlli il file di registro /var/log/auth.log utilizzando il comando seguente.
cat /var/log/auth.log
Di seguito vedrai i log dell'autenticazione phpMyAdmin. Puoi vedere che l'indirizzo IP "192.168.10.1" viene rilevato come accesso dannoso a causa dell'utilizzo di utente e password errati.
A questo punto, hai protetto phpMyAdmin utilizzando più metodi diversi, un'altra considerazione è utilizzare SSL su ogni host virtuale sul tuo server. Ciò rende il tuo phpMyAdmin ancora più sicuro perché SSL crittograferà le connessioni tra il tuo browser web e il server.
Conclusione
Congratulazioni! Ora hai imparato come installare e configurare phpMyAdmin sull'ultima Ubuntu 22.04. Inoltre, hai appreso diversi metodi per proteggere l'installazione di phpMyAdmin, inclusa la modifica dell'URL del percorso predefinito, l'aggiunta dell'autenticazione utilizzando l'autenticazione di base Apache2 e il blocco dei tentativi di accesso dannosi utilizzando Fail2ban Jail.