Vyhledávání na webu

Jak nainstalovat PhpMyAdmin s Apache v systémech RHEL


V tomto článku vás provedeme krok za krokem procesem instalace nejnovější verze PhpMyAdmin s webovým serverem Apache v distribucích založených na RHEL, jako je CentOS Stream , Fedora, Rocky Linux a Alma Linux.

Co je to PhpMyAdmin?

PhpMyAdmin je oblíbený a výkonný webový nástroj pro správu databází a nejnovější verze vám zajistí přístup k nejaktuálnějším funkcím a vylepšením zabezpečení. Na konci této příručky budete moci snadno spravovat své databáze MySQL nebo MariaDB pomocí PhpMyAdmin.

Předpoklady

Než začneme, ujistěte se, že máte následující:

  • Přístup k systému RHEL, CentOS Stream, Fedora, Rocky Linux nebo AlmaLinux.
  • Ujistěte se, že se můžete přihlásit jako uživatel root nebo mít oprávnění sudo k instalaci softwaru.
  • Stávající zásobník LAMP, který zahrnuje Apache, MySQL/MariaDB a PHP. Pokud nemáte LAMP, můžete jej nastavit podle těchto kroků.

Krok 1: Aktualizujte systém

Před instalací jakéhokoli softwaru je důležité zajistit, aby byl váš systém aktuální, spuštěním následujícího příkazu dnf.

sudo dnf update

Tím se aktualizují všechny balíčky ve vašem systému na nejnovější verze.

Krok 2: Nainstalujte webový server Apache

PhpMyAdmin je webový nástroj a k jeho používání je třeba nainstalovat webový server Apache pomocí následujícího příkazu.

sudo dnf install httpd

Po instalaci spusťte službu Apache a povolte její spuštění při startu.

sudo systemctl start httpd
sudo systemctl enable httpd

Krok 3: Nainstalujte MariaDB nebo MySQL

Budete také potřebovat databázový server. Můžete si vybrat instalaci MariaDB nebo MySQL, ale v tomto příkladu použijeme MariaDB.

sudo dnf install mariadb-server

Po instalaci spusťte službu MariaDB a povolte její spuštění při spuštění.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Dále zabezpečte instalaci MariaDB spuštěním skriptu, který vás vyzve k zadání hesla pro uživatele root, zakáže vzdálené přihlášení root a odstraní anonymní uživatele. Odstraní také testovací databázi, ke které mají ve výchozím nastavení přístup anonymní uživatelé.

sudo mysql_secure_installation

Krok 4: Nainstalujte PHP

PhpMyAdmin je postaven na PHP, takže musíme nainstalovat PHP a některá požadovaná rozšíření pomocí následujícího příkazu.

sudo dnf install php php-mysqlnd php-json php-mbstring

Krok 5: Nainstalujte PhpMyAdmin

Nyní pokračujte v instalaci PhpMyAdmin na náš systém Linux tak, že přejdete do kořenového adresáře dokumentů webového serveru /var/www/html, jak je znázorněno.

cd /var/www/html

Dále si stáhněte nejnovější verzi PhpMyAdmin pomocí následujícího příkazu wget, jak je znázorněno.

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

Po stažení stažený archiv rozbalte a pro usnadnění přejmenujte adresář.

sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz
sudo mv phpMyAdmin-*/ phpmyadmin

Vytvořte konfigurační soubor pro PhpMyAdmin.

sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php

Upravte konfigurační soubor:

sudo nano /var/www/html/phpmyadmin/config.inc.php

Najděte následující řádek a nastavte si vlastní blowfish_secret:

$cfg['blowfish_secret'] = 'your_secret';

Uložte a ukončete soubor.

Krok 6: Otevřete port Apache na firewallu

Ve výchozím nastavení Apache běžně používá porty 80 a 443 pro HTTP a HTTPS, respektive. Chcete-li otevřít porty Apache a povolit přístup k PhpMyAdmin na vašem serveru, spusťte:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

Tyto příkazy přidají pravidlo povolující příchozí provoz na zadaném portu a znovu načtěte bránu firewall, aby se změny uplatnily.

Krok 7: Restartujte webový server Apache

Nakonec restartujte Apache, abyste použili změny:

sudo systemctl restart httpd

Krok 8: Přístup k PhpMyAdmin

Nyní můžete přistupovat k PhpMyAdmin prostřednictvím webového prohlížeče tak, že přejdete na adresu IP nebo název domény vašeho serveru a v adrese URL zadáte „/phpmyadmin“:

http://your_server_ip/phpmyadmin

Přihlaste se pomocí přihlašovacích údajů MySQL nebo MariaDB.

Krok 9: Povolte externí přístup v PhpMyAdmin

Otevřete konfigurační soubor PhpMyAdmin.

