Как установить стек LEMP на Ubuntu 20.04

Этот гайд покажет вам, как установить набор программ, известный как стек LEMP (Nginx, MariaDB и PHP 7.4) на Ubuntu 20.04. Программный стек — это просто группа программ, которые работают вместе. LEMP состоит из Linux, NGINX, MariaDB/MySQL и PHP. Все эти компоненты имеют открытый исходный код и бесплатны для использования. Этот набор программ является одним из наиболее популярных и поддерживает создание динамических веб-сайтов и веб-приложений. Linux — это операционная система; NGINX — это веб-сервер; MariaDB/MySQL — это сервер базы данных, а PHP — это серверный язык программирования, используемый для создания динамических веб-страниц.

 Обновление пакетов программного обеспечения

Перед тем, как мы установим стек LEMP, рекомендуется обновить хранилище и программные пакеты, сделав следующие шаги:

apt update && apt upgrade

Мы не обновлялись, поэтому переходим к следующему шагу без промедления.

Установка веб сервера NGINX

NGINX — это мощный веб-сервер, который пользуется большой популярностью в наше время. Его также можно использовать как обратный прокси-сервер и сервер кэширования. Введите следующую команду для установки веб-сервера NGINX:

apt install nginx
Как установить стек LEMP на Ubuntu 20.04

После установки NGINX мы можем настроить его для автоматического запуска при загрузке системы, просто выполните следующую команду:

systemctl enable nginx

После этого запустите NGINX с помощью данной команды:

systemctl start nginx

Теперь убедитесь, что он работает, проверьте его состояние:

systemctl status nginx
Как установить стек LEMP на Ubuntu 20.04

«Enabled» означает, что автозапуск при загрузке включен, и мы видим, что NGINX работает. Также вы можете узнать, сколько оперативной памяти использует NGINX из вывода. Если команда выше не завершается сразу после запуска, просто нажмите «q«, чтобы выйти.

Проверьте, какая версия NGINX установлена:

nginx -v

Мы имеем установленную версию:

root@firstbyte:~# nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

Теперь введите IP-адрес вашего сервера в адресной строке браузера. Если вы видите веб-страницу с надписью «Welcome to nginx!«, значит, веб-сервер NGINX работает правильно.

Как установить стек LEMP на Ubuntu 20.04

В конечном итоге, нам необходимо сделать пользователя www-data (пользователя NGINX) владельцем папки для веб-файлов. По умолчанию она принадлежит пользователю root.

chown www-data:www-data /usr/share/nginx/html -R

Теперь мы можем безопасно загружать необходимые файлы, и они будут доступны всему миру.

Установка сервера базы данных MariaDB

MariaDB — это альтернатива MySQL. Она создана бывшими разработчиками из команды MySQL, которые беспокоятся о том, что Oracle может изменить MySQL, сделав его продуктом с закрытым исходным кодом. Чтобы установить MariaDB, введите следующую команду:

apt install mariadb-server mariadb-client
Как установить стек LEMP на Ubuntu 20.04

Давайте подтвердим, что мы хотим установить это программное обеспечение, и дождемся несколько минут, пока установка завершится:

После установки, сервер MariaDB должен автоматически запуститься. Используйте команду systemctl для проверки его статуса:

systemctl status mariadb
Как установить стек LEMP на Ubuntu 20.04

Если сервер не запущен, запустите его с помощью этой команды:

systemctl start mariadb

Для того чтобы настроить автоматический запуск MariaDB при загрузке операционной системы, используйте следующую команду:

systemctl enable mariadb

Теперь выполните скрипт безопасности после завершения установки.

mysql_secure_installation

Когда система запросит вас ввести пароль root для MariaDB, просто нажмите клавишу Enter, так как пароль root еще не установлен. Затем введите «Y«, чтобы установить пароль root для сервера MariaDB.

После этого вы можете просто нажать Enter, чтобы ответить на все оставшиеся вопросы. Это приведет к удалению анонимного пользователя, отключению удаленного входа в систему root и удалению тестовой базы данных. Этот шаг крайне важен для обеспечения безопасности базы данных MariaDB.

Как установить стек LEMP на Ubuntu 20.04

По умолчанию, в Ubuntu пакет MariaDB использует аутентификацию через unix_socket, что позволяет использовать имя пользователя и пароль операционной системы для входа в консоль MariaDB. Таким образом, вы можете выполнить следующую команду для входа без указания пароля root MariaDB.

