GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat phpMyAdmin s Nginx (LEMP) na Ubuntu 20.04 LTS

Tento tutoriál vám ukáže, jak nainstalovat phpMyAdmin s Nginx, MariaDB a PHP7.4 (LEMP) na Ubuntu 20.04. phpMyAdmin je bezplatný a open-source webový nástroj pro správu databází napsaný v PHP. Poskytuje uživatelům grafické webové rozhraní pro správu databáze MySQL nebo MariaDB.

phpMyAdmin umožňuje administrátorům:

  • procházet databázemi a tabulkami;
  • vytvářet, kopírovat, přejmenovávat, upravovat a rušit databáze;
  • vytvářet, kopírovat, přejmenovávat, upravovat a rušit tabulky;
  • provádět údržbu tabulek;
  • přidávat, upravovat a rušit pole;
  • provádět jakýkoli příkaz SQL, dokonce i více dotazů;
  • vytvářet, měnit a rušit indexy;
  • načíst textové soubory do tabulek;
  • vytvářet a číst výpisy tabulek nebo databází;
  • exportujte data do formátů SQL, CSV, XML, Word, Excel, PDF a LaTeX;
  • spravovat více serverů;
  • spravovat uživatele a oprávnění MySQL;
  • zkontrolujte nastavení serveru a informace o běhu pomocí konfiguračních tipů;
  • kontrola referenční integrity v tabulkách MyISAM;
  • automaticky vytvářet složité dotazy pomocí jednotlivých příkladů (QBE)
  • připojování požadovaných tabulek;
  • vytvořit PDF grafiku rozložení databáze;
  • globálně hledat v databázi nebo její podmnožině;
  • transformovat uložená data do libovolného formátu pomocí sady předdefinovaných funkcí, jako je zobrazení dat BLOB jako obrázku nebo odkazu ke stažení;
  • spravovat tabulky InnoDB a cizí klíče;

Předpoklady

Abyste mohli postupovat podle tohoto návodu, musíte mít operační systém Ubuntu 20.04 spuštěný na místním počítači nebo na vzdáleném serveru.

Pokud hledáte VPS (virtuální soukromý server), můžete kliknout na tento speciální odkaz a získat kredit 100 $ zdarma na DigitalOcean. (Pouze pro nové uživatele). Pokud již jste uživatelem DigitalOcean, můžete kliknout na tento speciální odkaz a získat kredit 50 $ zdarma na Vultr (pouze pro nové uživatele).

Předpokládá se, že jste již nainstalovali LEMP stack na Ubuntu 20.04. Pokud ne, podívejte se prosím na následující návod.

  • Jak nainstalovat zásobník LEMP (Nginx, MariaDB, PHP7.4) na Ubuntu 20.04

Když je to z cesty, začněme s instalací phpMyAdmin.

Krok 1:Stáhněte a nainstalujte phpMyAdmin na Ubuntu 20.04

phpMyAdmin je součástí softwarového úložiště Ubuntu 20.04, takže jej můžeme snadno nainstalovat pomocí následujícího příkazu.

sudo apt update
sudo apt install phpmyadmin

Výše uvedený příkaz nainstaluje všechny potřebné závislosti včetně rozšíření PHP7. Během instalace se zeptá, zda chcete použít dbconfig-common pro konfiguraci databáze. Stisknutím klávesy Tab vyberte Ano.

Tím také vytvoříte nového uživatele databáze s názvem phpmyadmin . Dejte tomuto uživateli heslo.

Dále vás vyzve k výběru webového serveru, který chcete nakonfigurovat. Nginx není na seznamu, takže stiskněte klávesu Tab a stiskněte OK pro přeskočení tohoto kroku.

Jakmile bude hotovo, nová databáze s názvem phpmyadmin je vytvořen a uživatel databáze phpmyadmin má potřebná oprávnění ke správě této databáze. Pokud jste zvědaví jako já, můžete se přihlásit do MariaDB a zkontrolovat, jaká oprávnění phpmyadmin uživatel byl udělen.

Pro přihlášení k serveru MariaDB můžete použít následující příkaz.

sudo mysql -u root

Poté zkontrolujte oprávnění.

show grants for [email protected];

Výstup:

Jak můžete vidět, uživatel phpmyadmin má všechna oprávnění k databázi phpmyadmin . Nyní můžete ukončit spuštěním:

exit;

Krok 2:Vytvořte blok serveru Nginx pro phpMyAdmin

Abychom mohli přistupovat k webovému rozhraní phpMyAdmin, musíme vytvořit blok serveru Nginx spuštěním následujícího příkazu.

sudo nano /etc/nginx/conf.d/phpmyadmin.conf

