Jak zainstalować phpMyAdmin na Ubuntu 24.04, 22.04 lub 20.04

phpMyAdmin to bezpłatne narzędzie administracyjne typu open source dla MySQL i MariaDB. Jako przenośna aplikacja internetowa napisana w języku PHP stała się jednym z najpopularniejszych narzędzi administracyjnych MySQL, szczególnie w przypadku usług hostingowych. To narzędzie zapewnia przyjazny dla użytkownika interfejs sieciowy umożliwiający dostęp do baz danych i zarządzanie nimi.

Oto kluczowe funkcje i najważniejsze cechy, które sprawiają, że phpMyAdmin jest idealnym wyborem do zarządzania bazami danych:

  • Interfejs internetowy: Uzyskaj dostęp do baz danych i zarządzaj nimi z dowolnego miejsca za pośrednictwem przeglądarki internetowej.
  • Kompleksowe zarządzanie bazami danych: Wykonuj różne czynności, w tym przeglądanie baz danych, tabel, kolumn, relacji, indeksów, użytkowników, uprawnień i wykonywanie instrukcji SQL.
  • Importuj i eksportuj dane: Łatwe importowanie danych z plików CSV i SQL oraz eksportowanie danych do różnych formatów, takich jak CSV, SQL, XML, PDF, ISO/IEC 26300 — tekst i arkusz kalkulacyjny OpenDocument, Word, Excel, LATEX i inne.
  • Funkcje MySQL-a: Pełna obsługa funkcji MySQL, w tym zarządzanie bazami danych, tabelami, kolumnami, relacjami, indeksami, użytkownikami i uprawnieniami.
  • Zaawansowane zapytania: Funkcja Zapytanie według przykładu (QBE) tworzy złożone zapytania.
  • Wizualizacje: Generuj wizualne reprezentacje baz danych i ich struktur.
  • Kompatybilność z PHP: W całości napisany w języku PHP, zapewniający kompatybilność z systemami PHP.
  • Obsługa wielu języków: Dostępny w 78 językach, dzięki czemu jest dostępny dla użytkowników na całym świecie.

Funkcje te podkreślają zdolność phpMyAdmina do wydajnej obsługi różnych zadań związanych z zarządzaniem bazami danych, obsługując zarówno początkujących, jak i doświadczonych użytkowników. Następnie przejdźmy do technicznych kroków instalacji i konfiguracji phpMyAdmin z Nginx na Ubuntu.

Zaktualizuj Ubuntu przed instalacją LEMP

Aby proces instalacji przebiegł sprawnie i aby zapobiec konfliktom, przed rozpoczęciem samouczka zaktualizuj swój system, instalując najnowsze pakiety:

sudo apt update && sudo apt upgrade

Zainstaluj stos LEMP dla phpMyAdmin

Zainstaluj część Nginx LEMP

Aby skonfigurować stos LEMP, zacznij od zainstalowania Nginx za pomocą poniższego polecenia:

sudo apt install nginx

Usługa jest zwykle domyślnie włączona po instalacji. Zawsze jednak sprawdzaj i upewnij się, że działa poprawnie:

systemctl status nginx

Jeśli serwer nie jest aktywowany, użyj następującego polecenia, aby go aktywować i ustaw Nginx tak, aby uruchamiał się automatycznie po każdym ponownym uruchomieniu:

sudo systemctl enable nginx --now

Zainstaluj część MariaDB LEMP

Drugi etap instalacji LEMP polega na zainstalowaniu komponentu bazy danych. MariaDB jest zwykle preferowanym wyborem w stosie LEMP w stosunku do MySQL ze względu na lepszą wydajność i inne zalety. Jeśli wolisz zainstalować inną wersję MariaDB z oficjalnych repozytoriów dostarczonych przez MariaDB.org, możesz znaleźć nasz przewodnik na instalowanie MariaDB 11.x lub 10.x na Ubuntu.

Aby zainstalować MariaDB, uruchom następujące polecenie w terminalu.

