Questo tutorial ti mostrerà come installare phpMyAdmin con Apache, MariaDB, PHP7.4 (stack LAMP) su Ubuntu 20.04 LTS. phpMyAdmin è uno strumento di gestione di database basato sul Web gratuito e open source scritto in PHP. Fornisce un'interfaccia web grafica per consentire agli utenti di gestire database MySQL o MariaDB.
phpMyAdmin consente agli amministratori di:
- sfogliare database e tabelle;
- crea, copia, rinomina, altera e rilascia database;
- crea, copia, rinomina, altera e rilascia tabelle;
- eseguire la manutenzione della tabella;
- aggiungi, modifica e rilascia campi;
- esegui qualsiasi istruzione SQL, anche query multiple;
- crea, modifica e rilascia indici;
- carica file di testo nelle tabelle;
- creare e leggere dump di tabelle o database;
- esporta i dati nei formati SQL, CSV, XML, Word, Excel, PDF e LaTeX;
- amministrare più server;
- gestire utenti e privilegi MySQL;
- verifica le impostazioni del server e le informazioni di runtime con suggerimenti di configurazione;
- verifica l'integrità referenziale nelle tabelle MyISAM;
- crea query complesse utilizzando Query-by-example (QBE), automaticamente
- collegare le tabelle richieste;
- creare grafici PDF del layout del database;
- cerca a livello globale in un database o in un sottoinsieme di esso;
- trasforma i dati archiviati in qualsiasi formato utilizzando una serie di funzioni predefinite, come la visualizzazione di dati BLOB come immagini o link per il download;
- gestire tabelle InnoDB e chiavi esterne;
Prerequisiti
Per seguire questo tutorial, hai bisogno di un sistema operativo Ubuntu 20.04 in esecuzione sul tuo computer locale o su un server remoto.
Se stai cercando un VPS (Virtual Private Server), puoi creare un account su Vultr tramite il mio link di riferimento per ottenere $ 50 di credito gratuito (solo per i nuovi utenti). E se devi configurare phpMyAdmin con un nome di dominio, ti consiglio di acquistare i nomi di dominio da NameCheap perché il prezzo è basso e offrono gratuitamente la protezione della privacy di Whois.
Si presume che tu abbia già installato lo stack LAMP su Ubuntu 20.04. In caso contrario, dai un'occhiata al seguente tutorial.
- Come installare lo stack LAMP (Apache, MariaDB, PHP7.4) su Ubuntu 20.04 LTS
Detto questo, iniziamo con l'installazione di phpMyAdmin.
Passaggio 1:scarica e installa phpMyAdmin su Ubuntu 20.04
phpMyAdmin è incluso nel repository del software Ubuntu 20.04. così possiamo installarlo facilmente con il comando qui sotto.
sudo apt update sudo apt install phpmyadmin
Il comando precedente installerà tutte le dipendenze necessarie comprese le estensioni PHP7. Durante l'installazione, ti verrà chiesto di selezionare un server web da configurare. Premi lo space
barra per selezionare apache2. (Un asterisco indica che l'elemento è selezionato). Quindi premi Tab
chiave e Enter
per confermare la tua scelta.
Nella schermata successiva, seleziona Yes
per configurare un database per phpMyAdmin con dbconfig-common
.
Quindi imposta una password per phpmyadmin
utente in MariaDB/MySQL.
Una volta terminato questo passaggio, un nuovo database chiamato phpmyadmin
viene creato e l'utente del database phpmyadmin
dispone dei privilegi necessari per gestire questo database. Se sei curioso come me, puoi accedere a MariaDB e controllare quali privilegi phpmyadmin
utente è stato concesso.
È possibile utilizzare il seguente comando per accedere al server MariaDB.
sudo mysql -u root
Quindi controlla i privilegi di phpmyadmin
utente.
show grants for [email protected];
Uscita:
Come puoi vedere, utente phpmyadmin
ha tutti i privilegi sul database phpmyadmin
. Ora puoi uscire eseguendo:
exit;
Ora esegui il seguente comando per verificare se il /etc/apache2/conf-enabled/phpmyadmin.conf
il file esiste.
file /etc/apache2/conf-enabled/phpmyadmin.conf
Se non ci sono errori nel processo di installazione, dovresti vedere il seguente output di comando.
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
Se questo file non esiste sul tuo server, è probabile che tu non abbia selezionato il server web Apache nella procedura guidata di configurazione di phpMyAdmin. Puoi risolverlo con i seguenti comandi.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin sudo systemctl reload apache2
Fase 2:Accesso a phpMyAdmin da una sottodirectory
Quando si installa phpMyAdmin, un file di configurazione viene posizionato in /etc/apache2/conf-enabled/phpmyadmin.conf
, che ci consente di accedere a phpMyAdmin tramite la sottodirectory. Se hai installato altre applicazioni web come WordPress sullo stesso server Ubuntu 20.04, aggiungi semplicemente /phpmyadmin
dopo il tuo nome di dominio nella barra degli indirizzi del browser.
example.com/phpmyadmin
Se phpMyAdmin è installato sul tuo computer Ubuntu locale, puoi accedere all'interfaccia web di phpMyAdmin digitando il seguente testo nella barra degli indirizzi del browser.
localhost/phpmyadmin
Se la connessione viene rifiutata o non viene completata, potrebbe essere presente un firewall che impedisce le richieste HTTP. Se stai utilizzando iptables firewall, devi eseguire i seguenti comandi per aprire le porte TCP 80 e 443.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Se stai utilizzando il firewall UFW, esegui questo comando per aprire le porte TCP 80 e 443.
sudo ufw allow 80,443/tcp
Ora puoi usare il nome utente e la password di MariaDB/MySQL per accedere a phpMyAdmin. Se non riesci ad accedere come root, vai al passaggio 5 per risolvere questo problema.
Fase 3:accedi a phpMyAdmin da un sottodominio
Se il tuo server Ubuntu 20.04 non ha un altro host virtuale Apache, potresti voler utilizzare un sottodominio per accedere all'interfaccia web di phpMyAdmin. In questo modo, puoi abilitare HTTPS per crittografare il traffico.
Innanzitutto, dobbiamo creare un host virtuale Apache per phpMyAdmin. Lo snippet di configurazione phpMyAdmin esistente può essere utilizzato come modello. Copialo in un nuovo file.
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
Quindi modifica il nuovo file con un editor di testo a riga di comando, come Nano.
sudo nano /etc/apache2/sites-available/phpmyadmin.conf
Questo file è privo di <VirtualHost>
tags, quindi dobbiamo aggiungere le seguenti righe all'inizio di questo file. Sostituisci pma.example.com
con il tuo sottodominio preferito per phpMyAdmin. Non dimenticare di creare un record DNS A per questo sottodominio.
<VirtualHost *:80> ServerName pma.example.com DocumentRoot /usr/share/phpmyadmin ErrorLog ${APACHE_LOG_DIR}/pma.error.log CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
Aggiungi la riga seguente alla fine di questo file per chiudere <VirtualHost>
tag.
</VirtualHost>
Salva e chiudi il file. (Per salvare un file nell'editor di testo Nano, premi Ctrl+O
, quindi premere Invio per confermare. Per uscire, premi Ctrl+X
.) Quindi abilita questo host virtuale.
sudo a2ensite phpmyadmin.conf
Ricarica il server web Apache per rendere effettiva questa modifica.
sudo systemctl reload apache2
Ora dovresti essere in grado di accedere all'interfaccia web di phpMyAdmin tramite
pma.example.com
Prima di inserire le credenziali utente nel form di login, abilitiamo HTTPS.
Fase 4:Abilita HTTPS su phpMyAdmin con Apache
Per proteggere l'interfaccia web di phpMyadmin, possiamo installare un certificato Let's Encrypt TLS gratuito. Esegui il comando seguente per installare il client Let's Encrypt (certbot) dal repository del software Ubuntu 20.04.
sudo apt install certbot python3-certbot-apache
Python3-certbot-apache
è il plugin Apache per Certbot. Ora esegui il comando seguente per ottenere e installare il certificato TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email protected]
Dove:
- –apache: Usa l'autenticatore e il programma di installazione di Apache
- –accetto :Accetto i termini di servizio di Let's Encrypt
- –reindirizzamento :applica HTTPS aggiungendo il reindirizzamento permanente 301.
- –hsts :aggiungi l'intestazione Strict-Transport-Security a ogni risposta HTTP.
- –staple-ocsp :Abilita la pinzatura OCSP.
- –indispensabile :aggiunge l'estensione OCSP Must Staple al certificato.
- -d flag è seguito da un elenco di nomi di dominio, separati da virgola. Puoi aggiungere fino a 100 nomi di dominio.
- –e-mail :Email utilizzata per la registrazione e il contatto di recupero.
Ti verrà chiesto se desideri ricevere e-mail da EFF (Electronic Frontier Foundation). Dopo aver scelto S o N, il tuo certificato TLS verrà automaticamente ottenuto e configurato per te, come indicato dal messaggio sottostante.
Fase 5:Risolvi l'errore di accesso a phpMyAdmin
Se provi ad accedere a phpMyAdmin con l'account root di MariaDB, potresti visualizzare il seguente errore.
#1698 - Access denied for user 'root '@'localhost'
o
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
Se accedi con l'utente phpmyadmin
, non vedrai l'errore precedente. Tuttavia, l'utente phpmyadmin
può essere utilizzato solo per gestire il phpmyadmin
Banca dati. La causa dell'errore è che per impostazione predefinita l'utente root di MariDB è autenticato tramite il plugin unix_socket, invece di usare mysql_native_password
collegare. Per risolvere questo problema, possiamo creare un altro utente amministratore e concedere tutti i privilegi al nuovo utente amministratore.
Accedi al server MariaDB dalla riga di comando.
sudo mysql -u root
Crea un utente amministratore con autenticazione tramite password.
create user [email protected] identified by 'your-preferred-password';
Concedi tutti i privilegi su tutti i database.
grant all privileges on *.* to [email protected] with grant option;
Elimina i privilegi ed esci;
flush privileges; exit;
Ora puoi accedere a phpMyAmin con admin
account e gestisci tutti i database.