GNU/Linux >> Znalost Linux >  >> Ubuntu

Nainstalujte phpMyAdmin s LEMP Stack na Ubuntu 20.04 LTS

Již víme, jak nainstalovat phpMyAdmin se zásobníkem LAMP na Ubuntu 20.04 . Dnes se podívejme, jak nainstalovat phpMyAdmin se zásobníkem LEMP na edici Ubuntu 20.04 LTS. A pak také probereme několik bezpečnostních postupů, které pomohou zabezpečit phpmyadmin před běžnými hrozbami. Nejprve se ujistěte, že máte nastaven zásobník LEMP na Ubuntu 20.04, jak je popsáno v následujícím odkazu.

  • Nainstalujte Nginx, MySQL, PHP (LEMP Stack) na Ubuntu 20.04 LTS

Po instalaci zásobníku LEMP nainstalujte a zabezpečte phpMyAdmin, jak je popsáno v následujících částech.

Nainstalujte phpMyAdmin s LEMP Stack na Ubuntu 20.04 LTS

Spusťte následující příkaz pro instalaci phpMyAdmin z terminálu:

$ sudo apt install phpmyadmin

V dalším okně budete vyzváni k výběru webového serveru, který by měl být automaticky nakonfigurován pro spuštění phpMyAdmin. Jak můžete vidět na níže uvedeném snímku obrazovky, Nginx není k dispozici v seznamu webových serverů. Apache a lighthttpd jsou uvedeny pouze zde. Takženevybírejte jakýkoli webový server a nechte jej prázdné. Zvolte OK a pokračujte stisknutím ENTER:

PhpMyAdmin vyžaduje instalaci a konfiguraci databáze, než ji bude možné používat. Můžete to udělat pomocí dbconfig-command.

Zvolte Ano pro konfiguraci databáze pro phpmyadmin pomocí dbconfig-common:

Pro registraci na databázovém serveru MySQL musíte zadat heslo pro phpmyadmin. Pokud heslo nezadáte, vygeneruje se náhodné heslo.

Zadejte silné heslo a pokračujte stisknutím klávesy ENTER:

Znovu zadejte heslo:

Když jsem psal tuto příručku, když jsem se pokusil nastavit heslo pro phpmyadmin, vyhodí to následující chybu:

 An error occurred while installing the database:
mysql said: ERROR 1819 (HY000) at line 1: Your password does not satisfy
 the current policy requirements . Your options are:                                  
* abort - Causes the operation to fail; you will need to downgrade,             
reinstall, reconfigure this package, or otherwise manually intervene          
to continue using it. This will usually also impact your ability to           
install other packages until the installation failure is resolved.            
* retry - Prompts once more with all the configuration questions                
(including ones you may have missed due to the debconf priority               
setting) and makes another attempt at performing the operation.               
* retry (skip questions) - Immediately attempts the operation again,            
skipping all questions. This is normally useful only if you have 
solved the underlying problem since the time the error occurred.              
* ignore - Continues the operation ignoring dbconfig-common errors.             
This will usually leave this package without a functional database.

K této chybě dochází, protože jsme povolili VALIDATE PASSWORD komponentu, jak je popsáno v části s názvem "2.2 Změna metody ověřování pro uživatele root MySQL" v instalační příručce LEMP přiložené výše.

Chcete-li tento problém vyřešit, musíte dočasně zakázat komponentu Validate Password a znovu ji povolit po nastavení hesla pro phymyadmin. Kliknutím na OK zavřete výše uvedenou chybovou zprávu a zvolte "přerušit" zrušit instalaci phpmyadmin.

Nyní se přihlaste k výzvě Mysql spuštěním následujícího příkazu:

$ mysql -u root -p

Z příkazového řádku mysql vylaďte následující příkaz, abyste deaktivovali plugin Validate Password:

mysql> UNINSTALL COMPONENT "file://component_validate_password";

Upozorňujeme, že výše uvedený příkaz plugin pouze zakáže, ale neodebere jej. Můžete to povolit později. Poté zadejte „exit“ pro ukončení výzvy Mysql.

mysql> exit

Nyní zkuste znovu nainstalovat phpmyadmin pomocí příkazu:

$ sudo apt install phpmyadmin

Zvolte "Ano" a stiskněte ENTER pro konfiguraci databáze pro phpmyadmin pomocí dbconfig-common. Tentokrát bude instalace phpmyadmin fungovat bez problémů.

Jakmile je phpmyadmin nainstalován, znovu povolte plugin Ověřit heslo. Chcete-li tak učinit, přihlaste se do výzvy Mysql:

$ mysql -u root -p

Z příkazového řádku mysql vylaďte následující příkaz, abyste deaktivovali plugin Validate Password:

mysql> INSTALL COMPONENT "file://component_validate_password";

Chcete-li nabídku mysql ukončit, zadejte příkaz exit.

mysql> exit

