Поиск по сайту:

Как установить стек LEMP с помощью PhpMyAdmin в Ubuntu 20.04


Для тех из вас, кто не знает, что такое LEMP: это комбинация программных пакетов – Linux, Nginx (произносится ).EngineX), MariaDB и PHP.

Вы можете использовать LEMP как для целей тестирования, так и в реальной производственной среде для развертывания веб-приложений с использованием платформ PHP, таких как Laravel или Yii, или систем управления контентом, таких как WordPress, Drupal. или Джумла

Вы можете задаться вопросом, в чем разница между LAMP и LEMP. Ну, единственная разница — это включенный веб-сервер — ApacheLAMP) и NginxLEMP). >). Оба веб-сервера довольно хороши, и хотя Apache используется наиболее часто, Nginx ни в коем случае не отступает.

Другое широко используемое приложение, обычно устанавливаемое вместе со стеком LEMP, — это PhpMyAdmin – веб-инструмент PHP для администрирования сервера базы данных MySQL/MariaDB. из веб-браузера.

Если вы ищете настройку LAMP для своей Ubuntu 20.04, вам следует прочитать наше руководство по настройке LAMP в Ubuntu 20.04.

Предпосылки:

  1. Руководство по установке сервера Ubuntu 20.04

В этой статье вы узнаете, как установить и настроить стек LEMP с помощью PhpMyAdmin на сервере Ubuntu 20.04.

Шаг 1. Установка Nginx в Ubuntu 20.04

1. Nginx – это быстрый современный веб-сервер, предназначенный для обслуживания множества одновременных подключений без потребления слишком большого количества ресурсов сервера. Вот почему его часто предпочитают в корпоративных средах.

NGINX также широко используется в качестве балансировщика нагрузки и кэша веб-контента. Он поддерживает виртуальные серверы на основе имен и IP (аналог виртуальных хостов в Apache).

Вы можете установить Nginx на свой рабочий стол или сервер Ubuntu 20.04, выполнив следующую команду.

sudo apt update
sudo apt install nginx

Файлы конфигурации Nginx хранятся в каталоге /etc/nginx, а его основной файл конфигурации — /etc/nginx/nginx.conf. Важно отметить, что корень документа по умолчанию для хранения ваших веб-файлов — /usr/share/nginx/html/. Но вы можете использовать стандартный /var/www/html, который должен быть настроен в файле конфигурации блока сервера вашего веб-сайта или приложения.

2. Установщик пакета Ubuntu запускает systemd для запуска службы Nginx и позволяет ей автоматически запускаться при каждой перезагрузке сервера. Используйте следующие команды systemctl, чтобы убедиться, что служба запущена и включена.

sudo systemctl status nginx 
sudo systemctl is-enabled nginx

3. Теперь пришло время проверить, прошла ли установка Nginx успешно, вызвав страницу Nginx через браузер, используя IP-адрес сервера.

http://SERVER_IP

Если вы не знаете IP-адрес своего сервера, вы можете найти его с помощью команды IP, как показано.

ip addr show

Веб-страница NGINX по умолчанию должна загрузиться, как показано на следующем снимке экрана, что подтверждает правильную установку и работу.

Шаг 2. Установка базы данных MariaDB в Ubuntu 20.04

4. MariaDB – это относительно новая система управления реляционными базами данных, которая была разработана сообществом как ответвление MySQL после ее приобретения Oracle.

Установка MariaDB проста и может быть запущена с помощью команды:

sudo apt install mariadb-server mariadb-client

5. Служба MariaDB также запускается автоматически и всегда запускается при загрузке системы, и вы можете подтвердить это с помощью следующих команд.

sudo systemctl status mariadb
sudo systemctl is-enabled mariadb

6. Если вы хотите улучшить безопасность MariaDB, вы можете запустить команду mysql_secure_installation, которая предоставит некоторые базовые, но важные параметры для настройки. :

sudo mysql_secure_installation

Затем выберите вариант установки пароля пользователя root (или администратора) базы данных, следуйте подсказкам и внимательно прочитайте вопросы. Чтобы защитить свой сервер базы данных, ответьте на вопросы, как показано на скриншоте.

  • Введите текущий пароль для root (введите, если нет): Enter
  • Установить пароль root? [Да/нет] да
  • Удалить анонимных пользователей? [Да/нет] да
  • Запретить удаленный вход в систему root? [Да/нет] да
  • Удалить тестовую базу данных и доступ к ней? [Да/нет] да
  • Обновить таблицы привилегий сейчас? [Да/нет] да

7. Для создания, управления и выполнения операций с базой данных вам необходимо выполнить команду оболочки mysql с флагом -u, чтобы указать имя пользователя базы данных и -p, чтобы указать пароль пользователя.

Чтобы подключиться от имени пользователя root, используйте команду sudo (даже без флага -p), в противном случае вы получите сообщение об ошибке, показанное на следующем снимке экрана.

mysql -u root -p
sudo mysql -u root

