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

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

 

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

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку стека LEMP на сервере Ubuntu 20.04 (Focal Fossa).

Установите LEMP на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade

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

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

sudo apt install nginx

После установки проверьте, запущена ли служба Nginx:

sudo systemctl start nginx
sudo systemctl status nginx

Теперь, если у вас запущен брандмауэр UFW, вам нужно будет разрешить подключения к Nginx:

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'

Проверьте статус брандмауэра:

$ sudo ufw status

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Давайте продолжим и запустим тестовую страницу Nginx. Зайдите в свой веб-браузер и посетите свой домен или IP-адрес:

http://your-server-ip-address 
ИЛИ
http://your-domain.com

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

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

sudo apt install mariadb-server mariadb-client

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

sudo systemctl status mariadb

По умолчанию MariaDB не усилен. Вы можете защитить MariaDB с помощью mysql_secure_installationскрипта. вы должны внимательно прочитать и под каждым шагом, который установит пароль root, удалит анонимных пользователей, запретит удаленный вход root и удалит тестовую базу данных и доступ к безопасности MariaDB:

mysql_secure_installation

Настройте это так:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Чтобы войти в MariaDB, используйте следующую команду (обратите внимание, что это та же команда, которую вы использовали бы для входа в базу данных MariaDB):

mysql -u root -p

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

В отличие от Apache, Nginx не содержит собственной обработки PHP. Для этого нам нужно установить PHP-FPM (FastCGI Process Manager). Выполните следующую команду, чтобы установить PHP7.4 и некоторые распространенные расширения:

sudo 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

После установки проверьте версию PHP:

php --version

Далее настраиваем Nginx для работы с PHP-FPM:

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

Вставьте в файл следующий текст:

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;
  }
}

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

sudo nginx -t
sudo systemctl restart nginx

Шаг 5. Протестируйте PHP.

Чтобы протестировать PHP, создайте тестовый файл с именем info.php с приведенным ниже содержимым. Сохраните файл, затем перейдите к нему, чтобы узнать, работает ли PHP:

sudo nano /usr/share/nginx/html/info.php

Скопируйте в текстовый редактор следующее:

<?php
phpinfo();
?>

Попробуйте получить к нему доступ по адресу . Если информационная страница PHP отображается в вашем браузере, значит, все в порядке, и вы готовы продолжить.http://your_server_ip/info.php

Поздравляю! Вы успешно установили стек LEMP . Благодарим за использование этого руководства по установке LAMP (Linux, Nginx, MariaDB и PHP) в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный веб-сайт Nginx, MySQL и PHP.