Nyní vytvořte symbolický odkaz pro konfiguraci webového serveru Nginx pro spuštění phpmyadmin pomocí příkazu:

$ sudo ln -s /usr/share/phpmyadmin/ /var/www/html/phpmyadmin

Tento příkaz vytvoří symbolický odkaz s názvem „phpmyadmin“ v kořenovém adresáři Nginx. Tento symbolický odkaz ve skutečnosti ukazuje na adresář /usr/share/phpmyadmin, kde jsou uloženy skutečné soubory.

Hotovo! Úspěšně jsme nainstalovali PhpMyAdmin se zásobníkem LEMP.

Přístup k ovládacímu panelu phpMyAdmin

Otevřete webový prohlížeč a přejděte na "http://IP-Address/phpmyadmin" z adresního řádku.

Měli byste vidět přihlašovací stránku phpmyadmin. Zadejte uživatele databáze a jeho heslo:

Budete spokojeni s phpMyAdmin dashboardem.

Zde můžete vytvářet, mazat a spravovat databáze.

Vytvořte vyhrazeného uživatele pro přístup k řídicímu panelu phpMyAdmin

Jakmile je phpMyAdmin nainstalován, uživatel databáze se jmenuje 'phpmyadmin' se automaticky vytvoří s heslem správce, které jste nastavili během instalace. K řídicímu panelu phpmyAdmin se můžete přihlásit pomocí uživatele 'phpmyadmin' nebo mysql root uživatele, jak je uvedeno výše. Je však doporučeno vytvořit specializovaného uživatele pro správu databází prostřednictvím webového rozhraní phpMyAdmin.

Chcete-li tak učinit, přihlaste se do prostředí mysql pomocí příkazu:

$ mysql -u root -p

Zadejte své heslo root mysql. Nyní budete v prostředí mysql.

Chcete-li vytvořit nového vyhrazeného uživatele pro phpmyadmin, zadejte následující příkaz:

mysql> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'Password123#@!';

Zde phpmyadmin je nový uživatel pro přístup k řídicímu panelu phpmyadmin. Heslo pro phpmyadminuser je Password123#@! . Nahraďte tyto hodnoty svými vlastními.

Dále udělte příslušná oprávnění 'phpmyadminuser' pomocí příkazu:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Nakonec ukončete prostředí mysql:

mysql> exit

Nyní jsme vytvořili vyhrazeného uživatele pro správu databází přes webové rozhraní phpmyadmin. Pokračujme a přistupme k řídicímu panelu phpmyadmin.

Otevřete webový prohlížeč a přejděte na "http://IP-Address/phpayadmin. Zadejte nově vytvořeného uživatele databáze a jeho heslo. Blahopřejeme! Přihlásili jste se s vyhrazeným uživatelem na webový panel phpMyAdmin.

Zabezpečte phpMyAdmin

Tato část poskytuje několik tipů pro zabezpečení instalace PhpMyAdmin. Vezměte prosím na vědomí, že následující kroky samy o sobě nemohou phpMyAdmin 100% zabezpečit. Nicméně alespoň zpomalí jakékoli pokusy pachatele proniknout do vašeho phpmyadmin dashboardu.

Zakažte přihlášení kořenového adresáře MySQL k řídicímu panelu phpmyadmin

Povolit uživateli root v mysql přístup k řídicímu panelu phpMyAdmin není bezpečné, zejména při správě databází přes síť. To je důvod, proč jsme v předchozí části vytvořili vyhrazeného uživatele. Protože již máme vyhrazeného uživatele, můžeme bezpečně zakázat přihlášení root mysql pro přístup k řídicímu panelu phpmyadmin, abychom minimalizovali útoky.

Obecně se phpmyadmin instaluje pod /usr/share/phpmyadmin/ adresář a jeho konfigurační soubory jsou uloženy v /etc/phpmyadmin adresář.

Upravit konfigurační soubor phpmyadmin:

$ sudo nano /etc/phpmyadmin/config.inc.php

Přidejte/upravte následující parametry:

[...]
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;
[...]

Uložte a zavřete soubor.

Restartujte webový server Nginx pomocí příkazu:

$ sudo systemctl restart nginx

Nyní se zkuste přihlásit do phpmyadmin jako uživatel root. Zobrazí se Přístup odepřen chybová zpráva:

Změnit adresu URL webového rozhraní phpmyadmin

Toto je nejběžnější taktika, kterou následují roboti, aby získali přístup k phpmyadminovi. Tomu můžete zabránit změnou adresy URL na něco, co je těžké uhodnout. Změnou adresy URL phpmyadmin se vyhnete tomu, aby roboti nebo automatické skripty prováděly skenování adres URL a útoky hrubou silou.

Pamatujete si, že jsme vytvořili symbolický odkaz nazvaný „phpmyadmin“ v kořenovém adresáři Nginx?

