Úvod
PhpMyAdmin je grafický nástroj pro správu databází. Obvykle se používá ke vzdálené správě databází MySQL nebo MariaDB.
Tento tutoriál vysvětluje, jak nainstalovat phpMyAdmin na systém CentOS 8.
Předpoklady
- Server s nainstalovaným CentOS 8 Linux
- Fungující databáze MySQL nebo MariaDB
- Okno terminálu / příkazový řádek (Vyhledat> terminál)
- Uživatelský účet s sudo nebo root privilegia
Krok 1:Nainstalujte phpMyAdmin na CentOS 8
Nástroj phpMyAdmin není součástí výchozích úložišť CentOS 8. Soubor však lze stáhnout ručně.
1. V okně terminálu zadejte následující příkaz ke stažení souboru phpMyAdmin:
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip
2. Rozbalte soubor .zip archiv souboru:
unzip phpMyAdmin-4.9.4-all-languages.zip
3. Přesuňte extrahované soubory do /usr/share/phpmyadmin
adresář:
sudo mv phpMyAdmin-4.9.4-all-languages.zip /usr/share/phpmyadmin
4. Změna adresářů:
cd /usr/share/phpmyadmin
5. Přejmenujte ukázkový php konfiguraci soubor:
sudo mv config.sample.inc.php config.inc.php
6. Otevřete konfiguraci php soubor pro úpravy:
sudo nano config.inc.php
7. Najděte následující řádek:
$cfg['blowfish_secret'] = '';
8. Upravte řádek a zadejte nové php root heslo mezi jednoduchými uvozovkami takto:
$cfg['blowfish_secret']='my_password';
9. Uložte soubor (Ctrl+o
) a zavřete (Ctrl+x
).
10. Dále vytvořte a nastavte oprávnění na dočasném phpMyAdmin adresář:
mkdir /usr/share/phpmyadmin/tmp
chown -R apache:apache /usr/share/phpmyadmin
chmod 777 /usr/share/phpmyadmin/tmp
Krok 2:Konfigurace Apache pro phpMyAdmin
1. Vytvořte konfigurační soubor Apache :
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2. Tím se vytvoří nový, prázdný konfigurační soubor. Zadejte následující kód:
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require all granted
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
3. Uložte soubor (Ctrl+o ) a ukončete (Ctrl+x ).
4. Nakonec restartujte službu Apache, abyste použili změny provedené v konfiguračním souboru:
systemctl restart httpd
Krok 3:Nakonfigurujte SELinux a Firewall
SELinux znamená Security-Enhanced Linux. Toto je vylepšení na úrovni jádra, které zlepšuje zabezpečení. Překonfigurujte tento protokol, aby phpMyAdmin fungoval.
1. Začněte instalací následujícího softwarového balíčku:
yum –y install policycoreutils-python-utils
Některé verze CentOS 8 již mohou mít tento balíček nainstalován. V takovém případě výstup indikuje, že nemá nic společného a můžete přejít k dalšímu kroku.
2. Dále povolte přístup k phpmyadminu adresář s následujícími příkazy:
semanage fcontext –a –t httpd_sys_rw_content_t '/usr/share/phpmyadmin/'
semanage fcontext –a –t httpd_sys_rw_content_t "usr/share/phpmyadmin/tmp(/.*)?"
restorecon -Rv '/usr/share/phpmyadmin/'
Dokončení prvních dvou příkazů může chvíli trvat. Třetí příkaz se opakuje prostřednictvím phpmyadmin adresář pro použití změn.
Upravte bránu firewall na povolení provozu
1. Vytvořte pravidlo brány firewall povolující HTTP provoz pomocí příkazu:
firewall–cmd ––permanent ––add-service=http
2. Po provedení těchto úprav nezapomeňte znovu načíst bránu firewall:
firewall-cmd ––reload
Krok 4:Otestujte phpMyAdmin
1. Otevřete webový prohlížeč a přejděte na následující adresu URL:
localhost/phpmyadmin
Prohlížeč by měl zobrazit přihlašovací stránku phpMyAdmin. Pokud se však pokusíte přihlásit, může se zobrazit chybová zpráva:
"Server požadoval metodu ověření, kterou klient nezná."
K této chybě dochází, protože MySQL 8.x upgradoval mechanismus ověřování hesla. PhpMyAdmin zatím nebyl aktualizován, aby používal tuto metodu ověřování.
2. Chcete-li toto opatření obejít, otevřete shell MySQL a změňte uživatele root:
mysql –u root –p
password
ALTER USER 'root'@'localhost' IDENTIFIED WITH myswl_native_password BY 'password';
3. Nahraďte password
se skutečným heslem, které jste nastavili při zabezpečení instalace MySQL.
4. Obnovte webový prohlížeč phpMyAdmin a přihlaste se pomocí svého uživatelského jména a hesla MySQL.
Krok 5:Omezte neoprávněný přístup k phpMyAdmin (volitelné)
Nyní byste měli mít funkční nástroj phpMyAdmin. Tato část vám pomůže zabránit neoprávněnému přístupu k citlivým databázím.
Povolit phpMyAdmin pouze z konkrétní IP adresy
1. Otevřete phpmyadmin.conf soubor v textovém editoru (budeme používat nano):
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
2. Najděte následující sekce:
Require all granted
3. Nahraďte tyto řádky následujícím:
Require ip your_system's_ip_address
Require ip ::1
4. Uložte a zavřete soubor.
Přidat další ověření hesla
1. Vytvořte nový ověřovací soubor. V okně terminálu zadejte následující:
mkdir /etc/phpmyadmin
htpasswd –c /etc/phpmyadmin/.htpasswd admin
2. Budete vyzváni k zadání a potvrzení hesla správce. Udělejte to a poznamenejte si heslo.
3. Dále aktualizujte Apache tak, aby používal .htpasswd úpravou /etc/httpd/conf.d/phpmyadmin.conf takto:
nano /etc/httpd/conf.d/phpmyadmin.conf
4. Těsně pod řádkem označeným AddDefaultCharset UTF-8
, přidejte následující řádky:
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
5. Uložte soubor a ukončete.
6. Nakonec restartujte Apache:
systemctl restart httpd
Přístup k phpMyAdmin s aktualizovanými přihlašovacími údaji
1. Přejděte zpět na localhost/phpmyadmin .
2. Zadejte nově definované uživatelské jméno správce a heslo.
Mělo by vás to dostat na hlavní přihlašovací obrazovku, jak je vidět na konci předchozí části.