Introduzione
PhpMyAdmin è un'applicazione web che consente di utilizzare MySQL tramite il browser.
Se il vostro intento è installare phpMyAdmin su di un server Mx 18 Linux in remoto continuate a leggere, altrimenti se volete installare phpMyAdmin sul vostro computer locale saltate il primo paragrafo "Connessione al Server" e leggere il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Siete ora connessi al vostro server, siete pronti per iniziare l'installazione di phpMyAdmin.
Prerequisiti
- Installazione di Apache su Mx 18 Linux oppure di Nginx su Mx 18 Linux.
- Installazione di MySQL / MariaDB: Come installare MariDB su Mx 18 Linux.
Installare PhpMyAdmin
Per installare phpMyAdmin dare questi semplici comandi da terminale:
sudo apt update
sudo apt install phpmyadmin php-mbstring php-gettext
ATTENZIONE
Durante la fase di installazione di phpMyAdmin vi verrà chiesto di selezionare Apache2 oppure Lighttpd, se avete installato Nginx non bisogna selezionare niente, cliccate su "OK" per proseguire.
Se avete installato Apache2 premere spazio per selezionarlo, altrimenti l'installazione non genererà i collegamenti necessari con Apache.
A questo punto è richiesto il database dbconfig-common per la corretta configurazione di phpMyadmin quindi selezionare "Ok"
Inserire la password di amministratore del vostro database.
Confermare la password.
Se avete installato Apache l'installazione è terminata, non dovete fare nient'altro, phpMyAdmin ha generato in automatico i link simbolici con Apache2.
Se invece avete installato Nginx, dare il seguente comando per creare un link simbolico di phpMyAdmin con Nginx:
sudo ln -s /usr/share/phpmyadmin/ /var/www/html/
Abilitare l'estensione mbstring:
sudo phpenmod mbstring
Riavviare Apache2:
sudo service apache2 restart
È possibile adesso effettuare il login su phpmyadmin con l'utente phpmyadmin e la password impostata durante la fase d'installazione.
PhpMyAdmin di default non sarà in grado di utilizzare invece le credenziali di root.
Potreste riscontrare i seguenti errori:
#1698 - Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
La soluzione più semplice (e più sicura) è creare un nuovo utente e garantire i privilegi richiesti.
Modificare il metodo di autenticazione
L'utente root è impostato per l'autenticazione tramite il plug-in auth_socket per impostazione di default anziché con una password.
Per utilizzare una password per connettersi a MariaDB come utente root è necessario modificare il metodo di autenticazione, da auth_socket a mysql_native_password.
Poiché non è stata impostata ancora nessuna password, è possibile connettersi al server MySQL utilizzando semplicemente il comando mysql oppure sudo mysql se si è loggati come utente normale. Successivamente sarà necessario utilizzare il comando mysql -u root -p da utente root, altrimenti sudo mysql -u root -p da utente normale.
Quindi se siete loggati come utente root, scrivere nel terminale:
mysql
Altrimenti se siete loggati come utente normale con privilegi sudo:
sudo mysql
Per verificare il metodo di autenticazione associato agli account di mariadb:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Dovresti ricevere un messaggio simile a questo:
+------+-----------------------+-------------+-----------+
| user | authentication_string | plugin | host |
+------+-----------------------+-------------+-----------+
| root | | unix_socket | localhost |
+------+-----------------------+-------------+-----------+
1 row in set (0.00 sec)
Come potete vedere per l'utente root è impostato di default il metodo di autenticazione auth_socket. Per utilizzare l'autenticazione con password per l'account root effettuare le seguenti modifiche:
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
Successivamente:
GRANT ALL PRIVILEGES on *.* to 'root'@'localhost' IDENTIFIED BY 'TUA_PASSWORD';
Attenzione:
Potresti ricevere un messaggio di output simile al seguente:Your password does not satisfy the current policy requirements.
Leggi questo tutorial per risolvere il problema.
Effettuare un refresh delle tabelle:
FLUSH PRIVILEGES;
Uscire dal prompt di MariaDB:
exit;
Per effettuare nuovamente il login al server MariaDB adesso sarà necessario inserire una password, quindi da terminale:
Se siete loggati come utente root, scrivere nel terminale:
mysql -u root -p
Altrimenti se siete loggati come utente normale con privilegi sudo:
sudo mysql -u root -p
Creare un nuovo utente per il server MariaDB (Opzionale)
In alternativa è possibile creare un nuovo utente per il server MariaDB ed assegnargli i privilegi di root:
CREATE USER 'nuovo_utente'@'localhost' IDENTIFIED BY 'nuova_password';
Attenzione:
Potresti ricevere un messaggio di output simile al seguente:Your password does not satisfy the current policy requirements.
Leggi questo tutorial per risolvere il problema.
Associare i privilegi di gestione all'utente appena creato:
GRANT ALL PRIVILEGES ON *.* TO 'nuovo_utente'@'localhost' WITH GRANT OPTION;
Uscire dal prompt di MariaDB:
exit;
Comandi utili per gestire il server MariaDB
Per verificare lo stato MariaDB
sudo service mysql status
Per fermare i processi di MariaDB quindi per mettere offline il server:
sudo service mysql stop
Per avviare MariaDB:
sudo service mysql start
Per riavviare MariaDB
sudo service mysql restart
Adesso potete collegarvi al vostro indirizzo IP pubblico oppure in localhost aggiungendo /phpmyadmin alla fine dell'indirizzo.
http://vostro_dominio/phpmyadmin
http://localhost/phpmyadmin
L'installazione e la configurazione su Mx 18 Linux è terminata.