GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Installa phpMyAdmin con lo stack LAMP su Ubuntu 20.04 LTS

PhpMyAdmin è uno strumento di gestione di database basato sul Web gratuito e open source scritto in linguaggio di programmazione PHP. Utilizzando phpMyAdmin, gli amministratori di database possono gestire facilmente server di database singoli e/o multipli tramite un browser web. Questo può essere utile per coloro che non sono a proprio agio con il prompt di MySQL. phpMyAdmin consente agli amministratori del database di eseguire tutti i tipi di attività di gestione del database come la creazione, la modifica, la ridenominazione, l'eliminazione di database, l'importazione e l'esportazione di database, la creazione di tabelle, campi e campi, l'esecuzione di comandi SQL e molti altri. In questo tutorial, installeremo phpMyAdmin con lo stack LAMP sul sistema operativo server Ubuntu 20.04 LTS.

Installa phpMyAdmin con lo stack LAMP su Ubuntu 20.04 LTS

Per installare phpMyAdmin sul server Ubuntu 20.04 LTS, dovresti avere uno stack LAMP funzionante. Se non hai ancora installato lo stack LAMP, fai riferimento alla seguente guida:

  • Installa lo stack Apache, MySQL, PHP (LAMP) su Ubuntu 20.04 LTS

Dopo aver configurato lo stack LAMP, abilita il repository 'universe' , se non è già abilitato.

$ sudo add-apt-repository universe
$ sudo apt update

Ora installa phpMyAdmin e tutte le altre dipendenze richieste su Ubuntu 20.04 usando i comandi:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Quindi, seleziona il server web che dovrebbe essere configurato automaticamente per eseguire phpMyAdmin. Scegli il server web con le frecce SU/GIÙ e premi il tasto BARRA SPAZIATRICE. Una volta scelto il server web, vedrai un simbolo * (stella) davanti ad esso. Premi il tasto TAB per scegliere OK e premi di nuovo il tasto INVIO per continuare.

PhpMyAdmin richiede un database installato e configurato prima di poter essere utilizzato. Puoi farlo con dbconfig-command.

Scegli per configurare il database per phpmyadmin con dbconfig-common:

Devi fornire una password per phpmyadmin per registrarsi con il server di database MySQL. Se la password non viene fornita, verrà generata una password casuale.

Inserisci una password complessa e premi INVIO per continuare:

Reinserire la password:

Al momento della stesura di questa guida, quando ho provato a impostare la password per phpmyadmin, viene generato il seguente errore:

 An error occurred while installing the database:
mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy
 the current policy requirements . Your options are:                                  
* abort - Causes the operation to fail; you will need to downgrade,             
reinstall, reconfigure this package, or otherwise manually intervene          
to continue using it. This will usually also impact your ability to           
install other packages until the installation failure is resolved.            
* retry - Prompts once more with all the configuration questions                
(including ones you may have missed due to the debconf priority               
setting) and makes another attempt at performing the operation.               
* retry (skip questions) - Immediately attempts the operation again,            
skipping all questions. This is normally useful only if you have 
solved the underlying problem since the time the error occurred.              
* ignore - Continues the operation ignoring dbconfig-common errors.             
This will usually leave this package without a functional database.

Questo errore si verifica perché abbiamo abilitato la VALIDATE PASSWORD componente come descritto nella sezione intitolata "2.2 Modifica del metodo di autenticazione per l'utente root MySQL" nella guida all'installazione dello stack LAMP allegata sopra.

Per risolvere questo problema, devi disabilitare temporaneamente il componente Convalida password e riattivarlo dopo aver impostato la password per phymyadmin. Fai clic su OK per chiudere il messaggio di errore sopra riportato e scegli "abort" per annullare l'installazione di phpmyadmin.

Ora accedi al prompt di Mysql eseguendo il seguente comando:

$ mysql -u root -p

Dal prompt di mysql, sintonizza il seguente comando per disabilitare il plug-in Convalida password:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Tieni presente che il comando sopra disabiliterà solo il plug-in, ma non lo rimuoverà. Puoi abilitarlo in seguito. Quindi digita "exit" per uscire dal prompt di MySQL.

mysql> exit

Ora prova a installare di nuovo phpmyadmin usando il comando:

$ sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Scegli "Sì" e premi INVIO per configurare il database per phpmyadmin con dbconfig-common. Questa volta l'installazione di phpmyadmin funzionerà senza problemi.

Una volta installato phpmyadmin, riattiva il plug-in Convalida password. Per farlo, accedi al tuo prompt di MySQL:

$ mysql -u root -p

Dal prompt di mysql, sintonizza il seguente comando per disabilitare il plug-in Convalida password:

mysql> INSTALL COMPONENT "file://component_validate_password";

Digita exit per uscire dal prompt di mysql.

mysql> exit

Infine, abilita mbstring php e riavvia il servizio Apache per aggiornare le modifiche come mostrato di seguito.

$ sudo phpenmod mbstring
$ sudo systemctl restart apache2

Ora puoi verificare se l'estensione mbstring è abilitata o meno caricando il file info.php dal browser web.

Per farlo, vai a http://indirizzo-IP/info.php dal tuo browser.

Vedrai che il plugin mbstring è abilitato.

Crea un utente dedicato per accedere alla dashboard di phpMyAdmin

Una volta installato phpMyAdmin, un utente del database chiamato 'phpmyadmin' verrà creato automaticamente con la password amministrativa impostata durante l'installazione. Puoi accedere alla dashboard di phpmyAdmin utilizzando l'utente 'phpmyadmin' o mysql root utente. Tuttavia, si consiglia di creare un utente dedicato per gestire i database tramite l'interfaccia web di phpMyAdmin.

