phpMyAdmin je bezplatný a open source administrační nástroj pro MySQL a MariaDB. Jako přenosná webová aplikace napsaná primárně v PHP se stala jedním z nejoblíbenějších administračních nástrojů MySQL, zejména pro webhostingové služby. V této příručce se chystáme nainstalovat phpMyAdmin s Apache na CentOS 7.
Důležitým předpokladem před použitím této příručky je instalace zásobníku LAMP (Linux, Apache, MariaDB a PHP) na váš server CentOS 7. LAMP stack je platforma, která bude použita pro obsluhu našeho rozhraní phpMyAdmin (MariaDB je také software pro správu databází, který chceme spravovat). Pokud ještě nemáte na svém serveru instalaci LAMP, klikněte sem a přečtěte si náš tutoriál o instalaci LAMP na CentOS 7.
Krok 1:Přidejte úložiště EPEL:
Potřebujeme přidat EPEL repo (Extra Packages for Enterprise Linux) na náš server, než budeme pokračovat v instalaci, protože obsahuje mnoho dalších balíčků, včetně balíčku phpMyAdmin, který hledáme. Pro instalaci zadejte následující příkaz:
sudo yum install epel-release
Krok 2:Nainstalujte phpMyAdmin:
Zadáním následujícího příkazu nainstalujte balíček phpMyAdmin pomocí systému balíčků yum a poté y pro pokračování:
sudo yum install phpmyadmin
Po úspěšné instalaci byste měli získat podobný výsledek jako níže:
Instalace zahrnuje konfigurační soubor Apache, který byl umístěn do příslušného adresáře. Aby naše instalace fungovala perfektně pro naše potřeby, musíme tento konfigurační soubor upravit.
Otevřete phpMyAdmin.conf
v /etc/httpd
soubor v textovém editoru (v této příručce nano), abyste provedli několik úprav:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
V současné době je nastavení v konfiguračním souboru nakonfigurováno tak, aby odmítalo přístup k jakémukoli připojení, které není vytvořeno ze samotného serveru. Protože posuzujeme náš server vzdáleně (přes ssh), musíme upravit některé řádky, abychom specifikovali IP adresu vašeho domácího připojení.
První umístění je <Directory /usr/share/phpMyAdmin/>
sekce, jak je znázorněno níže:
Změňte všechny řádky s nápisem Require ip 127.0.0.1
nebo Allow from 127.0.0.1
odkazovat na IP adresu vašeho domácího připojení.
Poznámka: Pokud potřebujete pomoc s nalezením IP vašeho domácího připojení, klikněte sem a zkontrolujte.
Druhým umístěním je <Directory /usr/share/phpMyAdmin/setup/>
sekce, jak je znázorněno níže:
Změňte také všechny řádky s nápisem Require ip 127.0.0.1
nebo Allow from 127.0.0.1
odkazovat na IP adresu vašeho domácího připojení.
Poznámka: IP adresa vašich domácích připojení se liší od IP adresy vašeho VPS.
Po provedení konfigurací restartujte webový server Apache zadáním:
sudo systemctl restart httpd.service
Pro přístup k rozhraní navštivte ve svém webovém prohlížeči svou veřejnou IP adresu nebo název domény serveru následovaný /phpMyAdmin:
http://server_domain_or_IP/phpMyAdmin
Přihlaste se do rozhraní phpmyadmin pomocí uživatelského jména root a hesla správce, které jste nastavili během instalace MySQL. Po přihlášení vypadá uživatelské rozhraní jako na obrázku níže:
ZABEZPEČENÍ VAŠÍ INSTANCE PHPMYADMIN
Zabezpečení vašeho phpmyadmina je důležité, abyste zabránili neoprávněnému přístupu. Snadný způsob, jak to udělat, je změnit umístění rozhraní z /phpMyAdmin na něco jiného, abyste zabránili automatickým pokusům o hrubou sílu.
Otevřete konfigurační soubor pomocí příkazu níže:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Dva řádky níže jsou výchozí aliasy, které nám poskytují obsah z /usr/share/phpMyAdmin
umístění, pokud přistupujeme k názvu domény nebo IP adrese našeho webu, za kterým následuje buď /phpMyAdmin
nebo /phpmyadmin
.
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
Tyto výchozí aliasy se chystáme zakázat kvůli vysoké míře, s jakou jsou zacíleny roboty a uživateli se zlými úmysly. Z bezpečnostních důvodů bychom se měli rozhodnout pro svůj vlastní alias s ohledem na tato dvě pravidla:
- Nemělo by uvádět účel umístění adresy URL.
- Mělo by být snadno zapamatovatelné, ale ne snadné uhodnout.
V této příručce budeme používat /somethingelse
.
Abychom mohli aplikovat naše změny, okomentujeme stávající řádky (můžete je zcela odstranit) a přidáme vlastní:
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin
Uložte a zavřete soubor a poté restartujte httpd pomocí příkazu níže:
sudo systemctl restart httpd.service
Pokud navštívíte předchozí umístění vaší instalace phpMyAdmin, zobrazí se chyba 404:
http://server_domain_or_IP/phpMyAdmin
http://server_domain_or_IP/nothingtosee
Můžete také zabezpečit phpMyAdmin umístěním brány před celou aplikaci pomocí vestavěného .htaccess
Apache autentizační a autorizační funkce.
Nejprve budeme muset povolit použití přepisů souboru .htaccess úpravou našeho konfiguračního souboru Apache. Otevřete soubor phpmyadmin.conf pomocí příkazu níže:
sudo nano /etc/httpd/conf.d/phpMyAdmin.conf
Přidejte AllowOverride All
na konec <Directory /usr/share/phpmyadmin>
části konfiguračního souboru, jak je uvedeno níže:
Před zavřením soubor uložte a poté restartujte Apache příkazem:
sudo systemctl restart apache2
Po povolení použití .htaccess musíme vytvořit soubor pro plnou implementaci zabezpečení zadáním příkazu níže:
sudo nano /usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Více si můžete přečíst na htaccess
zde.
Zadejte příkaz níže a přidejte heslo do htaccess
soubor:
sudo htpasswd -c /etc/httpd/pma_pass username
Chcete-li přidat další uživatele k ověření, zadejte stejný příkaz znovu, ale tentokrát bez -c
příznak a s novým uživatelským jménem:
sudo htpasswd /etc/httpd/pma_pass seconduser
S tímto, kdykoli přistoupíte k phpMyAdmin na vaší doméně, budete vyzváni k zadání dalšího názvu účtu a hesla, které jste právě nakonfigurovali, jak je uvedeno níže:
S tímto budete při každém přístupu k phpMyAdmin na vaší doméně vyzváni k zadání další název účtu a heslo, které jste právě nakonfigurovali, jak je uvedeno níže:
Po zadání ověřovacího hesla Apache budete přesměrováni na původní ověřovací stránku phpMyAdmin, kde zadáte své další přihlašovací údaje.