$ ls -l /var/www/html/
total 8
-rw-r--r-- 1 root root 612 Jun  2 07:15 index.nginx-debian.html
-rw-r--r-- 1 root root  20 Jun  2 07:35 info.php
lrwxrwxrwx 1 root root  22 Jun  2 08:14 phpmyadmin -> /usr/share/phpmyadmin/

Zde je phpmyadmin symbolický odkaz, který ukazuje na adresář /usr/share/phpmyadmin.

Změníme název symbolického odkazu pomocí příkazu:

$ sudo mv /var/www/html/phpmyadmin /var/www/html/ostechnix

Ujistěte se, že název obsahuje náhodné znaky a je velmi obtížné jej uhodnout.

Od této chvíle, kdykoli se někdo pokusí vstoupit na stránku phpmyadmin přechodem na http://IP-Address/phpmyadmin URL, zobrazí se mu následující chybová zpráva:

Protože jsme změnili URL. Nová adresa URL pro phpmyadmin je http://IP-Address/ostechnix.

Přihlašovací stránka phpMyAdmin s ochranou heslem

Můžeme přidat další vrstvu zabezpečení omezením přístupu na přihlašovací stránku phpmyadmin pomocí základní autentizační metody HTTP. Význam – aktivujeme ochranu heslem pro přihlašovací stránku phpmyadmin, takže uživatelé budou muset zadat další uživatelské jméno/heslo, než vstoupí na skutečnou přihlašovací stránku phpMyAdmin.

Nejprve musíme vygenerovat soubor s hesly pomocí htpasswd užitečnost. Nástroj htpasswd je součástí apache2-utils balík. Pojďme jej tedy nainstalovat pomocí příkazu:

$ sudo apt install apache2-utils

Nyní vytvořte zašifrovaný soubor s hesly pomocí příkazu:

$ sudo htpasswd -c /etc/nginx/.htpasswd ostechnix

Nahraďte „ostechnix“ uživatelským jménem dle vašeho výběru. Pro vygenerování souboru s hesly zadejte dvakrát silné heslo.

Chcete-li zobrazit obsah nově vygenerovaného souboru, použijte příkaz "cat" jako níže:

$ cat /etc/nginx/.htpasswd

Uvidíte výstup jako níže:

ostechnix:$apr1$Us9YABHL$CMPDIuHaOB2lK/DVIzA2C/

Dále musíme zmínit cestu k výše uvedenému souboru s hesly v našem výchozím konfiguračním souboru Nginx. Pokud jste postupovali podle našeho instalačního návodu LEMP přiloženého výše, výchozí konfigurace Nginx by měla být /etc/nginx/sites-available/default .

Upravte výchozí konfigurační soubor Nginx:

$ sudo nano /etc/nginx/sites-available/default

Přidejte následující řádky pod "umístění" blokovat:

[...]
location /ostechnix {
                auth_basic "Restricted Zone";
                auth_basic_user_file /etc/nginx/.htpasswd;
        }
[...]

Pamatujete si, že jsme v předchozím kroku změnili URL phpMyAdmina (http://IP-Address/ostechnix)? Proto jsem ve výše uvedeném bloku uvedl název bloku jako "ostechnix". Nahraďte jej vlastním. Uložte a zavřete soubor.

Zkontrolujte konfigurační soubor Nginx, zda neobsahuje chyby syntaxe, pomocí příkazu:

$ sudo nginx -t

Ukázkový výstup:

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

Pokud nevidíte žádné chyby, restartujte službu nginx, aby se změny projevily.

$ sudo systemctl restart nginx

Nyní zkuste získat přístup k vaší phpMyAdmin URL z vašeho prohlížeče. Budete vyzváni k zadání uživatelského jména a hesla:

Zadejte správné uživatelské jméno a heslo, které bude vytvořeno dříve pomocí nástroje "htpassword". Nyní budete přesměrováni na skutečnou přihlašovací stránku phpMyAdmin, kde můžete zadat uživatele databáze a jeho heslo pro přihlášení do webového panelu phpMyAdmin.


Ubuntu
  1. Jak nainstalovat Nginx s PHP a MySQL (LEMP Stack) na Ubuntu 20.04 LTS

  2. Nainstalujte WordPress s LEMP Stack na Ubuntu 20.04

  3. Nainstalujte phpMyAdmin na Ubuntu 14.10

  1. Jak nainstalovat LEMP Stack na Ubuntu 16.04

  2. Nainstalujte phpMyAdmin s LAMP Stack na Ubuntu 18.04 LTS

  3. Nainstalujte phpMyAdmin s LAMP Stack na Ubuntu 20.04 LTS

  1. Nainstalujte MEAN.JS Stack v Ubuntu 18.04 LTS

  2. Nainstalujte WordPress s LEMP Stack na Ubuntu 20.04

  3. Nainstalujte ProjectSend na Ubuntu 20.04 s Nginx (LEMP Stack)