PhpMyAdmin je GUI (Graphic User Interface), které umožňuje vytvářet, ukládat a upravovat celé databáze vytvořené pomocí MySQL.
V této příručce se dozvíte, jak nainstalovat phpMyAdmin a jak zabezpečit jeho přístup v Linuxu Ubuntu 18.04.
Nejprve se připojte k serveru prostřednictvím připojení SSH. Pokud jste tak ještě neučinili, doporučujeme se podle našeho průvodce bezpečně připojit pomocí protokolu SSH. V případě lokálního serveru přejděte k dalšímu kroku a otevřete terminál svého serveru.Instalace phpMyAdmin
PhpMyAdmin je ve standardním úložišti Ubuntu.
Nejprve aktualizujte index apt a poté stáhněte a nainstalujte phpMyAdmin:
$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-gettext
Zadáním Y a stisknutím klávesy Enter pro potvrzení.
Zobrazí se následující obrazovka:
Zde vyberte apache, ale pozor, červená pomlčka nevybere apache 2. Chcete-li jej vybrat, stiskněte mezerník a poté stiskněte Enter. Pokud mezerník nestisknete, soubory potřebné k instalaci se nepřenesou.
Po stisknutí klávesy Enter se zobrazí následující obrazovka:
Vyberte Ano a stiskněte Enter.
Nyní musíte zadat heslo pro administrátorskou databázi. Zadejte nové heslo, stisknutím klávesy Tab vyberte OK a stiskněte Enter.
Nyní zadejte a potvrďte heslo pro aplikaci.
Stejně jako předtím zadejte nové heslo, stisknutím klávesy TAB vyberte OK a stiskněte Enter.
Potvrďte heslo.
Po dokončení instalace bude zde přidán konfigurační soubor phpMyAdmin:
/etc/apache2/conf-enabled/phpmyadmin.conf The
Jediné, co budete muset udělat, je aktivovat rozšíření PHP mbstring. Chcete-li tak učinit, zadejte:
$ sudo phpenmod mbstring
Chcete-li použít všechny změny, restartujte Apache zadáním:
$ sudo systemctl restart apache2
Správa přístupových oprávnění
Chcete-li používat phpMyAdmin, nepřihlašujte se jako uživatel vytvořený automaticky během instalace. místo toho se přihlaste jako uživatel root MySQL nebo jako správce databáze přes rozhraní phpMyAdmin.
Můžete se rozhodnout nakonfigurovat pouze jednoho z těchto dvou uživatelů nebo oba.
Konfigurace hesla pro kořenový účet MySQL
Přístup jako uživatel root MySQL vyžaduje místo jednoduchého hesla ověřovací auth_socket. Chcete-li se přihlásit jako kořen MySQL přes phpMyAdmin, změňte metodu ověřování.
Chcete-li tak učinit, otevřete výzvu MySQL
$ sudo mysql
Zkontrolujte autentizační metody pro každého uživatele MySQL zadáním:
SELECT user, authentication_string, plugin, host FROM mysql.user;
Nyní je zobrazen seznam všech autentizačních metod pro uživatele MySQL. Zde můžete jasně vidět, jak má uživatel root typ ověřování auth_socket.
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
Chcete-li změnit typ ověřování z auth_socket na mysql_native_password a použít heslo pro přihlášení k uživateli root, zadejte:
ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Místo hesla zadejte heslo, které si budete muset zapamatovat.
Potvrďte změny, které jste právě provedli, zadáním:
FLUSH PRIVILEGES;
Tímto způsobem bude server upozorněn, že je třeba aktualizovat metodu ověřování pro uživatele root.
Přepsáním zkontrolujte, zda jsou změny uloženy:
SELECT user, authentication_string, plugin, host FROM mysql.user;
Pokud bylo vše provedeno správně, způsob ověření pro uživatele root se změní a zobrazená obrazovka bude podobná následující:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |
| phpmyadmin | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
Až budete hotovi, použijte dříve zvolené heslo k ověření sebe jako uživatele root v rozhraní phpMyAdmin.
Nakonfigurujte heslo pro vyhrazeného uživatele MySQL
Chcete-li přistupovat k phpMyAdmin nikoli jako uživatel root, ale jako uživatel vytvořený speciálně pro tento účel, nezbývá nic jiného, než si jej vytvořit.
Chcete-li tak učinit, znovu se přihlaste do řádku MySQL.
V případě již nakonfigurovaného ověřování na základě hesla pro uživatele root zadejte:
$ mysql -u root -p
Pokud jste se rozhodli nepoužívat uživatele root, zadejte:
$ sudo mysql
Nyní vytvořte nového uživatele a poté zadejte jméno a heslo:
$ CREATE USER 'username' @ 'localhost' IDENTIFIED BY 'password';
Nahraďte 'uživatelské jméno' a 'heslo' těmi, které jste vybrali.
Chcete-li novému uživateli udělit všechna potřebná oprávnění, zadejte:
$ GRANT ALL PRIVILEGES ON *. * TO 'username' @ 'localhost' WITH GRANT OPTION;
Poté ukončete výzvu MySQL zadáním:
$ exit
První přístup k phpMyAdmin
Pro připojení k serveru stačí použít tuto adresu URL ve vámi zvoleném prohlížeči:http:// IP-SERVER / phpmyadmin
Pokud je adresa správná, zobrazí se obrazovka a budete požádáni o zadání uživatelského jména a hesla.
Zde se můžete přihlásit jako uživatel root nebo jako nově vytvořený uživatel.
Pokud bylo vše správně spuštěno, zobrazí se ovládací panel phpMyAdmin.
Ochrana před vnějšími útoky
phpMyAdmin nakonfigurovaný tímto způsobem je zvláště zranitelný vůči externím útokům, protože tyto databáze jsou pro některé lidi obzvláště zajímavé.
Nejjednodušší způsob, jak těmto útokům zabránit, je přidat přístupový port do celé aplikace pomocí integrované funkce Apache.
Tato funkce je .htaccess.
Chcete-li nakonfigurovat tuto funkci, přejděte do souboru .conf v adresáři apache.
Za tímto účelem zadejte:
$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Uvnitř souboru .conf vyhledejte sekci:
<Directory / usr / share / phpmyadmin>
a přidejte:
AllowOverride All
Po přidání direktivy AllowOverride All uložte a zavřete soubor .conf a restartujte Apache, aby se implementovaly všechny změny.
Chcete-li tak učinit, zadejte:
$ sudo systemctl restart apache2
Jakmile je pro vaši aplikaci povolen .htaccess, vytvořte novou.
Soubor je v adresáři aplikace.
Chcete-li tak učinit, zadejte:
$ sudo nano /usr/share/phpmyadmin/.htaccess
Do souboru napište:
AuthType Basic
AuthName "Reserved files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Tento soubor jednoduše vytvoří dialogové okno pro ověření.
"Název" dialogového okna bude "Vyhrazené soubory". Tento název můžete libovolně změnit. Doporučuje se neuvádět vysoce konkrétní název, aby se zajistilo, že uživatelé se zlými úmysly nebudou mít zájem tuto ochranu obejít.
Uložte soubor a zavřete jej.
Nyní vytvořte soubor s hesly.
Chcete-li jej vytvořit, zadejte:
$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Nahraďte "username" jménem dle vlastního výběru.
Budete požádáni o výběr a potvrzení hesla, poté bude vytvořen soubor s heslem v /etc/phpmyadmin/.htpasswd.
Od této chvíle budou před přístupem k phpMyAdmin vyžadována další uživatelská jména a hesla, aby bylo vše bezpečnější.
Po zadání svého uživatelského jména a hesla se zobrazí běžné přihlašovací okno phpMyAdmin, kam zadat přihlašovací údaje pro MySQL.