Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

phpMyAdmin è uno strumento di amministrazione gratuito e open source scritto in PHP usato per amministrare Server di database MySQL e MariaDB da un Interfaccia Web. La maggior parte degli sviluppatori preferisce utilizzare phpMyAdmin per interagire con un server di database a causa della sua facilità d'uso e dell'editor SQL avanzato, che semplifica la creazione e il test di query SQL complesse.

Nel seguente tutorial imparerai come installare LEMP e phpMyAdmin dal sorgente su Ubuntu 20.04.

Prerequisiti

  • Sistema operativo consigliato: Ubuntu 20.04 - facoltativo (Ubuntu 21.04 e Linux Mint 20)
  • Account utente: Un account utente con accesso sudo o root.
  • richiesto: Nginx, MariaDB e PHP (LEMP)

Aggiornamento del sistema operativo

Innanzitutto, prima di tutto, aggiorna il tuo Ubuntu sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:

sudo apt update && sudo apt upgrade -y

pubblicità


Nginx per phpMyAdmin

Aggiungi PPA personalizzato per l'ultimo Nginx

Dato che stai configurando phpMyAdmin con Nginx, dovrai installare l'applicazione web. Attualmente, il metodo migliore per la maggior parte è utilizzare il PPA dal noto Ondřej Surý, che mantiene entrambe le versioni Nginx e Stable ed è costantemente aggiornato.

Innanzitutto, aggiungi un PPA stabile o principale come segue:

Nginx stabile:

sudo add-apt-repository ppa:ondrej/nginx-stable -y && sudo apt update

Nginx Mainline (consigliato):

sudo add-apt-repository ppa:ondrej/nginx-mainline -y && sudo apt update

Installa Nginx

Dopo aver installato Nginx PPA stabile o principale, utilizzare il seguente comando per installare Nginx:

sudo apt install nginx-core nginx-common nginx nginx-full

MariaDB per phpMyAdmin

Installa MariaDB per Ubuntu 20.04

Innanzitutto, devi installare MariaDB per creare un database e un nome utente come segue:

sudo apt install mariadb-server

Nota, questa è una versione precedente, con l'installazione predefinita la versione 10.3. Si prega di visitare il nostro lezione se preferisci installare una versione di MariaDB più recente, come 10.5 e 10.6.

Quindi, esegui lo script di sicurezza se hai installato fresco per la prima volta con il seguente comando:

sudo mysql_secure_installation

Quindi, segui di seguito:

  • Impostazione della password per radice conti.
  • Rimozione degli account root accessibili dall'esterno dell'host locale.
  • Rimozione di account utente anonimo.
  • Rimozione del database di prova, a cui per impostazione predefinita possono accedere utenti anonimi.

Nota, tu usi (Y) per rimuovere tutto.

Crea database e nome utente phpMyAdmin

Innanzitutto, apri MariaDB e crea un nuovo database per phpMyAdmin:

sudo mysql -u root

Quindi, crea un database nel terminale MariaDB:

CREATE DATABASE phpmyadmindb;

Ora devi creare un utente e concedere le autorizzazioni come segue:

GRANT ALL ON phpmyadmindb.* TO phpmyadminuser@localhost IDENTIFIED BY 'password here change';

Per finire, svuota i privilegi ed esci con i seguenti codici:

FLUSH PRIVILEGES;
QUIT;

pubblicità


PHP per phpMyAdmin

Aggiungi PPA personalizzato per PHP più recente

Simile alla nostra installazione di Nginx, si consiglia di aggiungere il PPA di Ondřej Surý, il manutentore di PHP per Debian. Il PPA personalizzato ha tutte le ultime versioni di 7.4, 8.0 e la più recente 8.1 in arrivo.

Aggiungi il PPA usando il seguente comando:

sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y

Installa PHP per Ubuntu 20.04

Ora puoi installare PHP 7.4 o PHP 8.0. Poiché PHP è ancora più recente e forse ha più bug con phpMyAdmin, per ora si consiglia di installare PHP 7.4. Per ottenere ciò, utilizzare il seguente comando da terminale per installare i pacchetti richiesti:

sudo apt install php7.4-fpm php7.4-mbstring php7.4-bcmath php7.4-xml php7.4-mysql php7.4-common php7.4-gd php7.4-mcrypt php7.4-cli php7.4-curl php7.4-zip php7.4-gd

Installa phpMyAdmin su Ubuntu 20.04

Per impostazione predefinita, il repository di Ubuntu 20.04 viene fornito con phpMyAdmin e le dipendenze richieste. Tuttavia, come spesso con le versioni di Ubuntu LTS, la versione e la build sono molto indietro rispetto a quelle attualmente disponibili dalla fonte. Quindi, come scopo di questa guida, scaricherai dalla fonte come segue:

Scarica l'ultima versione sorgente di phpMyAdmin

Per cominciare, visita phpMyAdmin download pagina per trovare l'ultima versione attualmente. Al momento di questo tutorial, la versione 5.1.1 è l'ultima.

Eseguire i seguenti codici per scaricare automaticamente l'ultima versione di tutte le lingue:

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Se vuoi scaricare la versione inglese, sostituisci la riga di fine con la seguente:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Quindi, estrai l'archivio usando il seguente comando:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Configura phpMyAdmin manualmente

Devi spostare la directory estratta e le sue sottodirectory in / usr / share posizione della directory in cui phpMyAdmin si aspetta di trovare i suoi file di configurazione per impostazione predefinita. Per fare ciò, utilizzare il seguente comando:

sudo mv phpMyAdmin-*/ /usr/share/phpmyadmin

