Wyszukiwanie w witrynie

Jak zainstalować PhpMyAdmin z Apache w systemach RHEL


W tym artykule przeprowadzimy Cię krok po kroku przez proces instalowania najnowszej wersji PhpMyAdmin z serwerem internetowym Apache w dystrybucjach opartych na RHEL, takich jak CentOS Stream >, Fedora, Rocky Linux i Alma Linux.

Co to jest PhpMyAdmin?

PhpMyAdmin to popularne i wydajne internetowe narzędzie do zarządzania bazami danych, a posiadanie najnowszej wersji zapewnia dostęp do najaktualniejszych funkcji i ulepszeń zabezpieczeń. Pod koniec tego przewodnika będziesz mógł z łatwością zarządzać bazami danych MySQL lub MariaDB za pomocą PhpMyAdmin.

Warunki wstępne

Zanim zaczniemy, upewnij się, że masz następujące elementy:

  • Dostęp do systemu RHEL, CentOS Stream, Fedora, Rocky Linux lub AlmaLinux.
  • Upewnij się, że możesz zalogować się jako użytkownik root lub mieć uprawnienia sudo do instalowania oprogramowania.
  • Istniejący stos LAMP, który obejmuje Apache, MySQL/MariaDB i PHP. Jeśli nie masz LAMPY, możesz wykonać poniższe kroki, aby ją skonfigurować.

Krok 1: Zaktualizuj system

Przed zainstalowaniem jakiegokolwiek oprogramowania ważne jest, aby upewnić się, że system jest aktualny, uruchamiając następującą komendę dnf.

sudo dnf update

Spowoduje to aktualizację wszystkich pakietów w systemie do najnowszych wersji.

Krok 2: Zainstaluj serwer WWW Apache

PhpMyAdmin to narzędzie internetowe i aby z niego korzystać, musisz zainstalować serwer WWW Apache za pomocą następującego polecenia.

sudo dnf install httpd

Po zainstalowaniu uruchom usługę Apache i włącz ją, aby uruchamiała się podczas uruchamiania.

sudo systemctl start httpd
sudo systemctl enable httpd

Krok 3: Zainstaluj MariaDB lub MySQL

Będziesz także potrzebował serwera bazy danych. Możesz zainstalować MariaDB lub MySQL, ale w tym przykładzie wybierzemy MariaDB.

sudo dnf install mariadb-server

Po zainstalowaniu uruchom usługę MariaDB i włącz ją, aby uruchamiała się podczas uruchamiania.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Następnie zabezpiecz instalację MariaDB, uruchamiając skrypt, który poprosi Cię o podanie hasła dla użytkownika root, uniemożliwi zdalne logowanie roota i usunie anonimowych użytkowników. Spowoduje to również usunięcie testowej bazy danych, do której domyślnie dostęp mają anonimowi użytkownicy.

sudo mysql_secure_installation

Krok 4: Zainstaluj PHP

PhpMyAdmin jest zbudowany z PHP, więc musimy zainstalować PHP i niektóre wymagane rozszerzenia za pomocą następującego polecenia.

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

Krok 5: Zainstaluj PhpMyAdmin

Teraz kontynuujmy instalację PhpMyAdmin w naszym systemie Linux, przechodząc do katalogu głównego dokumentów na serwerze WWW /var/www/html, jak pokazano.

cd /var/www/html

Następnie pobierz najnowszą wersję PhpMyAdmin, używając następującego polecenia wget, jak pokazano.

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

Po pobraniu rozpakuj pobrane archiwum i dla wygody zmień nazwę katalogu.

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

Utwórz plik konfiguracyjny dla PhpMyAdmin.

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

Edytuj plik konfiguracyjny:

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

Znajdź następującą linię i ustaw własny pliklowfish_secret:

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

Zapisz i wyjdź z pliku.

Krok 6: Otwórz port Apache w zaporze firewall

Domyślnie Apache często używa portów 80 i 443 dla HTTP i HTTPS, odpowiednio. Aby otworzyć porty Apache i zezwolić na dostęp do PhpMyAdmin na swoim serwerze, uruchom:

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

Te polecenia dodają regułę zezwalającą na ruch przychodzący na określonym porcie i ponownie ładują zaporę, aby zastosować zmiany.

Krok 7: Uruchom ponownie serwer WWW Apache

Na koniec uruchom ponownie Apache, aby zastosować zmiany:

sudo systemctl restart httpd

Krok 8: Uzyskaj dostęp do PhpMyAdmin

Możesz teraz uzyskać dostęp do PhpMyAdmin poprzez przeglądarkę internetową, przechodząc do adresu IP lub nazwy domeny swojego serwera, a następnie dodając „/phpmyadmin” w adresie URL:

http://your_server_ip/phpmyadmin

Zaloguj się przy użyciu danych logowania MySQL lub MariaDB.

Krok 9: Zezwól na dostęp zewnętrzny w PhpMyAdmin

Otwórz plik konfiguracyjny PhpMyAdmin.

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

Znajdź sekcję lub sekcję, w której skonfigurowany jest Twój PhpMyAdmin i aktualizuje dyrektywę Require, aby umożliwić wszystkie adresy IP, aby uzyskać dostęp do PhpMyAdmin.

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

Powyższa konfiguracja umożliwia dostęp z dowolnego adresu IP, ale jeśli chcesz ograniczyć dostęp do określonych adresów IP, zamień Wymagaj przyznania wszystkich na Wymagaj adresu IP swojego_ip.

Uruchom ponownie Apache, aby zastosować zmiany.

sudo systemctl restart httpd

Teraz powinieneś mieć możliwość dostępu do PhpMyAdmin ze świata zewnętrznego, używając adresu IP lub domeny swojego serwera.

http://your_server_ip/phpmyadmin

Pamiętaj, że otwarcie dostępu do PhpMyAdmin ze świata zewnętrznego może stwarzać ryzyko bezpieczeństwa. Upewnij się, że masz silny mechanizm uwierzytelniania i rozważ użycie HTTPS do szyfrowanej komunikacji. Dodatkowo, jeśli to możliwe, ogranicz dostęp tylko do zaufanych adresów IP lub zabezpiecz adres URL logowania PhpMyAdmin.

Zmień adres URL logowania phpMyAdmin

Domyślny adres URL logowania do phpMyAdmin jest przewidywalny i często stanowi cel złośliwych aktorów próbujących wykorzystać luki w zabezpieczeniach. Zmiana adresu URL logowania zapewnia dodatkową warstwę zabezpieczeń, utrudniając nieupoważnionym użytkownikom uzyskanie dostępu do interfejsu zarządzania bazą danych.

W tym celu utwórz plik konfiguracyjny /etc/httpd/conf.d/phpMyAdmin.conf.

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

Następnie dodaj następującą konfigurację.

#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>

Zamień /my na żądany niestandardowy adres URL logowania. Zapisz zmiany i wyjdź z edytora tekstu.

Po dokonaniu zmian w plikach konfiguracyjnych zrestartuj Apache, aby zastosować modyfikacje:

systemctl restart httpd

Otwórz przeglądarkę internetową i przejdź do nowego adresu URL logowania phpMyAdmin.

http://yourdomain.com/my/

Konfigurowanie SSL dla phpMyAdmin

Zabezpieczenie komunikacji pomiędzy serwerem WWW Apache i phpMyAdmin ma kluczowe znaczenie dla ochrony poufnych informacji, takich jak dane logowania i zawartość bazy danych. Jednym ze skutecznych sposobów osiągnięcia tego jest konfiguracja SSL (Secure Socket Layer) dla phpMyAdmin na serwerze internetowym Apache.

Aby to zrobić najpierw zainstaluj na swoim serwerze moduł mod_ssl.

yum install httpd mod_ssl openssl

Następnie utwórz katalog do przechowywania certyfikatu i wygeneruj certyfikat SSL z podpisem własnym oraz klucz prywatny, jak pokazano.

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 utworzeniu certyfikatu i klucza SSL otwórz plik konfiguracyjny Apache SSL.

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

Następnie dodaj następujące wiersze do pliku konfiguracyjnego.

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

Zapisz zmiany i zrestartuj serwer WWW Apache.

systemctl restart httpd

Teraz otwórz plik konfiguracyjny phpMyAdmin.

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

Dodaj następujące wiersze, aby wymusić SSL dla phpMyAdmin.

$cfg['ForceSSL'] = true;

Zapisz zmiany i wyjdź z edytora tekstu.

Na koniec otwórz przeglądarkę internetową i przejdź do następującego adresu URL, aby uzyskać dostęp do phpMyAdmin za pośrednictwem bezpiecznego połączenia SSL.

https://yourdomain.com/my/

Należy pamiętać, że komunikat wskazujący na niepewne połączenie wynika wyłącznie z użycia certyfikatu z podpisem własnym. Aby kontynuować, kliknij „Zaawansowane” i potwierdź wyjątek bezpieczeństwa.

Wniosek

Gratulacje! Pomyślnie zainstalowałeś PhpMyAdmin z Apache w systemie RHEL, CentOS Stream, Rocky Linux lub AlmaLinux. To narzędzie internetowe upraszcza zarządzanie bazami danych, dzięki czemu zadania takie jak tworzenie baz danych, zapytania i zarządzanie danymi stają się dziecinnie proste.