Wyszukiwanie w witrynie

Jak zainstalować stos LEMP z PhpMyAdmin w Ubuntu 20.04


Dla tych z Was, którzy nie wiedzą, czym jest LEMP – jest to kombinacja pakietów oprogramowania – Linux, Nginx (wymawiane EngineX), MariaDB i PHP.

Możesz używać LEMP zarówno do celów testowych, jak i w prawdziwym środowisku produkcyjnym do wdrażania aplikacji internetowych przy użyciu frameworków PHP, takich jak Laravel lub Yii, lub systemów zarządzania treścią, takich jak WordPress, Drupal lub Joomli

Możesz się zastanawiać, jaka jest różnica między LAMPą a LEMP. Cóż, jedyną różnicą jest dołączony serwer WWW – Apache (w LAMP) i Nginx (w LEMP >). Obydwa serwery internetowe są całkiem dobre i chociaż Apache jest najczęściej używanym, Nginx w żaden sposób nie ustępuje.

Inną powszechnie używaną aplikacją instalowaną zwykle obok stosu LEMP jest PhpMyAdmin – to internetowe narzędzie PHP służące do administrowania serwerem baz danych MySQL/MariaDB z przeglądarki internetowej.

Jeśli szukasz konfiguracji LAMPy dla Ubuntu 20.04, przeczytaj nasz przewodnik konfiguracji LAMPy w Ubuntu 20.04.

Warunki wstępne:

  1. Przewodnik instalacji serwera Ubuntu 20.04

W tym artykule dowiesz się, jak zainstalować i skonfigurować stos LEMP z PhpMyAdmin na serwerze Ubuntu 20.04.

Krok 1: Instalacja Nginx na Ubuntu 20.04

1. Nginx to szybki, nowoczesny serwer WWW zaprojektowany do obsługi wielu jednoczesnych połączeń bez zużywania zbyt wielu zasobów serwera. Dlatego jest to często preferowany wybór w środowiskach korporacyjnych.

NGINX jest również powszechnie używany jako moduł równoważenia obciążenia i pamięć podręczna treści internetowych. Obsługuje serwery wirtualne oparte na nazwach i IP (analogicznie do hostów wirtualnych w Apache).

Możesz zainstalować Nginx na komputerze stacjonarnym lub serwerze Ubuntu 20.04, uruchamiając następujące polecenie.

sudo apt update
sudo apt install nginx

Pliki konfiguracyjne Nginx są przechowywane w katalogu /etc/nginx, a ich główny plik konfiguracyjny to /etc/nginx/nginx.conf. Co ważne, domyślny katalog główny dokumentów do przechowywania plików internetowych to /usr/share/nginx/html/. Możesz jednak użyć standardowego /var/www/html, który powinien być skonfigurowany w pliku konfiguracyjnym bloku serwera Twojej witryny lub aplikacji.

2. Instalator pakietu Ubuntu uruchamia systemd, aby uruchomić usługę Nginx i umożliwić jej automatyczne uruchamianie przy każdym ponownym uruchomieniu serwera. Użyj następujących poleceń systemctl, aby potwierdzić, że usługa działa i jest włączona.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Teraz czas sprawdzić, czy instalacja Nginx przebiegła pomyślnie, wywołując stronę Nginx przez przeglądarkę przy użyciu adresu IP serwera.

http://SERVER_IP

Jeśli nie znasz adresu IP swojego serwera, możesz go znaleźć za pomocą polecenia IP, jak pokazano.

ip addr show

Domyślna strona internetowa NGINX powinna się załadować, jak pokazano na poniższym zrzucie ekranu, potwierdzając poprawną instalację i działanie.

Krok 2: Instalowanie bazy danych MariaDB na Ubuntu 20.04

4. MariaDB to stosunkowo nowy system zarządzania relacyjnymi bazami danych, który został zaprojektowany jako rozwidlenie społeczności MySQL po przejęciu przez firmę Oracle.

Instalacja MariaDB jest prosta i można ją rozpocząć za pomocą polecenia:

