Poradniki > Jak zainstalować phpMyAdmin na Ubuntu 18.04

Jak zainstalować phpMyAdmin na Ubuntu 18.04

Opublikowany: 23 stycznia 2020

Database MySQL Ubuntu Web Hosting

PhpMyAdmin jest interfejsem graficznym umożliwiającym tworzenie, magazynowanie oraz edycję baz danych stworzonych w MySQL.

W tym poradniku nauczysz się jak instalować phpMyAdmin oraz jak zabezpieczyć go w Ubuntu 18.04.

Poradnik ten pomoże ci zainstalować phpmyadmin na twoim serwerze Ubuntu 18.04, pod warunkiem, iż posiada skonfigurowany LAMP. Jeśli jeszcze nie skonfigurowałeś LAMP, skorzystaj z tego poradnika.

Najpierw połącz się z serwerem za pośrednictwem połączenia SSH. Jeśli jeszcze tego nie zrobiłeś, zalecamy skorzystanie z naszej instrukcji, aby nawiązać bezpieczne połączenie przez SSH. W przypadku lokalnego serwera przejdź do następnego punktu i otwórz terminal swojego serwera.

Instalacja phpMyAdmin

PhpMyAdmin znajduje się w podstawowym repozytorium Ubuntu.

Najpierw odśwież indeks apt, a następnie pobierz i zainstaluj phpMyAdmin:

$ sudo apt update
$ sudo apt install phpmyadmin php-mbstring php-gettext

Naciśnij Y, a następnie Enter by potwierdzić.

Pojawi się następujący komunikat:

Web Server Choice 

Z listy wybierz apache jednak uważaj, czerwony kwadrat nie oznacza wybrania opcji. W celu wybrania apache, naciśnij spację, a następnie Enter. Jeśli nie naciśniesz spacji, pliki wymagane do instalacji nie zostaną przeniesione.

Po naciśnięciu Enter, otrzymasz następujący komunikat:

Database Creation

Wybierz Yes i naciśnij Enter.

Musisz teraz wprowadzić hasło do bazy danych administratora. Wprowadź hasło, naciśnij TAB by zaznaczyć OK i wybierz na klawiaturze Enter.

Database User Password

Teraz wprowadź oraz zatwierdź hasło dla phpMyAdmin.

Tak jak uprzednio, wprowadź nowe hasło, naciśnij TAB by zaznaczyć OK i wybierz na klawiaturze Enter.

phpMyAdmin Package Configuration Enter phpMyAdmin Password

Potwierdź hasło.

phpMyAdmin Package Configuration Confirm phpMyAdmin Password

Po zakończeniu instalacji, plik konfiguracyjny zostanie dodany w tym miejscu:

/etc/apache2/conf-enabled/phpmyadmin.conf 

Teraz należy aktywować rozszerzenie PHP – mbstring. W tym celu wpisz:

$ sudo phpenmod mbstring

By zaakceptować zmiany, zrestartuj Apache:

$  sudo systemctl restart apache2

Zarządzanie uprawnieniami dostępu

By użyć phpMyAdmin, nie loguj się na konto użytkownika utworzonego automatycznie podczas instalacji. Zamiast tego zaloguj się na konto root lub na konto database manager przy pomocy interfejsu phpMyAdmin.

Możesz skonfigurować jedno lub oba konta.

KONFIGURACJA HASŁA DLA KONTA ROOT USŁUGI MYSQL

Celem zalogowania się jako konto root MySQL wymagane jest potwierdzenie auth_socket w przeciwieństwie do prostego hasła. By zalogować się na konto root MySQL przy pomocy phpMyAdmin należy zmienić sposób potwierdzenia tożsamości.

W tym celu wejdź do MySQL:

$ sudo mysql

Sprawdź metody autoryzacji dla każdego użytkownika wpisując:

$ SELECT user, authentication_string, plugin, host FROM mysql.user;

Lista dla użytkowników MySQL zostania wyświetlona. Tutaj możesz sprawdzić jak wygląda auth_socket dla użytkownika root.

+------------------+-------------------------------------------+-----------------------+-----------+

| user             | authentication_string                     | plugin | host |

+------------------+-------------------------------------------+-----------------------+-----------+

| root             |                         | auth_socket | localhost |

| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |

| phpmyadmin       | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |

+------------------+-------------------------------------------+-----------------------+-----------+

5 rows in set (0.00 sec)

Aby zmienić metodę zabezpieczenia konta z auth_socket na mysql_native_password, co umożliwi logowanie przy pomocy hasła na konto root, wpisz:

$ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'testowe';

Zamiast wartości testowe, wprowadź hasło, które będziesz musiał zapamiętać.

Potwierdź zmiany które wprowadziłeś wpisując:

FLUSH PRIVILEGES;

Tym sposobem serwer będzie poinformowany o konieczności zmiany zabezpieczeń dla konta root.

Zobacz, czy zmiany zostały zapisane poprzez powtórzenie komendy.

$ SELECT user, authentication_string, plugin, host FROM mysql.user;