Per impostazione predefinita, phpMyAdmin non viene fornito con a TMP directory durante l'installazione dal sorgente ed è necessario crearla manualmente:

sudo mkdir -p /var/lib/phpmyadmin/tmp

Assegna i permessi corretti all'utente www-data con la directory phpMyAdmin:

sudo chown -R www-data:www-data /var/lib/phpmyadmin

Nella directory phpMyAdmin è incluso un file di esempio di configurazione predefinito. Dovrai rinominare questo file affinché phpMyAdmin riconosca la configurazione. Tuttavia, per il backup, utilizzerai il CP comando per creare una copia e mantenere l'impostazione predefinita come backup se vengono commessi errori nella posizione /etc/usr/phpmyadmin/ directory.

Copia config.sample.inc.php a config.inc.php con il seguente comando:

sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php

Quindi, apri questo file usando il tuo editor di testo preferito. Per il tutorial, viene utilizzato l'editor di testo nano:

sudo nano /usr/share/phpmyadmin/config.inc.php

phpMyAdmin usa a cifrario del pesce palla. Scorri verso il basso fino alla riga che inizia con $cfg['blowfish_secret'].

Le linee saranno ad esempio:

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Dovrai assegnare una stringa di 32 caratteri casuali tra le virgolette singole. Il modo più semplice per raggiungere questo obiettivo è utilizzare il programma pwgen. Installare pwgen, usa il seguente comando da terminale:

sudo apt install pwgen

Una volta installato, esegui il seguente comando:

pwgen -s 32 1

Otterrai quindi i tuoi 32 caratteri casuali per il segreto del pesce palla, output di esempio:

Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

Esempio di aggiunta della cifratura al file di configurazione (non copiare):

$cfg['blowfish_secret'] = 'kQVwa2yLI6FxA3LN6E7YcW3WgtTKTZ2j'

Il resto delle impostazioni predefinite dovrebbe funzionare per la maggior parte degli utenti. Se il tuo server si trova su un altro server situato nella tua rete, trova e modifica la linea $cfg['Server'][$i]['host'] = a quello dell'indirizzo IP privato. Esempio di seguito:

$cfg['Servers'][$i]['host'] = '192.168.55.101';

pubblicità


Crea blocco server Nginx per phpMyAdmin

Per accedere all'interfaccia web di phpMyAdmin, dovrai creare un blocco server Nginx. Si consiglia vivamente di tenerlo separato e, su un sottodominio, puoi chiamarlo come preferisci per aiutare con la sicurezza e gli attacchi di forza bruta.

Innanzitutto, crea e apri il tuo blocco server utilizzando l'editor di testo nano come segue:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

Successivamente, puoi incollare il testo sottostante nel file. Nota, devi sostituire l'URL del dominio con il tuo:

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /usr/share/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

Se sei l'unico ad accedervi da un indirizzo IP statico, puoi aggiungere il seguente codice sopra la prima voce di posizione. Un esempio di questo è di seguito:

  allow <your ip address>;
  deny all; 

  location / {
    try_files $uri $uri/ /index.php;
  }
...........................................

Questo sarà naturalmente bloccare chiunque visiti la pagina con un errore 403 a meno che non sia consentito dal tuo indirizzo IP. Questo, per natura, può fermare tutti gli attacchi bruti sulle loro tracce, ma forse non è fattibile per alcune configurazioni.


Ora salva usando (CTRL+O) ed esci con (CTRL+X).

Testa il tuo blocco server Nginx eseguendo il comando dry run:

sudo nginx -t

Se non hai errori, dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Ora riavvia il tuo servizio Nginx per rendere effettive le modifiche:

sudo systemctl restart nginx

Accesso all'interfaccia utente Web di phpMyAdmin

Per accedere all'interfaccia Web, apri il tuo browser Internet preferito e digita pma.esempio.com con (esempio) il tuo dominio. Dovresti arrivare alla schermata di accesso di phpMyAdmin come segue:

Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

Accedi utilizzando il nome utente e la password MariaDB che hai impostato originariamente all'inizio del tutorial. Verrai quindi alla schermata principale.

Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

pubblicità


Installa certificato TLS

Per promuovere sicuro l'interfaccia web di phpMyAdmin, puoi opzionalmente installare un'applicazione gratuita Criptiamo il certificato TLS dal Repository predefinito di Ubuntu.

Esegui il seguente comando nel tuo terminale Ubuntu:

sudo apt install certbot python3-certbot-nginx

Ora esegui il seguente comando per ottenere e installare il certificato TLS per Nginx e phpMyAdmin:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email your-email-address

Durante l'installazione del certificato, riceverai un avviso per ricevere email da EFF (Fondazione della frontiera elettronica). Scegli S o N, quindi il tuo certificato TLS verrà installato e configurato automaticamente per te.

Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

Questo è tutto e hai installato SSL nella tua area phpMyAdmin. Assicurati di eseguire il test utilizzando un test SSL gratuito come DigiCert or Labs SSL.

Commenti e Conclusione

Nel tutorial, hai imparato come installare le dipendenze software richieste e scaricare e creare le directory corrette per phpMyAdmin dalla fonte. Nel complesso, l'utilizzo di phpMyAdmin è un ottimo strumento per la gestione di qualsiasi database. È possibile creare facilmente database, utenti, tabelle ed eseguire le normali operazioni come l'eliminazione e la modifica di strutture e dati in un'interfaccia utente Web pulita anziché nel terminale predefinito.

Sottoscrivi
Notifica
0 Commenti
Feedback in linea
Visualizza tutti i commenti
0
Amerei i tuoi pensieri, per favore commenta.x