sudo apt install mariadb-server mariadb-client

5. Usługa MariaDB jest również uruchamiana automatycznie i włączana tak, aby zawsze uruchamiała się przy starcie systemu. Możesz to potwierdzić za pomocą poniższych poleceń.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Jeśli chcesz poprawić bezpieczeństwo MariaDB, możesz uruchomić komendę mysql_secure_installation, która udostępni podstawowe, ale ważne opcje konfiguracji :

sudo mysql_secure_installation

Następnie wybierz opcję ustawienia hasła użytkownika root (lub administratora) bazy danych i postępuj zgodnie z instrukcjami i uważnie przeczytaj pytania. Aby zabezpieczyć serwer bazy danych, odpowiedz na pytania pokazane na zrzucie ekranu.

  • Wpisz aktualne hasło roota (wpisz brak): Enter
  • Ustawić hasło roota? [T/n] y
  • Usunąć anonimowych użytkowników? [T/n] y
  • Zabronić zdalnego logowania roota? [T/n] y
  • Usunąć testową bazę danych i uzyskać do niej dostęp? [T/n] y
  • Załadować teraz ponownie tabele uprawnień? [T/n] y

7. Aby tworzyć, zarządzać i wykonywać operacje na bazie danych, musisz wykonać polecenie powłoki mysql z flagą -u, aby określić nazwę użytkownika bazy danych i -p, aby podać hasło użytkownika.

Aby połączyć się jako użytkownik root, użyj polecenia sudo (nawet bez flagi -p), w przeciwnym razie pojawi się błąd zaznaczony na poniższym zrzucie ekranu.

mysql -u root -p
sudo mysql -u root

Krok 3: Instalacja PHP w Ubuntu 20.04

8. PHP to popularny, elastyczny i dynamiczny język skryptowy typu open source, służący do tworzenia witryn internetowych i aplikacji internetowych. Obsługuje różnorodne techniki programowania. Co ważne, społeczność PHP jest duża i zróżnicowana, składa się z niezliczonych bibliotek, frameworków i innych przydatnych komponentów.

NGINX używa FPM (FastCGI Process Manager) lub PHP-FPM do przetwarzania skryptów PHP. PHP-FPM to szeroko stosowana alternatywna implementacja PHP FastCGI, która jest dostarczana z wieloma dodatkowymi funkcjami i służy do obsługi witryn/aplikacji internetowych o dużym ruchu.

Aby zainstalować PHP i PHP-FPM, uruchom następujące polecenie, które zainstaluje również niektóre wymagane dodatkowe pakiety.

sudo apt install php php-mysql php-fpm

Ponieważ PHP 7.4 jest domyślną wersją PHP w Ubuntu 20.04, pliki konfiguracyjne PHP znajdują się w /etc/php/7.4 /, a pliki konfiguracyjne PHP-FPM są przechowywane w katalogu /etc/php/7.4/fpm.

9. Następnie sprawdź, czy usługa php7.4-fpm jest uruchomiona i działa oraz czy jest włączona za pomocą następującego polecenia.

sudo systemctl status php7.4-fpm
sudo systemctl is-enabled php7.4-fpm

Krok 4: Konfiguracja Nginx do pracy z PHP-FPM

10. Teraz musisz skonfigurować NGINX, aby proxy żądań klientów przesyłało do PHP-FPM, które domyślnie jest skonfigurowane do nasłuchiwania na Gniazdo UNIX zdefiniowane przez parametr Listen w /etc/php/7.4/fpm/pool.d/www.conf domyślnym pliku konfiguracyjnym puli.

sudo vi /etc/php/7.4/fpm/pool.d/www.conf 

11. W domyślnym pliku konfiguracyjnym bloku serwera (/etc/nginx/sites-available/default) usuń komentarz z dyrektywy lokalizacji przetwarzania PHP żąda, aby wyglądał jak ten pokazany na poniższym zrzucie ekranu.

sudo vi /etc/nginx/sites-available/default

Zapisz plik i wyjdź.

