phpMyAdmin je bezplatná aplikace založená na PHP s otevřeným zdrojovým kódem navržená tak, aby zjednodušila správu serverů MySQL a MariaDB přes webové rozhraní.
phpMyAdmin vám umožňuje spravovat databáze MySQL, uživatelské účty a oprávnění, spouštět příkazy SQL, importovat a exportovat data v široké škále datových formátů a mnoho dalšího.
Tento tutoriál popisuje kroky potřebné k instalaci a zabezpečení phpMyAdmin na Debian 9 s webovým serverem Apache.
Předpoklady #
Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující požadavky:
- Mějte na svém serveru Debian nainstalovanou LAMP (Linux, Apache, MySQL a PHP).
- Přihlášeni jako uživatel s právy sudo.
Ačkoli je to volitelné, doporučujeme přistupovat k instalaci phpMyAdmin přes HTTPS. Pokud vaše doména ještě není chráněna SSL, můžete postupovat podle tohoto průvodce a zabezpečit svůj Apache pomocí Let’s Encrypt na Debianu 9.
Instalace phpMyAdmin #
Chcete-li nainstalovat phpMyAdmin na Debian 9, proveďte následující kroky:
-
Aktualizujte index balíčků a upgradujte systémové balíčky na nejnovější verze:
sudo apt update && sudo apt upgrade
-
Nainstalujte balíček phpMyAdmin z výchozích repozitářů Debianu zadáním:
sudo apt install phpmyadmin
Instalační program vás požádá o výběr webového serveru, který by měl být automaticky nakonfigurován pro spouštění phpMyAdmin, vyberte apache stisknutím
Space
a potéEnter
.Dále budete dotázáni, zda použít
dbconfig-common
pro nastavení databáze vyberteYes
a stiskněteEnter
.Zadejte heslo pro phpMyAdmin pro registraci do databáze, zvolte
OK
a stiskněteEnter
.Potvrďte heslo a vyberte
OK
a stiskněteEnter
. -
Po dokončení procesu instalace restartujte Apache, aby se změny projevily:
sudo systemctl restart apache2
Vytváření administrativního uživatele MySQL #
V systémech Debian se systémem MariaDB 10.1 (a novějším) je uživatel root nastaven na použití auth_socket
ve výchozím nastavení metoda ověřování.
auth_socket
plugin ověřuje uživatele, kteří se připojují z localhost prostřednictvím souboru soketu Unix. To znamená, že se nemůžete ověřit jako root zadáním hesla.
Místo změny autentizační metody pro kořenový adresář uživatele MySQL vytvoříme nového administrativního uživatele MySQL. Tento uživatel bude mít stejná oprávnění jako uživatel root a bude nastaven na používání mysql_native_password
metoda ověřování.
Tohoto uživatele použijeme k přihlášení k řídicímu panelu phpMyAdmin a provádění administrativních úloh na našem serveru MySQL nebo MariaDB.
Začněte přihlášením k serveru MySQL jako uživatel root:
sudo mysql
Z prostředí MySQL spusťte následující příkazy, které vytvoří nového administrativního uživatele a udělí příslušná oprávnění:
Administrativního uživatele jsme pojmenovaliCREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';
GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;
padmin
. Můžete použít libovolné jméno, jen nezapomeňte nastavit silné heslo. Přístup k phpMyAdmin #
Pro přístup k rozhraní phpMyAdmin otevřete svůj oblíbený prohlížeč a zadejte název domény vašeho serveru nebo veřejnou IP adresu a poté /phpmyadmin
:
https://your_domain_or_ip_address/phpmyadmin
Zadejte přihlašovací údaje správce, které jste dříve vytvořili, a klikněte na Go
.
Jakmile se přihlásíte, uvidíte panel phpMyAdmin, který bude vypadat nějak takto:
Zabezpečení phpMyAdmin #
Abychom přidali další vrstvu zabezpečení, ochráníme adresář phpMyAdmin heslem nastavením základního ověřování.
Nejprve vytvoříme soubor s hesly s uživateli pomocí htpasswd
nástroj, který je součástí balíčku Apache. Uložíme .htpasswd
soubor v /etc/phpmyadmin
adresář:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd padmin
V tomto příkladu vytváříme uživatele s názvem padmin
. Můžete si vybrat libovolné uživatelské jméno, nemusí být stejné jako administrativní uživatel MySQL.
Výše uvedený příkaz vás vyzve k zadání a potvrzení hesla uživatele.
New password:
Re-type new password:
Adding password for user padmin
Pokud chcete přidat dalšího uživatele, můžete použít stejný příkaz bez -c
příznak:
sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2
Dalším krokem je konfigurace Apache pro ochranu heslem adresáře phpMyAdmin a použití .htpasswd
soubor.
Chcete-li tak učinit, otevřete phpmyadmin.conf
soubor, který byl automaticky vytvořen během instalace phpMyAdmin:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
A upravte / vložte následující řádky zvýrazněné žlutě:
/etc/apache2/conf-available/phpmyadmin.conf<Directory /usr/share/phpmyadmin>
Options +FollowSymLinks +Multiviews +Indexes # edit this line
DirectoryIndex index.php
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
<IfModule mod_php5.c>
...
Uložte a zavřete soubor a restartujte Apache, aby se změny projevily:
sudo systemctl restart apache2
Nyní, když přistupujete k vašemu phpMyAdmin, budete vyzváni k zadání přihlašovacích údajů uživatele, kterého jste dříve vytvořili:
https://your_domain_or_ip_address/phpmyadmin
Po zadání základního ověření budete přesměrováni na přihlašovací stránku phpMyAdmin, kde musíte zadat přihlašovací údaje administrátora MySQL.
Je také dobré změnit/phpmyadmin
alias na něco jedinečnějšího a bezpečnějšího.