phpMyAdmin è uno strumento di amministrazione gratuito e open source per MySQL e MariaDB. phpMyAdmin è uno strumento basato sul Web che consente di gestire facilmente database MySQL o MariaDB. Puoi eseguire attività di amministrazione come creare, modificare o eliminare database, importare ed esportare backup di database, eseguire ricerche e gestire utenti e autorizzazioni utilizzando phpMyAdmin.
Caratteristiche
- Supporto multilingue.
- Importa dati da CSV e SQL.
- Fornire grafici in tempo reale per monitorare l'attività del server MySQL come connessioni, processi, utilizzo di CPU/memoria, ecc.
- Ricerca globale in un database o in un sottoinsieme di esso.
- Interfaccia web semplice e facile da usare.
- Esportare i dati in vari formati come CSV, SQL, XML, PDF, Word, Excel, LaTeX e altri.
In questo tutorial, spiegheremo come installare e proteggere phpMyAdmin sul server Ubuntu 18.04.
Requisiti
- Un server che esegue Ubuntu 18.04.
- Un utente non root con privilegi sudo.
Installa phpMyAdmin
Prima di iniziare, dovrai installare Apache e MySQL sul tuo server. Puoi installarlo con il seguente comando:
sudo apt-get install apache2 mysql-server -y
Per impostazione predefinita, phpMyAdmin non è disponibile nel repository predefinito di Ubuntu 18.04. Quindi, dovrai aggiungere il repository PHP di terze parti al tuo sistema.
Puoi aggiungerlo semplicemente eseguendo il seguente comando:
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
Una volta aggiunto il repository, installa phpMyAdmin eseguendo il seguente comando:
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
Durante l'installazione, ti verrà chiesto di scegliere il server web come mostrato di seguito:
Scegli Apache e fai clic su OK pulsante. Verrai reindirizzato alla seguente pagina:
Ora, fai clic su Sì pulsante. Dovresti vedere la seguente pagina:
Qui, fornisci la password dell'applicazione MySQL per phpMyAdmin e fai clic su OK pulsante.
Una volta installato phpMyAdmin, abilita l'estensione PHP mbstring con il seguente comando:
sudo phpenmod mbstring
Quindi, riavvia il servizio Apache per applicare le modifiche:
sudo systemctl restart apache2
Configura l'autenticazione utente
phpMyAdmin ha creato automaticamente un utente del database chiamato phpmyadmin con la password amministrativa che hai impostato durante l'installazione. Tuttavia, si consiglia di creare un utente separato per la gestione dei database tramite l'interfaccia web di phpMyAdmin. Nell'ultima versione di MariaDB, l'utente MySQL root è impostato per l'autenticazione utilizzando il plug-in auth_socket per impostazione predefinita. Quindi, se vuoi accedere a phpMyAdmin come utente root di MySQL, dovrai cambiare il suo metodo di autenticazione da auth_socket a mysql_native_password.
Innanzitutto, accedi alla shell MySQL con il seguente comando:
sudo mysql
Quindi, controlla il metodo di autenticazione dell'utente MySQL con il seguente comando:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Uscita:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | | auth_socket | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Nell'output sopra, dovresti vedere che l'utente root utilizza il plug-in auth_socket.
Puoi configurare l'account root per l'autenticazione con una password eseguendo il comando seguente:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Quindi, svuota i privilegi con il seguente comando:
mysql> FLUSH PRIVILEGES;
Ora controlla i metodi di autenticazione eseguendo il seguente comando:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Uscita:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Quindi, crea un utente separato con il nome phpmyadminuser per connetterti a phpMyAdmin.
Innanzitutto, accedi alla shell MySQL:
mysql -u root -p
Inserisci la tua password di root, quindi crea un utente con il seguente comando:
MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';
Quindi, concedi i privilegi appropriati a phpmyadminuser con il seguente comando:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Infine, esci dalla shell MySQL con il seguente comando:
MariaDB [(none)]> exit;
Ora apri il tuo browser web e digita l'URL http://your-server-ip/phpmyadmin. Verrai reindirizzato alla seguente pagina:
Qui, fornisci il tuo nome utente e password. Quindi, fai clic su Vai pulsante. Dovresti vedere la dashboard di PhpMyAdmin nella pagina seguente:
PhpMyAdmin protetto
phpMyAdmin è ora installato e configurato. Tuttavia, si consiglia di proteggere la tua istanza phpMyAdmin per impedire l'accesso non autorizzato Puoi proteggere phpMyAdmin utilizzando le funzionalità di autenticazione e autorizzazione .htaccess integrate in Apache.
Per fare ciò, prima abilita l'uso delle sostituzioni dei file .htaccess modificando il file phpmyadmin.conf:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Apporta le seguenti modifiche:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Salva e chiudi il file. Quindi, riavvia il servizio Apache per applicare le modifiche:
sudo systemctl restart apache2
Quindi, crea un file .htaccess all'interno della directory phpmyadmin:
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. Quindi, crea un utente chiamato admin con l'utilità htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Uscita:
New password: Re-type new password: Adding password for user admin
La tua istanza phpMyAdmin è ora protetta con un ulteriore livello di autenticazione.
Ora apri il tuo browser web e digita l'URL http://your-server-ip/phpmyadmin. Verrai reindirizzato al nome account e alla password aggiuntivi che hai appena configurato come mostrato di seguito:
Ora, fornisci il tuo nome utente e la password e fai clic sul Registro In pulsante. Dovresti essere reindirizzato alla normale pagina di autenticazione di phpMyAdmin.
Link
- phpMyAdmin