Jeśli wszystko zostało prawidłowo zmienione, metoda zabezpieczeń dla konta root będzie podobna do poniższej:

+------------------+-------------------------------------------+-----------------------+-----------+

| user             | authentication_string                     | plugin | host |

+------------------+-------------------------------------------+-----------------------+-----------+

| root             | *DE06E242B88EFB1FE4B5083587C260BACB2A6158 | mysql_native_password | localhost |

| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |

| debian-sys-maint | *8486437DE5F65ADC4A4B001CA591363B64746D4C | mysql_native_password | localhost |

| phpmyadmin       | *5FD2B7524254B7F81B32873B1EA6D681503A5CA9 | mysql_native_password | localhost |

+------------------+-------------------------------------------+-----------------------+-----------+

5 rows in set (0.00 sec)

Wyjdź z MySQL za pomocą polecenia:

$ exit;


Po potwierdzeniu zmiany, użyj wybrane hasło celem zalogowania się jako root do panelu phpMyAdmin.

KONFIGURACJA HASŁA DLA DEDYKOWANEGO UŻYTKOWNIKA MYSQL

Aby zalogować się do phpMyAdmin nie jako root ale jako konto utworzone specjalnie w tym celu, należy w pierwszej kolejności utworzyć nowe konto.

W tym celu wejdź do MySQL.

W przypadku jeśIi utworzyłeś już konto root z hasłem, wpisz:

$  mysql -u root -p

Jeśli nie planujesz używać konta root wpisz:

$ sudo mysql

Teraz utwórz nowego użytkownika, a następnie wybierz jego login i hasło:

$  CREATE USER 'login'@'localhost' IDENTIFIED BY 'hasło';

Zastąp “login” i “hasło” wartościami przez siebie wybranymi.

Aby dać nowemu użytkownikowi wszystkie konieczne uprawnienia, wpisz:

$  GRANT ALL PRIVILEGES ON *. * TO 'login'@'localhost' WITH GRANT OPTION;

Wyjdź z MySQL wpisując:

$ exit

Pierwsze kroki w phpMyAdmin

Aby połączyć się z serwerem, musisz w pasku adresu swojej przeglądarki www wpisać: http: // IP-SERWERA / phpmyadmin.

Jeśli adres jest prawidłowy, zostania wyświetlony ekran logowania, do którego należy się zalogować przy pomocy konta root lub dedykowanego konta.

PhpMyAdmin Login

Jeśli wszystko zostało prawidłowo wprowadzone, zostania wyświetlona strona główna panelu phpMyAdmin.

PhpMyAdmin Home

Ochrona przed atakami

PhpMyAdmin w domyślnej konfiguracji jest podatny na ataki z zewnątrz, jako że zawartość baz danych jest kusząca dla niektórych ludzi.

Najłatwiejszym sposobem ochrony przed tego typu atakami jest dodanie punktu dostępu dla całej usługi przy pomocy zintegrowanych funkcji Apache.

Taką zintegrowaną funkcją jest .htaccess.

Aby go skonfigurować, wejdź do pliku .conf w katalogu apache.

W tym celu wpisz:

$ sudo nano /etc/apache2/conf-available/phpmyadmin.conf

W pliku .conf wyszukaj poniższy fragment tekstu:

<Directory / usr / share / phpmyadmin>

A następnie dodaj:

AllowOverride All

Po dodaniu zmiennej AllowOverride All, zapisz i zamknij plik .conf, a następnie zrestartuj Apache, by zmiany zostały zaimplementowane.

$ sudo systemctl restart apache2

Po odblokowaniu .htaccess dla phpMyAdmin, utwórz nowy plik.

W tym celu przejdź do folderu phpMyAdmin i wpisz

$ sudo nano /usr/share/phpmyadmin/.htaccess

Będąc w edycji pliku, wpisz:


			AuthType Basic

			AuthName "Chronione dane"

			AuthUserFile /etc/phpmyadmin/.htpasswd

			Require valid-user

Dzięki temu utworzone zostania proste okno logowania.

Nazwą okna logowania będzie “Chronione dane”. Nazwa okna może być dowolnie zmieniana. Nie radzimy podawania nazwy, która mogłaby wskazywać na zawartość kryjącą się za nim, celem nie zwracania uwagi osób niepowołanych.

Zapisz zmiany i zamknij plik.

Teraz utwórz plik z hasłem w następujący sposób:

$ sudo htpasswd -c /etc/phpmyadmin/.htpasswd login

Zastąp “login” dowolną nazwą użytkownika.

Będziesz poproszony o wprowadzenie i potwierdzenie hasła, a plik go zawierający zostanie utworzony tutaj: /etc/phpmyadmin/.htpasswd.

Od tej pory, przed logowaniem do phpMyAdmin, wymagane będzie by dodatkowo zalogować się przy pomocy utworzonej nazwy użytkownika i hasła.

Credentials Check

Po udanym logowaniu, prawidłowa strona logowania do phpMyAdmin zostania wyświetlona.