sudo apt install mariadb-server mariadb-client

Po instalacji sprawdź status usługi MariaDB, tak jak zrobiłeś to w przypadku Nginx, aby upewnić się, że jest włączona i działa poprawnie bez błędów.

systemctl status mariadb

Jeśli serwer nie jest aktywowany, użyj następującego polecenia, aby aktywować i uruchomić MariaDB po ponownym uruchomieniu:

sudo systemctl enable mariadb --now

Uruchom skrypt zabezpieczający po instalacji MariaDB na Ubuntu

Uruchom skrypt zabezpieczający instalację podczas procesu instalacji MariaDB, aby zabezpieczyć instalację i zapobiec potencjalnemu wykorzystaniu lub wtargnięciu przez złośliwe podmioty. Branża gorąco poleca ten skrypt, ponieważ nowe wersje MariaDB często mają ustawienia domyślne uważane za słabe i ryzykowne.

Aby rozpocząć, wykonaj następujące polecenie, aby uruchomić (mysql_secure_installation):

sudo mysql_secure_installation

Po wykonaniu skryptu mysql_secure_installation kolejnym krokiem jest skonfigurowanie ustawień. Obejmuje to ustawienie hasła roota, ograniczenie zdalnego dostępu ze źródeł zewnętrznych, usunięcie anonimowych kont użytkowników i wyeliminowanie testowej bazy danych. Te kroki pomogą zabezpieczyć instalację MariaDB i zapobiec potencjalnym zagrożeniom bezpieczeństwa.

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
 ... Success!


You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Zainstaluj część PHP LEMP

Dokończenie procesu instalacji LEMP wiąże się z koniecznością zainstalowania usługi PHP, pośrednika pomiędzy Nginx i MariaDB. Ułatwia to usługa PHP-FPM i dodatkowe moduły wymagane przez phpMyAdmin. Jeśli chcesz zainstalować inną wersję PHP, skonsultuj się nasz przewodnik dotyczący instalacji PHP 8.x na Ubuntu aby uzyskać informacje na temat instalowania wersji PHP odpowiadającej Twoim potrzebom.

Aby zainstalować PHP i PHP-FPM oraz niezbędne moduły w systemie Ubuntu, wykonaj następujące polecenie w terminalu.

sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd

Po instalacji sprawdź status usługi PHP, tak jak zrobiłeś to w przypadku MariaDB, aby upewnić się, że jest włączona i działa poprawnie, bez błędów.

Przykładowe polecenie jest specyficzne dla zainstalowanej wersji PHP; w tym przypadku było to dla PHP 8.1.

systemctl status php8.1-fpm

Aktywuj usługę PHP za pomocą następującego polecenia, jeśli nie jest jeszcze aktywna; to polecenie zapewnia również automatyczne uruchamianie usługi po każdym ponownym uruchomieniu.

sudo systemctl enable php-fpm --now

Zainstaluj backend phpMyAdmin na Ubuntu

W tej sekcji omówimy pobieranie archiwum PHPMyAdmin i ustanawianie niezbędnych katalogów, uprawnień i wpisów do bazy danych.

Utwórz nazwę użytkownika phpMyAdmin Superużytkownik

Domyślnie uzyskaj dostęp do phpMyAdmin z użytkownikiem root. Jednak ze względów bezpieczeństwa utwórz osobnego superużytkownika zamiast korzystać z użytkownika root, dostosowując się do używania użytkownika sudo w systemie Linux zamiast logować się jako root. Rozpocznij od zalogowania się do interfejsu terminala:

sudo mariadb -u root

Po zalogowaniu się do interfejsu terminala kolejnym krokiem jest utworzenie bazy danych w terminalu MariaDB.

CREATE USER PMAUSER IDENTIFIED BY 'password here change';

Następnym krokiem jest utworzenie użytkownika i nadanie odpowiednich uprawnień zgodnie z poniższym opisem:

GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;

Notatka: Przed wykonaniem poleceń musisz zmienić przykładowe hasło „hasło tutaj zmień”. Zaktualizuj hasło, zamiast po prostu je kopiować i wklejać.

