GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare phpMyAdmin con Apache (LAMP) su Ubuntu 18.04

Questo tutorial ti mostrerà come installare phpMyAdmin con Apache, MariaDB, PHP7.2 (stack LAMP) su Ubuntu 18.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. Impareremo anche come abilitare l'autenticazione a due fattori su phpMyAdmin.

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 18.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 18.04. In caso contrario, dai un'occhiata al seguente tutorial.

  • Come installare lo stack LAMP (Apache, MariaDB, PHP7.2) su Ubuntu 18.04 LTS

Detto questo, iniziamo con l'installazione di phpMyAdmin.

Passaggio 1:scarica e installa phpMyAdmin su Ubuntu 18.04

phpMyAdmin è incluso nel repository del software Ubuntu 18.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 18.04, aggiungi semplicemente /phpmyadmin dopo il tuo nome di dominio nella barra degli indirizzi del browser.

your-domain.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 il comando seguente 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 http
sudo ufw allow https

Ora puoi usare il nome utente e la password di MariaDB/MySQL per accedere a phpMyAdmin

Fase 3:accedi a phpMyAdmin da un sottodominio

Se il tuo server Ubuntu 18.04 non ha altri host virtuali 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

Aggiungi 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 seguente riga alla fine di questo file.

</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 18.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]

Spiegazione:

  • –apache: Usa l'autenticatore e il programma di installazione di Apache
  • –accetto :Accetto i termini di servizio di Let's Encrypt
  • –reindirizzamento :aggiungi reindirizzamento 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 Y 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'

e

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.

Fase 6:installa l'ultima versione stabile di phpMyAdmin

Il repository Ubuntu 18.04 viene fornito con PHP7.2 e phpMyAdmin 4.6.6. Puoi controllare la tua versione di phpMyAdmin nella barra del titolo del browser.

Tuttavia, PHP7.2 è supportato da phpMyAdmin dalla versione 4.7.4. Quando usi phpMyAdmin 4.6.6 con PHP7.2, vedrai il seguente messaggio di avviso nella scheda Esporta e Importa.

parameter must be an array or an object that implements countable

Per risolvere il problema di compatibilità, possiamo installare phpMyAdmin 4.9, che è l'ultima versione stabile al momento della stesura di questo articolo. Scaricalo usando wget .

wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip

Suggerimento:puoi sempre utilizzare il formato URL sopra riportato per scaricare l'ultima versione stabile di phpMyAdmin. Sostituisci semplicemente 4.9.0.1 con il numero di versione più recente.

Quindi estrailo.

sudo apt install unzip

unzip phpMyAdmin-4.9.0.1-all-languages.zip

Eseguire il backup dei file phpMyAdmin originali.

sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin-original

Sposta phpMyadmin 4.9 in /usr/share/phpmyadmin/ directory.

sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin

Modifica il file di configurazione del fornitore.

sudo nano /usr/share/phpmyadmin/libraries/vendor_config.php

Trova la riga seguente.

define('CONFIG_DIR', '');

Cambialo in

define('CONFIG_DIR', '/etc/phpmyadmin/');

Salva e chiudi il file. Quindi crea il tmp cartella in cui archiviare i file della cache.

sudo mkdir /usr/share/phpmyadmin/tmp

Modifica la proprietà dell'utente e la proprietà del gruppo in www-data .

sudo chown www-data:www-data /usr/share/phpmyadmin/tmp

Ora puoi usare phpMyAdmin 4.9 senza vedere gli errori PHP.

Abilita l'autenticazione a due fattori

Puoi anche rafforzare phpMyAdmin abilitando l'autenticazione a due fattori, che è una funzionalità aggiunta nella versione 4.8. Per abilitarlo, accedi a phpMyAdmin. Quindi vai su Settings -> Two-factor authentication e seleziona Applicazione di autenticazione (2FA) .

Dopo aver fatto clic su Configura autenticazione a due fattori pulsante, ti verrà presentato un codice QR, che devi scansionare con un'app di autenticazione a due fattori sul tuo telefono.

Google Authenticator è un'app 2FA popolare, ma consiglio FreeOTP, che è un'app 2FA open source sviluppata da Red Hat. Dopo aver inserito il codice di autenticazione generato dalla tua app 2FA, l'autenticazione a due fattori è abilitata. Se ora esci e riaccedi, devi inserire il codice di autenticazione oltre a nome utente e password.


Ubuntu
  1. Come installare lo stack LAMP su Ubuntu 18.04

  2. Come installare e proteggere phpMyAdmin con Apache su Ubuntu 18.04

  3. Come installare PrestaShop su Ubuntu 20.04 con Apache

  4. Installa phpMyAdmin su Ubuntu 20.04 con Apache

  5. Installa phpMyAdmin su Ubuntu 22.04 con Apache

Come installare WordPress con Apache in Ubuntu 20.04

Come installare phpMyAdmin con Apache su Ubuntu 22.04 LTS

Come installare Drupal con Apache su Debian e Ubuntu

Come installare WordPress con LAMP su Ubuntu 20.04

Come installare Joomla con LAMP su Ubuntu 20.04

Come installare LAMP su Ubuntu