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.