Ustaw użytkownika i uprawnienia, a następnie natychmiast opróżnij uprawnienia, aby aktywować zmiany.

FLUSH PRIVILEGES;

Aby wyjść z terminala MariaDB, użyj następującego polecenia.

QUIT;

Pobierz źródło phpMyAdmin

W tej sekcji omówimy pobranie archiwum źródłowego dla phpMyAdmin. Jeśli używasz terminala wiersza poleceń, istnieje wygodna metoda pobrania najnowszej wersji wszystkich języków.

Aby pobrać archiwum phpMyAdmin, uruchom następujące polecenie w terminalu.

DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz

Jeśli wolisz pobrać tylko angielską wersję phpMyAdmin, zastąp linię końcową poprzedniego polecenia następującym:

wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz

Następnym krokiem po pobraniu archiwum phpMyAdmin jest jego rozpakowanie poprzez wykonanie następującego polecenia:

tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz

Skonfiguruj phpMyAdmina

Następny krok polega na przeniesieniu wszystkich wyodrębnionych plików do ich miejsca docelowego w standardowym katalogu /var/www/ za pomocą polecenia mv.

sudo mv phpMyAdmin-*/ /var/www/phpmyadmin

Instalacja phpMyAdmin ze źródła domyślnie nie wymaga katalogu TMP. W rezultacie musisz utworzyć ten katalog ręcznie.

sudo mkdir /var/www/phpmyadmin/tmp

Katalog phpMyAdmin zawiera domyślny plik przykładowej konfiguracji. Zmień nazwę tego pliku, aby phpMyAdmin go rozpoznał. Użyj polecenia CP, aby utworzyć kopię zapasową pliku domyślnego, tworząc kopię w katalogu /var/www/phpmyadmin/.

Aby skopiować plik config.sample.inc.php do config.inc.php, wykonaj następujące polecenie:

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

Po skopiowaniu pliku otwórz go w preferowanym edytorze tekstu. Przykładem jest edytor tekstu nano:

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

phpMyAdmin wykorzystuje szyfr Blowfish. Aby uzyskać dostęp do tego ustawienia, przewiń w dół do wiersza zaczynającego się od $cfg['blowfish_secret'].

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Musisz przypisać 32 losowe znaki w pojedynczym cudzysłowie. Najprostszym sposobem wygenerowania tego ciągu jest użycie programu pwgen. Aby zainstalować pwgen, uruchom następującą komendę terminala:

sudo apt install pwgen 

Po instalacji wykonaj następujące polecenie:

pwgen -s 32 1

Otrzymasz ciąg 32 losowych znaków do wykorzystania jako sekret rozdymki, na przykład:

Przykład dodania szyfru do pliku konfiguracyjnego (Nie kopiować):

$cfg['blowfish_secret'] = 'GO4GpscnhJbzB3HN7dgqvRzdIvIxXaaq'

Większości użytkowników wystarczą ustawienia domyślne. Jeśli jednak Twój serwer znajduje się na innym serwerze w Twojej sieci, zlokalizuj i zmodyfikuj wiersz $cfg['Servers'][$i]['host'], aby odzwierciedlał prywatny adres IP. Zobacz poniższy przykład:

$cfg['Servers'][$i]['host'] = '192.168.55.101';

Skonfiguruj uprawnienia do plików phpMyAdmin

Ustawienie uprawnień właściciela katalogu dla użytkownika www jest niezbędne dla zapewnienia kompatybilności i bezpieczeństwa.

Aby ustawić uprawnienia chown:

sudo chown -R www-data:www-data /var/www/phpmyadmin/

Aby ustawić uprawnienia chmod:

sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;

Utwórz blok serwera Nginx dla phpMyAdmin

Utwórz blok serwera Nginx, aby uzyskać dostęp do interfejsu internetowego phpMyAdmin. Ze względów bezpieczeństwa i aby zapobiec atakom typu brute-force, zalecamy utworzenie osobnej subdomeny, której nazwę możesz nadać według własnego uznania.