Per farlo, accedi alla shell di mysql usando il comando:

$ mysql -u root -p

Inserisci la tua password di root MySQL. Ora sarai nella shell di MySQL.

Immettere il comando seguente per creare un nuovo utente dedicato per phpmyadmin:

mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';

Qui, phpmyadmin è il nuovo utente per l'accesso alla dashboard di phpmyadmin. La password per phpmyadminuser è Password123#@! . Sostituisci questi valori con i tuoi.

Quindi dai i privilegi appropriati a 'phpmyadminuser' usando il comando:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Finalmente esci dalla shell di MySQL:

mysql> exit

Abbiamo ora creato un utente dedicato per la gestione dei database tramite l'interfaccia web di phpmyadmin. Andiamo avanti e accediamo alla dashboard di phpmyadmin.

Accedi alla dashboard di phpMyAdmin

Apri il tuo browser web e vai a http://indirizzo-ip/phpmyadmin o http://dominio/phpmyadmin . Dovresti vedere la pagina di accesso di phpmyadmin. Accedi all'interfaccia di phmyadmin utilizzando mysql root utente o il nuovo utente che abbiamo creato nel passaggio precedente.

Ecco come appare la dashboard di phpMyAdmin:

D'ora in poi, puoi gestire i tuoi database tramite l'interfaccia web di phpMyAdmin.

Proteggi phpMyAdmin

Questa sezione fornisce alcuni suggerimenti per proteggere l'installazione di PhpMyAdmin. Tieni presente che i seguenti passaggi non possono proteggere phpMyAdmin al 100%. Tuttavia, rallenteranno almeno qualsiasi tentativo di un perpetratore di entrare nella dashboard di phpmyadmin.

Disabilita l'accesso root MySQL alla dashboard di phpmyadmin

Consentire all'utente root mysql di accedere al dashboard di phpMyAdmin non è sicuro, specialmente quando si gestiscono database in rete. Per questo abbiamo creato un utente dedicato nella sezione precedente. Dal momento che abbiamo già un utente dedicato, possiamo disabilitare in sicurezza il login root mysql per accedere alla dashboard di phpmyadmin per ridurre al minimo gli attacchi.

Generalmente, phpmyadmin è installato in /usr/share/phpmyadmin/ directory e i suoi file di configurazione sono archiviati nella directory /etc/phpmyadmin.

Modifica il file di configurazione di phpmyadmin:

$ sudo nano /etc/phpmyadmin/config.inc.php

Aggiungi/modifica i seguenti parametri:

[...]
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
[...]

Salva e chiudi il file.

Riavvia il server web Apache usando il comando:

$ sudo systemctl restart apache2

Ora prova ad accedere a phpmyadmin come utente root. Riceverai l'Accesso negato messaggio di errore:

Pagina di accesso phpMyAdmin protetta da password

Poiché phpMyAdmin è un facile bersaglio per gli aggressori, il prossimo compito consigliato è proteggere la pagina di accesso web di phpyMyAdmin. Il modo più comune per proteggere phpMyAdmin da accessi non autorizzati è utilizzare .htaccess integrato in Apache funzionalità di autenticazione e autorizzazione.

Prima di tutto, abilita l'uso di .htaccess sostituzioni del file modificando /phpmyadmin.conf file:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Aggiungi "AllowOverride All" riga all'interno della sezione come mostrato di seguito.

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All

Premi CTL+X seguito da Y per salvare e chiudere il file.

Riavvia il servizio Apache per aggiornare le modifiche utilizzando il comando:

$ sudo systemctl restart apache2

Quindi, crea un file chiamato .htaccess all'interno di /usr/share/phpmyadmin/ directory usando il comando:

$ sudo nano /usr/share/phpmyadmin/.htaccess

Aggiungi le seguenti righe:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Salva e chiudi il file.

Ora esegui il comando seguente per creare un nuovo utente, ad esempio otechnix :

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd ostechnix

Sostituisci "otechnix" con qualsiasi nome utente a tua scelta. Ti verrà chiesto di fornire una password per il nuovo utente. Inseriscilo due volte.

Risultato di esempio:

New password: 
Re-type new password: 
Adding password for user ostechnix

Ora abbiamo aggiunto un ulteriore livello di sicurezza per accedere all'interfaccia web di phpMyAdmin. D'ora in poi, ogni volta che proverai ad accedere all'interfaccia web di phpMyAdmin, ti verrà chiesto di inserire il nome utente aggiuntivo e la relativa password che hai appena configurato nel passaggio precedente.

Dopo aver inserito il nome utente e la password corretti, verrai reindirizzato alla pagina di accesso dell'autenticazione phpmyadmin effettiva. Basta inserire le credenziali del database per accedere alla dashboard di Phpmyadmin.

Lettura correlata:

  • Installa phpMyAdmin con lo stack LEMP su Ubuntu 20.04 LTS

Ubuntu
  1. Installa WordPress con Stack LAMP su Ubuntu 20.04

  2. Installa phpMyAdmin su Ubuntu 14.10

  3. Come installare phpMyAdmin con lo stack LAMP su Ubuntu

  4. Installa phpMyAdmin con lo stack LAMP su Ubuntu 18.04 LTS

  5. Come installare lo stack LAMP su Ubuntu 22.04 LTS

Come installare lo stack LAMP con PhpMyAdmin in Ubuntu 20.04

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare lo stack LAMP su Ubuntu 18.04 LTS

Come installare phpMyAdmin su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 18.04 LTS

Come installare phpMyAdmin con Nginx su Ubuntu 20.04 LTS