Jak zainstalować phpMyAdmin z Apache (LAMP) na Ubuntu 20.04
W tym samouczku dowiesz się, jak zainstalować phpMyAdmin z Apache, MariaDB, PHP7.4 (stos LAMP) na Ubuntu 20.04 LTS. phpMyAdmin to bezpłatne, internetowe narzędzie do zarządzania bazami danych o otwartym kodzie źródłowym, napisane w języku PHP. Zapewnia graficzny interfejs sieciowy dla użytkowników do zarządzania bazami danych MySQL lub MariaDB.
phpMyAdmin umożliwia administratorom:
- przeglądać bazy danych i tabele;
- tworzyć, kopiować, zmieniać nazwę, zmieniać i upuszczać bazy danych;
- tworzyć, kopiować, zmieniać nazwy, zmieniać i upuszczać tabele;
- przeprowadzać konserwację stołu;
- dodawać, edytować i upuszczać pola;
- wykonaj dowolną instrukcję SQL, nawet wiele zapytań;
- tworzyć, zmieniać i usuwać indeksy;
- załaduj pliki tekstowe do tabel;
- tworzyć i czytać zrzuty tabel lub baz danych;
- eksportować dane do formatów SQL, CSV, XML, Word, Excel, PDF i LaTeX;
- administrować wieloma serwerami;
- zarządzaj użytkownikami i uprawnieniami MySQL;
- sprawdź ustawienia serwera i informacje o czasie działania, korzystając ze wskazówek dotyczących konfiguracji;
- sprawdź integralność referencyjną w tabelach MyISAM;
- automatycznie twórz złożone zapytania, korzystając z zapytania typu Query-by-example (QBE).
- łączenie wymaganych tabel;
- tworzyć grafikę PDF układu bazy danych;
- przeszukiwać globalnie w bazie danych lub jej podzbiorze;
- przekształcać przechowywane dane do dowolnego formatu przy użyciu zestawu predefiniowanych funkcji, takich jak wyświetlanie danych BLOB jako obrazu lub łącza do pobrania;
- zarządzaj tabelami InnoDB i kluczami obcymi;
Warunki wstępne
Aby skorzystać z tego samouczka, potrzebujesz systemu operacyjnego Ubuntu 20.04 działającego na komputerze lokalnym lub na serwerze zdalnym.
Jeśli szukasz VPS (wirtualnego serwera prywatnego), możesz utworzyć konto w Vultr za pomocą mojego linku polecającego, aby otrzymać darmowe środki w wysokości 50 USD (tylko dla nowych użytkowników). A jeśli chcesz skonfigurować phpMyAdmin z nazwą domeny, polecam kupowanie nazw domen od NameCheap, ponieważ cena jest niska i zapewniają ochronę prywatności Whois za darmo.
Zakłada się, że zainstalowałeś już stos LAMP na Ubuntu 20.04. Jeśli nie, zapoznaj się z poniższym tutorialem.
- Jak zainstalować stos LAMP (Apache, MariaDB, PHP7.4) na Ubuntu 20.04 LTS
Mając to na uwadze, zacznijmy od instalacji phpMyAdmin.
Krok 1: Pobierz i zainstaluj phpMyAdmin na Ubuntu 20.04
phpMyAdmin jest zawarty w repozytorium oprogramowania Ubuntu 20.04. abyśmy mogli go łatwo zainstalować za pomocą poniższego polecenia.
sudo apt update
sudo apt install phpmyadminPowyższe polecenie zainstaluje wszystkie niezbędne zależności, w tym rozszerzenia PHP7. Podczas instalacji pojawi się monit o wybranie serwera WWW do skonfigurowania. Naciśnij klawisz spacja, aby wybrać Apache2. (Gwiazdka oznacza, że element został wybrany). Następnie naciśnij klawisz Tab i Enter, aby potwierdzić swój wybór.
Na następnym ekranie wybierz Tak, aby skonfigurować bazę danych dla phpMyAdmin za pomocą dbconfig-common.
Następnie ustaw hasło dla użytkownika phpmyadmin w MariaDB/MySQL.
Po wykonaniu tego kroku tworzona jest nowa baza danych o nazwie phpmyadmin, a użytkownik bazy danych phpmyadmin ma niezbędne uprawnienia do zarządzania tą bazą danych. Jeśli jesteś ciekawy tak jak ja, możesz zalogować się do MariaDB i sprawdzić, jakie uprawnienia otrzymał użytkownik phpmyadmin.
Możesz użyć następującego polecenia, aby zalogować się do serwera MariaDB.
sudo mysql -u root
Następnie sprawdź uprawnienia użytkownika phpmyadmin.
show grants for phpmyadmin@localhost;Wyjście :
Jak widać użytkownik phpmyadmin ma wszystkie uprawnienia w bazie danych phpmyadmin. Teraz możesz wyjść, wykonując:
exit;Teraz uruchom następujące polecenie, aby sprawdzić, czy plik /etc/apache2/conf-enabled/phpmyadmin.conf istnieje.
file /etc/apache2/conf-enabled/phpmyadmin.confJeśli w procesie instalacji nie wystąpił błąd, powinieneś zobaczyć następujące dane wyjściowe polecenia.
/etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.confJeśli ten plik nie istnieje na Twoim serwerze, prawdopodobnie nie wybrałeś serwera WWW Apache w kreatorze konfiguracji phpMyAdmin. Możesz to naprawić za pomocą następujących poleceń.
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin
sudo systemctl reload apache2Krok 2: Dostęp do phpMyAdmin z podkatalogu
Podczas instalacji phpMyAdmin plik konfiguracyjny jest umieszczany w /etc/apache2/conf-enabled/phpmyadmin.conf, co umożliwia nam dostęp do phpMyAdmin poprzez podkatalog. Jeśli zainstalowałeś inne aplikacje internetowe, takie jak WordPress, na tym samym serwerze Ubuntu 20.04, po prostu dodaj /phpmyadmin po nazwie domeny w pasku adresu przeglądarki.
example.com/phpmyadminJeśli phpMyAdmin jest zainstalowany na lokalnym komputerze Ubuntu, możesz uzyskać dostęp do interfejsu sieciowego phpMyAdmin, wpisując następujący tekst w pasku adresu przeglądarki.
localhost/phpmyadmin
Jeśli połączenie zostanie odrzucone lub nie zostanie ukończone, przyczyną może być zapora sieciowa uniemożliwiająca żądania HTTP. Jeśli używasz zapory sieciowej iptables, musisz uruchomić następujące polecenia, aby otworzyć porty TCP 80 i 443.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPTJeśli używasz zapory UFW, uruchom to polecenie, aby otworzyć porty TCP 80 i 443.
sudo ufw allow 80,443/tcpTeraz możesz używać nazwy użytkownika i hasła MariaDB/MySQL, aby zalogować się do phpMyAdmin. Jeśli nie możesz zalogować się jako root, przejdź do kroku 5, aby rozwiązać ten problem.
Krok 3: Uzyskaj dostęp do phpMyAdmin z subdomeny
Jeśli Twój serwer Ubuntu 20.04 nie ma innego wirtualnego hosta Apache, możesz użyć subdomeny, aby uzyskać dostęp do interfejsu internetowego phpMyAdmin. W ten sposób możesz włączyć protokół HTTPS do szyfrowania ruchu.
Najpierw musimy utworzyć wirtualnego hosta Apache dla phpMyAdmin. Istniejący fragment konfiguracji phpMyAdmin może zostać użyty jako szablon. Skopiujmy go do nowego pliku.
sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.confNastępnie edytuj nowy plik za pomocą edytora tekstu wiersza poleceń, takiego jak Nano.
sudo nano /etc/apache2/sites-available/phpmyadmin.confW tym pliku brakuje tagów , dlatego musimy dodać następujące wiersze na początku tego pliku. Zamień pma.example.com na preferowaną subdomenę dla phpMyAdmin. Nie zapomnij utworzyć rekordu DNS A dla tej subdomeny.
<VirtualHost *:80>
ServerName pma.example.com
DocumentRoot /usr/share/phpmyadmin
ErrorLog ${APACHE_LOG_DIR}/pma.error.log
CustomLog ${APACHE_LOG_DIR}/pma.access.log combinedDodaj następujący wiersz na końcu tego pliku, aby zamknąć tag .
</VirtualHost>Zapisz i zamknij plik. (Aby zapisać plik w edytorze tekstu Nano, naciśnij Ctrl+O, a następnie naciśnij Enter, aby potwierdzić. Aby wyjść, naciśnij Ctrl+X.) Następnie włącz tego hosta wirtualnego.
sudo a2ensite phpmyadmin.confZaładuj ponownie serwer WWW Apache, aby ta zmiana zaczęła obowiązywać.
sudo systemctl reload apache2Teraz powinieneś mieć dostęp do interfejsu internetowego phpMyAdmin poprzez
pma.example.comPrzed wprowadzeniem danych logowania użytkownika w formularzu logowania włączmy protokół HTTPS.
Krok 4: Włącz HTTPS w phpMyAdmin za pomocą Apache
Aby zabezpieczyć interfejs sieciowy phpMyadmin, możemy zainstalować darmowy certyfikat Let’s Encrypt TLS. Uruchom następujące polecenie, aby zainstalować klienta Let’s Encrypt (certbot) z repozytorium oprogramowania Ubuntu 20.04.
sudo apt install certbot python3-certbot-apachePython3-certbot-apache to wtyczka Apache dla Certbota. Teraz uruchom następujące polecenie, aby uzyskać i zainstalować certyfikat TLS.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -d pma.example.com --email [email Gdzie :
- -apache: użyj modułu uwierzytelniającego i instalatora Apache
- -agree-tos: wyraża zgodę na warunki korzystania z usługi Let’s Encrypt
- -przekierowanie: Wymuś HTTPS, dodając stałe przekierowanie 301.
- -hsts: dodaj nagłówek Strict-Transport-Security do każdej odpowiedzi HTTP.
- -staple-ocsp: Włącza zszywanie OCSP.
- -must-staple: dodaje do certyfikatu rozszerzenie OCSP Must Staple.
- Po fladze -d następuje lista nazw domen oddzielonych przecinkami. Możesz dodać maksymalnie 100 nazw domen.
- -e-mail: Adres e-mail używany do kontaktu podczas rejestracji i odzyskiwania.
Zostaniesz zapytany, czy chcesz otrzymywać e-maile od EFF (Electronic Frontier Foundation). Po wybraniu T lub N, Twój certyfikat TLS zostanie dla Ciebie automatycznie pobrany i skonfigurowany, o czym informuje poniższy komunikat.
Krok 5: Rozwiąż problem z błędem logowania do phpMyAdmin
Jeśli spróbujesz zalogować się do phpMyAdmin przy użyciu konta root MariaDB, może pojawić się następujący błąd.
#1698 - Access denied for user 'root '@'localhost'Lub
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'Jeśli zalogujesz się jako użytkownik phpmyadmin, nie zobaczysz powyższego błędu. Jednak użytkownik phpmyadmin może być używany tylko do zarządzania bazą danych phpmyadmin. Przyczyną błędu jest to, że domyślnie użytkownik root MariDB jest uwierzytelniany za pomocą wtyczki unix_socket, zamiast używać wtyczki mysql_native_password. Aby rozwiązać ten problem, możemy utworzyć kolejnego administratora i nadać mu wszystkie uprawnienia.
Zaloguj się do serwera MariaDB z wiersza poleceń.
sudo mysql -u rootUtwórz użytkownika administratora z uwierzytelnianiem za pomocą hasła.
create user admin@localhost identified by 'your-preferred-password';Nadaj wszystkie uprawnienia do wszystkich baz danych.
grant all privileges on *.* to admin@localhost with grant option;Wyczyść uprawnienia i wyjdź;
flush privileges;
exit;Teraz możesz zalogować się do phpMyAmin za pomocą konta admin i zarządzać wszystkimi bazami danych.
Podsumowanie
Mam nadzieję, że ten samouczek pomógł ci zainstalować phpMyAdmin z LAMP na Ubuntu 20.04. Jak zawsze, jeśli uznałeś ten post za przydatny, zapisz się do naszego bezpłatnego biuletynu, aby uzyskać więcej porad i wskazówek. Uważaj 🙂