mariadb -u root
mariadb -u root

Чтобы выйти из консоли MariaDB, просто введите эту команду:

exit;

Проверьте информацию о версии сервера MariaDB:

mariadb —version
Как установить стек LEMP на Ubuntu 20.04

Как вы можете заметить, мы установили MariaDB версии 10.3.38.

Установка PHP

PHP 7.4 — это последняя стабильная версия PHP для Ubuntu 20.04, и она немного производительнее по сравнению с PHP 7.3. Введите следующую команду, чтобы установить PHP 7.4 и некоторые распространенные модули PHP:

apt install php7.4 php7.4-fpm php7.4-mysql php-common php7.4-cli php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl

Обычно для управления контентом (CMS), таких как WordPress, требуются дополнительные расширения PHP. Например, если у вас отсутствует расширение php7.4-xml, то некоторые страницы вашего сайта WordPress могут отображаться пустыми, и вы можете найти соответствующую ошибку в логах ошибок NGINX.

PHP message: PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create()

Установка этих дополнений PHP обеспечит непрерывную работу вашей CMS. Теперь запустите php7.4-fpm.

systemctl start php7.4-fpm

Также рекомендуется настроить автоматический запуск при загрузке:

systemctl enable php7.4-fpm

После этого мы можем проверить его текущее состояние:

Как установить стек LEMP на Ubuntu 20.04

Если после запуска команды вы не видите немедленного завершения выполнения, просто нажмите клавишу «q«, чтобы выйти из режима ожидания.

Как создать серверный блок NGINX

Конфигурационный блок сервера NGINX аналогичен виртуальному хосту в Apache. Мы не будем использовать стандартный конфигурационный блок сервера, потому что он не подходит для запуска PHP-кода, и изменение его может вызвать проблемы. Поэтому удалите символическую ссылку default из папки sites-enabled, выполнив следующую команду: (Однако он по-прежнему доступен по пути /etc/nginx/sites-available/default.)

rm /etc/nginx/sites-enabled/default

Затем откройте текстовый редактор командной строки «nano«, чтобы создать новый файл конфигурации сервера в директории /etc/nginx/conf.d/.

nano /etc/nginx/conf.d/default.conf

Добавьте следующий текст в файл. Этот фрагмент настроит NGINX на прослушивание порта 80:

server {
  listen 80;
  listen [::]:80;
  server_name _;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

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

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

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /\.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Чтобы сохранить файл, нажмите комбинацию клавиш CTRL+X, а затем клавишу Enter.

Как установить стек LEMP на Ubuntu 20.04

Далее протестируйте конфигурацию NGINX:

nginx -t
Как установить стек LEMP на Ubuntu 20.04

Если тест завершился успешно, перезапустите NGINX:

systemctl restart nginx

Протестируйте PHP

Чтобы проверить работу PHP-FPM с веб-сервером NGINX, нужно создать файл info.php в корневой папке, где обычно располагаются файлы вашего сайта.

Добавьте следующий PHP-код в файл:

<?php phpinfo(); ?>

Сохраните файл, нажмите комбинацию клавиш CTRL+X, а затем нажмите клавишу Enter.

Теперь откройте страницу с информацией, перейдя по ссылке:

http://IP-АДРЕС/info.php
Как установить стек LEMP на Ubuntu 20.04

Поздравляю! Вы успешно установили NGINX, MariaDB и PHP 7.4 на Ubuntu 20.04. Для повышения безопасности вашего сервера рекомендуется удалить файл info.php прямо сейчас, чтобы предотвратить его просмотр злоумышленниками.

rm /usr/share/nginx/html/info.php

Превосходно! Теперь только вы и ваша команда будете знать о точной конфигурации вашего веб-сервера и PHP.

Заключение

Мы надеемся, что наше руководство было для вас полезным и помогло освоить установку LEMP на вашем сервере с операционной системой Ubuntu 20.04.

Цены

▪ Стабильные.
▪ В рублях.
▪ Не зависят от $ и €.
▪ Мы  !
▪ Скидка при оплате за год!

Юридическим лицам

Договор и полный комплект бухгалтерских документов по почте.

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас. Продолжая пользоваться сайтом без изменения настроек браузера, вы даёте согласие на использование ваших cookie-файлов
Согласен