sudo vi /etc/httpd/conf/httpd.conf

Najděte sekci nebo sekci, kde je nakonfigurován váš PhpMyAdmin, a aktualizujte direktivu Vyžadovat, aby umožnila všechny IP adresy pro přístup k PhpMyAdmin.

<Directory "/var/www/html/phpmyadmin">
    ...
    Require all granted
    ...
</Directory>

Výše uvedená konfigurace umožňuje přístup z libovolné IP adresy, ale pokud chcete omezit přístup ke konkrétním IP adresám, nahraďte Vyžadovat vše uděleno za Vyžadovat ip your_ip.

Pro použití změn restartujte Apache.

sudo systemctl restart httpd

Nyní byste měli mít přístup k PhpMyAdmin z vnějšího světa pomocí IP adresy nebo domény vašeho serveru.

http://your_server_ip/phpmyadmin

Pamatujte, že otevření přístupu k PhpMyAdmin z vnějšího světa může představovat bezpečnostní rizika. Ujistěte se, že máte k dispozici silný ověřovací mechanismus, a zvažte použití HTTPS pro šifrovanou komunikaci. Pokud je to možné, omezte přístup pouze na důvěryhodné adresy IP nebo zabezpečte přihlašovací adresu URL PhpMyAdmin.

Změňte přihlašovací adresu phpMyAdmin

Výchozí přihlašovací adresa URL pro phpMyAdmin je předvídatelná a běžně se na ni zaměřují útočníci, kteří se pokoušejí zneužít zranitelnosti. Změna přihlašovací adresy URL přidává další vrstvu zabezpečení a ztěžuje neoprávněným uživatelům přístup k rozhraní pro správu databáze.

Chcete-li tak učinit, vytvořte konfigurační soubor /etc/httpd/conf.d/phpMyAdmin.conf.

vi /etc/httpd/conf.d/phpMyAdmin.conf

Dále přidejte následující konfiguraci.

#Alias /phpMyAdmin /var/www/html/phpmyadmin
Alias /my /var/www/html/phpmyadmin

<Directory /var/www/htm/lphpmyadmin>
    AddDefaultCharset UTF-8

    <IfModule mod_authz_core.c>
        # Apache 2.4
        <RequireAny>
            Require all granted
            # Additional IP or hostname-based access control can be added here
        </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
        # Additional IP or hostname-based access control can be added here
    </IfModule>

</Directory>

Nahraďte /my požadovanou vlastní přihlašovací adresou URL. Uložte změny a ukončete textový editor.

Po provedení změn v konfiguračních souborech restartujte Apache a použijte změny:

systemctl restart httpd

Otevřete webový prohlížeč a přejděte na novou přihlašovací adresu phpMyAdmin.

http://yourdomain.com/my/

Nastavení SSL pro phpMyAdmin

Zabezpečení komunikace mezi webovým serverem Apache a phpMyAdminem je klíčové pro ochranu citlivých informací, jako jsou přihlašovací údaje a obsah databáze. Jedním z účinných způsobů, jak toho dosáhnout, je konfigurace SSL (Secure Socket Layer) pro phpMyAdmin na webovém serveru Apache.

Chcete-li tak učinit, nejprve na svůj server nainstalujte modul mod_ssl.

yum install httpd mod_ssl openssl

Dále vytvořte adresář pro uložení certifikátu a vygenerujte certifikát SSL s vlastním podpisem a soukromý klíč, jak je znázorněno.

mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Po vytvoření certifikátu SSL a klíče otevřete konfigurační soubor Apache SSL.

vi /etc/httpd/conf.d/ssl.conf

Dále přidejte do konfiguračního souboru následující řádky.

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Uložte změny a restartujte webový server Apache.

systemctl restart httpd

Nyní otevřete konfigurační soubor phpMyAdmin.

vi /var/www/html/phpmyadmin/config.inc.php

Přidejte následující řádky, abyste vynutili SSL pro phpMyAdmin.

$cfg['ForceSSL'] = true;

Uložte změny a ukončete textový editor.

Nakonec otevřete webový prohlížeč a přejděte na následující adresu URL pro přístup k phpMyAdmin přes zabezpečené připojení SSL.

https://yourdomain.com/my/

Uvědomte si prosím, že zpráva označující nezabezpečené připojení je způsobena výhradně použitím certifikátu s vlastním podpisem. Chcete-li pokračovat, klikněte na „Upřesnit“ a potvrďte bezpečnostní výjimku.

Závěr

Gratulujeme! Úspěšně jste nainstalovali PhpMyAdmin s Apache na svůj systém RHEL, CentOS Stream, Rocky Linux nebo AlmaLinux. Tento webový nástroj zjednodušuje správu vašich databází, takže úkoly, jako je vytváření databáze, dotazy a správa dat, jsou hračkou.