phpMyAdmin je bezplatný a open source administrační nástroj pro MySQL a MariaDB. phpMyAdmin je webový nástroj, který vám umožňuje snadno spravovat databáze MySQL nebo MariaDB. Pomocí phpMyAdmin můžete provádět administrativní úlohy, jako je vytváření, úprava nebo mazání databází, import a export záloh databází, spouštění vyhledávání a správa uživatelů a oprávnění.
Funkce
- Podpora více jazyků.
- Importujte data z CSV a SQL.
- Poskytujte živé grafy pro sledování aktivity serveru MySQL, jako jsou připojení, procesy, využití CPU/paměti atd.
- Globální vyhledávání v databázi nebo její podmnožině.
- Jednoduché a snadno použitelné webové rozhraní.
- Exportujte data do různých formátů, jako je CSV, SQL, XML, PDF, Word, Excel, LaTeX a další.
V tomto tutoriálu vysvětlíme, jak nainstalovat a zabezpečit phpMyAdmin na serveru Ubuntu 18.04.
Požadavky
- Server se systémem Ubuntu 18.04.
- Uživatel bez oprávnění root s právy sudo.
Instalovat phpMyAdmin
Než začnete, budete muset na svůj server nainstalovat Apache a MySQL. Můžete jej nainstalovat pomocí následujícího příkazu:
sudo apt-get install apache2 mysql-server -y
Ve výchozím nastavení není phpMyAdmin k dispozici ve výchozím úložišti Ubuntu 18.04. Budete tedy muset do svého systému přidat úložiště PHP třetí strany.
Můžete jej přidat pouhým spuštěním následujícího příkazu:
sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
Jakmile je úložiště přidáno, nainstalujte phpMyAdmin spuštěním následujícího příkazu:
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
Během instalace budete požádáni o výběr webového serveru, jak je uvedeno níže:
Vyberte Apache a klikněte na OK knoflík. Budete přesměrováni na následující stránku:
Nyní klikněte na Ano knoflík. Měli byste vidět následující stránku:
Zde zadejte heslo aplikace MySQL pro phpMyAdmin a klikněte na OK tlačítko.
Po instalaci phpMyAdmin povolte rozšíření PHP mbstring pomocí následujícího příkazu:
sudo phpenmod mbstring
Poté restartujte službu Apache, aby se změny projevily:
sudo systemctl restart apache2
Konfigurovat ověření uživatele
phpMyAdmin automaticky vytvořil uživatele databáze s názvem phpmyadmin s heslem správce, které jste nastavili během instalace. Je však doporučeno vytvořit samostatného uživatele pro správu databází prostřednictvím webového rozhraní phpMyAdmin. V nejnovější verzi MariaDB je uživatel root MySQL ve výchozím nastavení nastaven na ověřování pomocí pluginu auth_socket. Pokud se tedy chcete přihlásit do phpMyAdmin jako váš root uživatel MySQL, budete muset změnit jeho autentizační metodu z auth_socket na mysql_native_password.
Nejprve se přihlaste do prostředí MySQL pomocí následujícího příkazu:
sudo mysql
Dále zkontrolujte metodu ověřování uživatele MySQL pomocí následujícího příkazu:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Výstup:
+------------------+-------------------------------------------+-----------------------+-----------+ | 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 | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Ve výše uvedeném výstupu byste měli vidět, že uživatel root používá plugin auth_socket.
Účet root můžete nakonfigurovat pro ověřování pomocí hesla spuštěním následujícího příkazu:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Dále vyprázdněte oprávnění pomocí následujícího příkazu:
mysql> FLUSH PRIVILEGES;
Nyní zkontrolujte metody ověřování spuštěním následujícího příkazu:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Výstup:
+------------------+-------------------------------------------+-----------------------+-----------+ | user | authentication_string | plugin | host | +------------------+-------------------------------------------+-----------------------+-----------+ | root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost | | mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost | +------------------+-------------------------------------------+-----------------------+-----------+ 4 rows in set (0.01 sec)
Dále vytvořte samostatného uživatele s názvem phpmyadminuser pro připojení k phpMyAdmin.
Nejprve se přihlaste do prostředí MySQL:
mysql -u root -p
Zadejte heslo uživatele root a vytvořte uživatele pomocí následujícího příkazu:
MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';
Dále udělte příslušná oprávnění phpmyadminuser pomocí následujícího příkazu:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;
Nakonec ukončete prostředí MySQL pomocí následujícího příkazu:
MariaDB [(none)]> exit;
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/phpmyadmin. Budete přesměrováni na následující stránku:
Zde zadejte své uživatelské jméno a heslo. Poté klikněte na Přejít knoflík. Na následující stránce byste měli vidět řídicí panel PhpMyAdmin:
Bezpečný PhpMyAdmin
phpMyAdmin je nyní nainstalován a nakonfigurován. Je však doporučeno zabezpečit instanci phpMyAdmin, abyste zabránili neoprávněnému přístupu. phpMyAdmin můžete zabezpečit pomocí vestavěných funkcí ověřování a autorizace .htaccess od Apache.
Chcete-li tak učinit, nejprve povolte použití přepisů souboru .htaccess úpravou souboru phpmyadmin.conf:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Proveďte následující změny:
<Directory /usr/share/phpmyadmin> Options SymLinksIfOwnerMatch DirectoryIndex index.php AllowOverride All
Uložte a zavřete soubor. Poté restartujte službu Apache, abyste použili změny:
sudo systemctl restart apache2
Dále vytvořte soubor .htaccess v adresáři phpmyadmin:
sudo nano /usr/share/phpmyadmin/.htaccess
Přidejte následující řádky:
AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/phpmyadmin/.htpasswd Require valid-user
Uložte a zavřete soubor. Poté vytvořte uživatele s názvem admin pomocí nástroje htpasswd:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin
Výstup:
New password: Re-type new password: Adding password for user admin
Vaše instance phpMyAdmin je nyní zabezpečena další vrstvou ověřování.
Nyní otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/phpmyadmin. Budete přesměrováni na další název účtu a heslo, které jste právě nakonfigurovali, jak je uvedeno níže:
Nyní zadejte své uživatelské jméno a heslo a klikněte na Protokol V knoflík. Měli byste být přesměrováni na běžnou ověřovací stránku phpMyAdmin.
Odkazy
- phpMyAdmin