GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat a zabezpečit phpMyAdmin na CentOS 8

phpMyAdmin je softwarový nástroj s otevřeným zdrojovým kódem používaný pro správu databází MySQL/MariaDB. Poskytuje snadný způsob interakce s MySQL prostřednictvím webového prohlížeče. phpMyAdmin je velmi užitečný pro uživatele, kteří nejsou spokojeni se správou svých dat z příkazového řádku, takže je nezbytné, aby každý správce systému zabezpečil phpMyAdmin před různými druhy útoků.

V tomto tutoriálu vám ukážeme, jak nainstalovat a zabezpečit phpMyAdmin na CentOS 8.

Předpoklady

  • Nový CentOS 8 VPS na cloudové platformě Atlantic.net.
  • Heslo uživatele root nakonfigurované na vašem serveru.

Krok 1 – Vytvořte cloudový server Atlantic.Net

Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte CentOS 8 s alespoň 1 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.

Jakmile se přihlásíte k serveru CentOS 8, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.

dnf update -y

Krok 2 – Nainstalujte Apache, MariaDB a PHP

Před spuštěním nainstalujte Apache, MariaDB, PHP a další požadovaná rozšíření PHP pomocí následujícího příkazu:

dnf install httpd mariadb-server php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd -y

Po instalaci všech balíčků můžete přejít k dalšímu kroku.

Krok 3 – Nastavení hesla root MariaDB

Nejprve spusťte službu MariaDB a povolte její spuštění při spouštění pomocí následujícího příkazu:

systemctl start mariadb
systemctl enable mariadb

Dále nastavte kořenové heslo MySQL pomocí následujícího skriptu:

mysql_secure_installation

Tento skript nastaví root heslo MySQL, odstraní anonymní uživatele, zakáže vzdálené přihlášení root a odstraní testovací databázi a přístup k ní, jak je uvedeno níže:

Zadejte aktuální heslo pro root (zadejte pro žádné):

Set root password? [Y/n] Y
New password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Krok 4 – Instalace phpMyAdmin

Nejprve si stáhněte nejnovější verzi phpMyAdmin do kořenového adresáře webu Apache pomocí následujícího příkazu:

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip

Po stažení stažený soubor rozbalte pomocí následujícího příkazu:

unzip phpMyAdmin-4.9.4-all-languages.zip

Dále přejmenujte extrahovaný adresář na phpmyadmin, jak je znázorněno níže:

mv phpMyAdmin-4.9.4-all-languages phpmyadmin

Dále změňte vlastnictví adresáře phpmyadmin na uživatele apache:

chown -R apache:apache /var/www/html/phpmyadmin

Dále přejmenujte soubor config.sample.inc.php:

cd /var/www/html/phpmyadmin
mv config.sample.inc.php config.inc.php

Dále soubor upravte a definujte své bezpečné heslo:

nano config.inc.php

Najděte řádek níže a aktualizujte jej pomocí svého zabezpečeného hesla, jak je uvedeno níže:

$cfg['blowfish_secret'] = 'your-secure-password';

Uložte a zavřete soubor. Poté importujte tabulky pro phpMyAdmin pomocí následujícího příkazu:

mysql < sql/create_tables.sql -u root -p

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Krok 5 – Konfigurace Apache pro phpMyAdmin

Dále vytvořte konfigurační soubor virtuálního hostitele Apache pro phpMyAdmin:

nano /etc/httpd/conf.d/phpmyadmin.conf

Přidejte následující řádky:

Alias /phpmyadmin /var/www/html/phpmyadmin

<Directory /var/www/html/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 /var/www/html/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>

Uložte a zavřete soubor. Poté spusťte službu Apache a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start httpd
systemctl enable httpd

Nyní otevřete webový prohlížeč a navštivte adresu URL http://ip-vaseho-serveru/phpmyadmin. Na následující obrazovce byste měli vidět webové rozhraní phpMyAdmin:

Přihlaste se pomocí svých přihlašovacích údajů MySQL vytvořených dříve.

Krok 6 – Zabezpečte phpMyAdmin

V této sekci si ukážeme různé způsoby, jak zabezpečit vaše webové rozhraní phpMyAdmin.

Změnit umístění přístupu phpMyAdmin