Шаг 3. Установка PHP в Ubuntu 20.04

8. PHP — популярный, гибкий и динамический язык сценариев с открытым исходным кодом для создания веб-сайтов и веб-приложений. Он поддерживает различные методы программирования. Важно отметить, что сообщество PHP велико и разнообразно, оно состоит из бесчисленного множества библиотек, фреймворков и других полезных компонентов.

NGINX использует FPM (FastCGI Process Manager) или PHP-FPM для обработки PHP-скриптов. PHP-FPM — это широко используемая альтернативная реализация PHP FastCGI, которая поставляется со многими дополнительными функциями и используется для работы сайтов/веб-приложений с высоким трафиком.

Чтобы установить PHP и PHP-FPM, выполните следующую команду, которая также установит некоторые необходимые дополнительные пакеты.

sudo apt install php php-mysql php-fpm

Поскольку PHP 7.4 является версией PHP по умолчанию в Ubuntu 20.04, файлы конфигурации PHP расположены в /etc/php/7.4. / и файлы конфигурации PHP-FPM хранятся в папке /etc/php/7.4/fpm.

9. Затем проверьте, запущена ли служба php7.4-fpm и включена ли она с помощью следующей команды.

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

Шаг 4. Настройка Nginx для работы с PHP-FPM

10. Теперь вам нужно настроить NGINX для проксирования клиентских запросов на PHP-FPM, который по умолчанию настроен на прослушивание Сокет UNIX, определенный параметром прослушивания в файле конфигурации пула по умолчанию /etc/php/7.4/fpm/pool.d/www.conf.

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

11. В файле конфигурации блока сервера по умолчанию (/etc/nginx/sites-available/default) раскомментируйте директиву для обработки PHP. запросы, чтобы они выглядели так, как показано на следующем снимке экрана.

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

Сохраните файл и выйдите.

12. Затем проверьте правильность синтаксиса конфигурации NGINX. Если все в порядке, перезапустите службу Nginx, чтобы применить новые изменения.

sudo nginx -t
sudo systemctl restart nginx

13. Теперь проверьте, может ли NGINX работать совместно с PHP-FPM для обработки PHP-запросов. Создайте простую страницу info.php в корневом каталоге документа.

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

14. В браузере перейдите по следующему адресу. Страница конфигурации PHP должна загрузиться, как показано на следующем снимке экрана.

http://SERVER_IP/info.php

Шаг 5. Установка PhpMyAdmin в Ubuntu 20.04

15. PhpMyAdmin — это бесплатное веб-приложение PHP с открытым исходным кодом, специально созданное для администрирования серверов баз данных MySQL/MariaDB через веб-браузер. Он обеспечивает интуитивно понятный графический интерфейс и поддерживает широкий спектр общих функций для задач администрирования базы данных.

sudo apt install phpmyadmin

16. Во время установки пакета вам будет предложено настроить несколько аспектов пакета PhpMyAdmin. Сначала будет предложено выбрать веб-сервер по умолчанию для его запуска. Нажмите Esc, поскольку NGINX нет в предоставленном списке.

17. Далее, PhpMyAdmin требуется база данных для работы. В этом запросе настройки пакета выберите Да, чтобы настроить базу данных для PhpMyAdmin с помощью dbconfig-common package.

18. В следующем приглашении вам необходимо указать пароль для PhpMyAdmin для регистрации в базе данных MariaDB. Введите безопасный пароль и нажмите Enter.

Шаг 6. Настройка NGINX для обслуживания сайта PhpMyAdmin

19. Чтобы позволить NGINX обслуживать сайт PhpMyAdmin, расположенный по адресу /usr/share/phpmyadmin, создайте символическую ссылку для этого каталога в корне документа, затем установите правильные разрешения и владельца для каталога PHPMyAdmin следующим образом.

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. Кроме того, убедитесь, что директива index в файле конфигурации блока сервера по умолчанию (/etc/nginx/sites-available/default) включает index.php, как показано на следующем снимке экрана.

21. Затем перезапустите службу Nginx еще раз, чтобы применить вышеуказанные изменения.

sudo systemctl restart nginx

22. Теперь зайдите на сайт PhpMyAdmin из браузера, используя следующий адрес.

http://SERVER_IP/phpmyadmin

На странице входа выполните аутентификацию, используя имя пользователя и пароль PHPMyAdmin. Помните, что вход в систему удаленного пользователя root отключен, если вы не получаете доступ к PHPMyAdmin на локальном хосте, где установлена база данных MariaDB, доступ root не будет работать.

И последнее, но не менее важное: защитите установку PhpMyAdmin, используя наше руководство: 4 полезных совета по защите веб-интерфейса PhpMyAdmin.

Заключение

Настройка LEMP завершена, и вы можете приступить к созданию веб-приложений или просто поиграть с только что установленными службами Nginx и MariaDB. Они широко используются, и системным администраторам настоятельно рекомендуется получить больше знаний о них.