Nakonfigurujeme jej tak, abychom měli přístup k phpMyAdmin přes subdoménu. Do souboru vložte následující text. Nahraďte pma.example.com se svou skutečnou subdoménou a nezapomeňte pro ni vytvořit záznam DNS A.

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;
  }
}

Vaše soubory phpMyAdmin jsou v /usr/share/phpmyadmin/ adresář. Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Nyní byste měli mít přístup k webovému rozhraní phpMyAdmin přes

pma.example.com

Krok 3:Instalace certifikátu TLS

Pro zabezpečení webového rozhraní phpMyadmin můžeme nainstalovat bezplatný certifikát Let’s Encrypt TLS. Nainstalujte klienta Let’s Encrypt ze softwarového úložiště Ubuntu 20.04, jak je uvedeno níže:

sudo apt install certbot python3-certbot-nginx

Python3-certbot-nginx je plugin Nginx pro Certbot. Nyní spusťte následující příkaz pro získání a instalaci certifikátu TLS.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d pma.example.com --email [email protected]

Kde:

  • –nginx :Použijte ověřovací a instalační program Nginx
  • –souhlasím :Souhlasíte s podmínkami služby Let’s Encrypt
  • –přesměrování :Vynutit HTTPS přesměrováním 301.
  • –hsts :Ke každé odpovědi HTTP přidejte hlavičku Strict-Transport-Security.
  • –staple-ocsp :Povolí sešívání OCSP.
  • –nezbytné sešít :Přidá do certifikátu rozšíření OCSP Must Staple.
  • -d za příznakem následuje seznam názvů domén oddělených čárkou. Můžete přidat až 100 názvů domén.
  • –e-mail :E-mail používaný pro registraci a kontakt pro obnovení.

Budete dotázáni, zda chcete dostávat e-maily od EFF (Electronic Frontier Foundation). Po výběru Y nebo N bude váš certifikát TLS automaticky získán a nakonfigurován, což je indikováno níže uvedenou zprávou.

Krok 4:Otestujte svůj certifikát TLS

Přejděte na stránku ssllabs.com a otestujte svůj certifikát TLS a konfiguraci. Měli byste dostat A+ protože je povoleno HSTS.

Krok 5:Odstraňování problémů s chybou přihlášení phpMyAdmin

Pokud se přihlásíte pomocí root účtu MariaDB, může se zobrazit následující chyba.

 #1698 - Access denied for user 'root '@'localhost'

a

mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'

Pokud se přihlásíte pomocí uživatele phpmyadmin , neuvidíte výše uvedenou chybu. Nicméně uživatel phpmyadmin lze použít pouze ke správě phpmyadmin databáze. Příčinou chyby je, že uživatel root MariDB je ve výchozím nastavení autentizován prostřednictvím pluginu unix_socket namísto použití mysql_native_password zapojit. Abychom tento problém vyřešili, můžeme vytvořit dalšího administrátora a udělit mu všechna oprávnění.

Přihlaste se k serveru MariaDB z příkazového řádku.

sudo mariadb -u root

Vytvořte administrátora s ověřením pomocí hesla.

create user [email protected] identified by 'your-chosen-password';

Udělte všechna oprávnění pro všechny databáze.

grant all privileges on *.* to [email protected] with grant option;

Vyprázdnit oprávnění a odejít;

flush privileges;

exit;

Nyní se můžete přihlásit do phpMyAdmin pomocí účtu správce a spravovat všechny databáze.

Automatické obnovení certifikátu TLS

Chcete-li automaticky obnovit certifikát Let’s Encrypt, jednoduše upravte soubor crontab uživatele root.

sudo crontab -e

Poté přidejte následující řádek na konec.

@daily certbot renew --quiet && systemctl reload nginx

Aby Nginx vyzvedl klientům nový certifikát, je nutné jej znovu načíst.


Ubuntu
  1. Jak nainstalovat phpMyAdmin s Nginx na Ubuntu 18.04

  2. Jak nainstalovat Seafile s Nginx na Ubuntu 20.04 LTS

  3. Jak nasadit Modsecurity s Nginx na Ubuntu 20.04 LTS

  1. Jak nainstalovat Seafile s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat GitBucket s Nginx na Ubuntu 18.04 LTS

  3. Jak nainstalovat osTicket s Nginx na Ubuntu 18.04 LTS

  1. Jak nainstalovat GitBucket s Nginx na Ubuntu 20.04 LTS

  2. Jak nainstalovat TYPO3 8.1 s Nginx (LEMP) na Ubuntu 16.04

  3. Nainstalujte phpMyAdmin s LEMP Stack na Ubuntu 20.04 LTS