Je dobré změnit přístupovou URL vašeho rozhraní phpMyAdmin. Můžete to změnit úpravou souboru phpmyadmin.conf:

nano /etc/httpd/conf.d/phpmyadmin.conf

Najděte následující řádek:

Alias /phpmyadmin /var/www/html/phpmyadmin

Nahraďte jej následujícím řádkem:

Alias /securelocation /var/www/html/phpmyadmin

Uložte a zavřete soubor a poté restartujte službu Apache, aby se změny implementovaly:

systemctl restart httpd

Nyní můžete přistupovat k rozhraní phpMyAdmin pomocí adresy URL http://ip-ip-vašeho-serveru/securelocation.

Povolit phpMyAdmin z konkrétní IP adresy

Vždy je dobré povolit, aby byl phpMyAdmin přístupný pouze z konkrétní IP adresy.

Chcete-li tak učinit, otevřete soubor phpmyadmin.conf:

nano /etc/httpd/conf.d/phpmyadmin.conf

Najděte následující řádky:

     <RequireAny>
       Require all granted
     </RequireAny>

Nahraďte jej následujícím:

<RequireAny>
    Require ip your-client-ip-address
    Require ip ::1
</RequireAny>

Uložte a zavřete soubor a poté restartujte službu Apache, aby se změny implementovaly:

systemctl restart httpd

Vaše rozhraní phpMyAdmin je nyní přístupné pouze ze zadané IP adresy.

Rozhraní phpMyAdmin s ochranou heslem

Můžete také přidat další vrstvu ochrany heslem na phpMyAdmin nastavením základního ověřování.

Nejprve vytvořte ověřovací soubor pomocí následujícího příkazu:

htpasswd -c /etc/httpd/.htpasswd phpadmin

Zadejte bezpečné heslo, jak je uvedeno níže:

New password:
Re-type new password:
Adding password for user phpadmin

Dále vytvořte soubor .htaccess v adresáři phpmyadmin:

nano /var/www/html/phpmyadmin/.htaccess

Přidejte následující řádky:

AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user

Po dokončení uložte a zavřete soubor.

Dále upravte soubor phpmyadmin.conf a nakonfigurujte Apache tak, aby používal soubor .htpasswd.

nano /etc/httpd/conf.d/phpmyadmin.conf

Přidejte následující řádky pod řádek „AddDefaultCharset UTF-8“:

    AllowOverride All

Uložte soubor a poté restartujte službu Apache, abyste provedli změny:

systemctl restart httpd

Krok 7 – Otestujte phpMyAdmin

V tomto okamžiku je rozhraní phpMyAdmin zabezpečeno další vrstvou ochrany heslem. Chcete-li to otestovat, otevřete webový prohlížeč a zadejte adresu URL http://ip-vaseho-serveru/securelocation. Budete požádáni o zadání přihlašovacích údajů, které jsme vytvořili dříve:

Zadejte své uživatelské jméno a heslo a klikněte na OK knoflík. Budete přesměrováni na přihlašovací stránku phpMyAdmin:

Zadejte své uživatelské jméno a heslo pro MySQL a poté klikněte na Go knoflík. Na následující obrazovce byste měli vidět své webové rozhraní phpMyAdmin:

Závěr

Ve výše uvedené příručce jsme se naučili, jak nainstalovat a zabezpečit phpMyAdmin na CentOS 8. Vaše rozhraní phpMyAdmin je nyní zabezpečeno dodatečnou ochranou heslem. Tuto metodu můžete použít k zabezpečení serveru v rámci Atlantic.Net VPS Hosting Plan.

Zjistěte více o našich hostingových službách VPS a virtuálních privátních serverech.


Linux
  1. Jak nainstalovat a zabezpečit phpMyAdmin na Debian 9

  2. Jak nainstalovat a zabezpečit phpMyAdmin na Ubuntu

  3. Jak nainstalovat a zabezpečit MongoDB 4 v CentOS 8

  1. Jak nainstalovat phpMyAdmin na CentOS 7

  2. Jak nainstalovat phpMyAdmin na CentOS 8

  3. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8

  1. Jak nainstalovat a zabezpečit phpMyAdmin s Apache na CentOS 7

  2. Jak nainstalovat a zabezpečit phpMyAdmin na Ubuntu 18.04 LTS

  3. Nainstalujte a zabezpečte phpMyAdmin na CentOS 8