12. Następnie przetestuj składnię konfiguracji NGINX pod kątem poprawności. Jeśli wszystko jest w porządku, uruchom ponownie usługę Nginx, aby zastosować nowe zmiany.

sudo nginx -t
sudo systemctl restart nginx

13. Teraz przetestuj, czy NGINX może współpracować z PHP-FPM w celu przetwarzania żądań PHP. Utwórz prostą stronę info.php w katalogu głównym dokumentu.

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

14. W przeglądarce nawiguj, korzystając z następującego adresu. Strona konfiguracji PHP powinna się załadować, jak pokazano na poniższym zrzucie ekranu.

http://SERVER_IP/info.php

Krok 5: Instalacja PhpMyAdmin w Ubuntu 20.04

15. PhpMyAdmin to bezpłatna internetowa aplikacja PHP o otwartym kodzie źródłowym, stworzona specjalnie do administrowania serwerami baz danych MySQL/MariaDB za pośrednictwem przeglądarki internetowej. Zapewnia intuicyjny interfejs graficzny i obsługuje szeroką gamę typowych funkcji do zadań administrowania bazami danych.

sudo apt install phpmyadmin

16. Podczas instalacji pakietu zostaniesz poproszony o skonfigurowanie kilku aspektów pakietu PhpMyAdmin. Najpierw zostaniesz poproszony o wybranie domyślnego serwera WWW, na którym chcesz go uruchomić. Naciśnij Esc, ponieważ NGINX nie znajduje się na podanej liście.

17. Następnie PhpMyAdmin wymaga bazy danych do pracy. W tym wierszu konfiguracji pakietu wybierz Tak, aby skonfigurować bazę danych dla PhpMyAdmin za pomocą pakietu dbconfig-common.

18. W następnym pytaniu musisz podać hasło dla PhpMyAdmin, aby zarejestrować się w bazie danych MariaDB. Wprowadź bezpieczne hasło i kliknij Enter.

Krok 6: Konfigurowanie NGINX do obsługi witryny PhpMyAdmin

19. Aby umożliwić NGINX obsługę witryny PhpMyAdmin znajdującej się pod adresem /usr/share/phpmyadmin, utwórz dowiązanie symboliczne dla tego katalogu w katalogu głównym dokumentów, a następnie ustaw prawidłowe uprawnienia i własność w katalogu PHPMyAdmin w następujący sposób.

sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin
sudo chmod 775 -R /usr/share/phpmyadmin/
sudo chown root:www-data -R /usr/share/phpmyadmin/

20. Poza tym upewnij się, że dyrektywa index w domyślnym pliku konfiguracyjnym bloku serwera (/etc/nginx/sites-available/default) zawiera index.php, jak pokazano na poniższym zrzucie ekranu.

21. Następnie ponownie uruchom usługę Nginx, aby zastosować powyższe zmiany.

sudo systemctl restart nginx

22. Teraz uzyskaj dostęp do witryny PhpMyAdmin w przeglądarce, korzystając z następującego adresu.

http://SERVER_IP/phpmyadmin

Na stronie logowania uwierzytelnij się przy użyciu nazwy użytkownika i hasła PHPMyAdmin. Pamiętaj, że zdalne logowanie użytkownika root jest wyłączone, chyba że uzyskujesz dostęp do PHPMyAdmin na hoście lokalnym, na którym zainstalowana jest baza danych MariaDB, dostęp root nie będzie działał.

Na koniec zabezpiecz swoją instalację PhpMyAdmin, korzystając z naszego przewodnika: 4 przydatne wskazówki dotyczące zabezpieczenia interfejsu sieciowego PhpMyAdmin.

Wniosek

Konfiguracja LEMP jest teraz ukończona i możesz rozpocząć tworzenie aplikacji internetowych lub po prostu pobawić się właśnie zainstalowanymi usługami Nginx i MariaDB. Są one szeroko stosowane i administratorom systemów zdecydowanie zaleca się zdobycie większej wiedzy na ich temat.