Aby rozpocząć, utwórz i otwórz blok serwera za pomocą edytora tekstu nano, jak pokazano poniżej:

sudo nano /etc/nginx/sites-available/phpmyadmin.conf

Po otwarciu pliku bloku serwera możesz wkleić do pliku następujący tekst. Pamiętaj, aby zastąpić adres URL domeny własnym:

server {
  listen 80;
  listen [::]:80;
  server_name pma.example.com;
  root /var/www/phpmyadmin/;
  index index.php index.html index.htm index.nginx-debian.html;

  access_log /var/log/nginx/phpmyadmin_access.log;
  error_log /var/log/nginx/phpmyadmin_error.log;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ ^/(doc|sql|setup)/ {
    deny all;
  }

  location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

  location ~ /\.ht {
    deny all;
  }
}

Powyższy przykład zawiera kilka ważnych uwag:

  • /run/php/php8.1-fpm.sock; – Należy to zmienić, aby odzwierciedlić wersję PHP-FPM, na przykład 8.0, 7.4 itd.
  • root /var/www/phpmyadmin/; – To jest ścieżka ustalona w samouczku. Ta linia musi zostać zaktualizowana, jeśli umieścisz phpMyAdmin w innej lokalizacji.

Jeśli jesteś jedyną osobą uzyskującą dostęp do serwera ze statycznego adresu IP, możesz dodać następujący kod nad pierwszym wpisem lokalizacji. Przykład tego znajduje się poniżej:

  allow <your ip address>;
  deny all; 

  location / {
    try_files $uri $uri/ /index.php;
  }
...........................................

Spowoduje to zablokowanie wszelkich nieautoryzowanych gości odwiedzających stronę z błędem 403, umożliwiając dostęp tylko z Twojego adresu IP. Może to skutecznie zatrzymać ataki siłowe, ale może nie być odpowiednie dla wszystkich konfiguracji. Aby zapisać zmiany użyj (CTRL+O) i wyjdź z edytora poprzez (CTRL+X).

Utwórz dowiązanie symboliczne z katalogu dostępnych witryn do katalogu obsługującego witryny, aby zapisać plik konfiguracyjny.

sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/

Przed ponownym uruchomieniem usługi Nginx wykonanie testu próbnego, szczególnie w środowiskach na żywo, jest niezbędne, aby upewnić się, że blokada serwera lub jakiekolwiek inne zmiany w plikach konfiguracyjnych nie spowodują błędów Nginx.

sudo nginx -t

Jeśli konfiguracja jest wolna od błędów, powinieneś otrzymać następujące dane wyjściowe:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Aby zastosować zmiany, uruchom ponownie usługę Nginx:

sudo systemctl restart nginx

Uzyskaj dostęp do interfejsu internetowego phpMyAdmin

Aby uzyskać dostęp do interfejsu internetowego, otwórz preferowaną przeglądarkę internetową i wpisz pma.example.com, zastępując „example” swoją domeną. Powinieneś dotrzeć do ekranu logowania phpMyAdmin, jak pokazano poniżej:

Wprowadź swoje dane logowania i przejdź do panelu phpMyAdmin, którego przykład możesz zobaczyć poniżej.

Warto zaznaczyć, że strona ze statystykami jest dostępna także dla nowych użytkowników phpMyAdmin.

Kolejną przydatną stroną, o której warto pamiętać, jest system doradców.

Doradca zaleca odczekać 24 godziny, ale rozważ minimum 72 godziny. Nie polegaj wyłącznie na stronie doradcy; wprowadzać zmiany po dokładnym rozważeniu i przetestowaniu. Optymalizacja plików konfiguracyjnych MySQL lub MariaDB wymaga czasu i może zaistnieć potrzeba wielokrotnej edycji i testowania, aby osiągnąć pożądane rezultaty.

Bezpieczna instalacja phpMyAdmin LEMP przez SSL

Uruchamianie Nginx na HTTPS z certyfikatem SSL jest idealne dla najlepszego bezpieczeństwa. Najłatwiej to osiągnąć, korzystając z Let's Encrypt, bezpłatnego, zautomatyzowanego i otwartego urzędu certyfikacji prowadzonego przez organizację non-profit Internet Security Research Group (ISRG).

Aby rozpocząć, zainstaluj pakiet certbot za pomocą następującego polecenia:

sudo apt install python3-certbot-nginx -y

Po zainstalowaniu pakietu certbot wykonaj następujące polecenie, aby rozpocząć tworzenie certyfikatu:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pma.example.com

Podczas instalacji certyfikatu system wyświetli monit o otrzymanie wiadomości e-mail od EFF (Electronic Frontier Foundation). Wybierz T lub N. Ten wybór spowoduje automatyczną instalację i konfigurację Twojego certyfikatu TLS z optymalnymi ustawieniami. Ustawienia te obejmują przekierowania HTTPS 301, nagłówek Strict-Transport-Security i zszywanie OCSP, a wszystko to dostosowane do Twojego adresu e-mail i nazwy domeny. Po zainstalowaniu Twój adres URL zostanie przeniesiony z HTTP://pma.example.com na bezpieczny HTTPS://pma.example.com, automatycznie przekierowując stary adres URL HTTP do bezpiecznej wersji.

Dla większej wygody możesz skonfigurować zadanie cron, aby automatycznie odnawiać certyfikaty, a Certbot udostępnia skrypt, który obsłuży to automatycznie. Przed skonfigurowaniem możesz przeprowadzić test na sucho, aby upewnić się, że wszystko działa poprawnie.

sudo certbot renew --dry-run

Aby otworzyć okno crontab, wykonaj następujące polecenie terminala:

sudo crontab -e

Pamiętaj, aby codziennie sprawdzać dostępność odnowienia, aby zachować aktualność certyfikatu. Jeśli konieczne będzie odnowienie, skrypt automatycznie zaktualizuje certyfikat.

00 00 */1 * * /usr/sbin/certbot-auto renew

Wniosek

W tym przewodniku przeprowadziliśmy Cię przez proces instalacji phpMyAdmin z Nginx na Ubuntu 24.04, 22.04 lub 20.04 LTS, dzięki czemu cała podróż od podstaw wiersza poleceń do możliwie najpłynniejszego uruchomienia systemu zarządzania bazami danych. Pamiętaj, że aktualizacja oprogramowania i zabezpieczenie instalacji phpMyAdmin to kluczowe kroki, których nie można przeoczyć. Dobrze skonfigurowana konfiguracja usprawnia przepływ pracy i wzmacnia dane przed potencjalnymi zagrożeniami. Poświęć więc chwilę i poklep się po plecach za dodanie kolejnego narzędzia do swojego arsenału tworzenia stron internetowych. Zachęcamy do głębszego zapoznania się z funkcjami i funkcjonalnościami oferowanymi przez phpMyAdmin. Szczęśliwego zarządzania!

Przydatne linki

Oto kilka cennych linków związanych z używaniem phpMyAdmin i powiązanych narzędzi:

  • Oficjalna witryna phpMyAdmin: Odwiedź oficjalną stronę phpMyAdmin, aby uzyskać informacje na temat narzędzia do zarządzania bazami danych, jego funkcji i opcji pobierania.
  • Dokumentacja phpMyAdmina: Uzyskaj dostęp do obszernej dokumentacji, w której znajdziesz szczegółowe instrukcje dotyczące instalacji, konfiguracji i używania phpMyAdmin.
  • Motywy phpMyAdmina: Przeglądaj dostępne motywy, aby dostosować wygląd phpMyAdmin.
  • Repozytorium phpMyAdmin na GitHubie: Uzyskaj dostęp do repozytorium phpMyAdmin GitHub, aby wyświetlić kod źródłowy, zgłosić problemy i przyczynić się do rozwoju.

Powiązane narzędzia

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz