• База знаний
  • /
  • Блог
  • /
  • Wiki
  • /
+380 (44) 364 05 71

LEMP является универсальным набором программного обеспечения, который используется на операционных системах Linux для запуска веб-приложений, использующих PHP и MySQL. В качестве сервера используется Nginx

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

Внимание! Для корректной инсталляции всех программных пакетов, речь о которых будет идти в данной статье, нужно выполнять команды из под обычного пользователя (non-root), у которого есть доступ к привилегиям sudo. Все устанавливаемые программные пакеты есть в стандартных репозиториях Ubuntu 18.04, дополнительные репозитории добавлять необходимости нет. Загрузка пакетов происходит при помощи стандартной утилиты apt.

Устанавливаем Nginx

Веб-сервер Nginx будет использоваться для отображения страниц. Для обновления данных о пакетах и дальнейшей установки вводим следующие команды:


sudo apt-get update
sudo apt-get install nginx


В Ubuntu 18.04 нет необходимости в дополнительной настройке Nginx, сервер сразу после установки может быть включен в работу. Однако если в системе работает фаервол ufw, то в его настройках нужно включить передачу данных для установленного веб-сервера. SSL для Nginx еще не установлен, так что доступ стоит открыть только для порта 80.

Вводим команду:

sudo ufw allow 'Nginx HTTP'

Готово! Теперь проверим, открылся ли доступ, при помощи команды:


sudo ufw status


В выведенной таблице напротив Nginx HTTP и Nginx HTTP (v6) должна стоять пометка ALLOW. Теперь пора проверить работу сервера, запустив его домашнюю страницу в браузере. Для этого нужно ввести в адресную строку доменное имя или публичный IP.

Если домена еще нет, IP можно найти при помощи команды:

curl -4 icanhazip.com

Введя полученный IP в браузере можно увидеть стандартную приветственную страницу веб-сервера.

Установка MySQL

Для работы с базами данных будет использоваться стандартная система управления MySQL.

Для установки используется команда:

sudo apt-get install mysql-server

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


sudo mysql_secure_installation

После ввода команды система спросит пароль администратора баз данных, который был введен во время установки MySQL. После ввода пароля, скрипт предложит создать плагин для проверки сложности паролей. Это необязательное действие, работа плагина заключается в контроле вводимых паролей, с отклонением тех, которые считаются слишком простыми. Для включения плагина нажмите Y. Любая другая клавиша продолжит конфигурацию без активации плагина проверки паролей. Если плагин включается, то система спросит об уровне сложности паролей, который необходимо поддерживать. Потребуется ввести цифру от 0 до 2, соответствующую требуемому уровню сложности.

На все остальные вопросы скрипта настройки нужно отвечать утвердительно. Для этого пишите в командную строку Y и жмите ENTER.

Внимание! В системах с версией MySQL от 5.7 и выше, для использования дополнительных программ, в том числе phpMyAdmin, нужно переключить проверку безопасности с auth_socket на mysql_native_password. Для этого введите в терминал:

sudo mysql

Затем проверьте методы авторизации для пользователей:

mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;

Если напротив пользователя root установлен плагин auth_socket, то необходимо сменить его, при помощи команды:

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Обязательно установите сложный пароль для авторизации! Для активации изменений введите:

mysql > FLUSH PRIVILEGES;

После чего, проверьте, вступили ли изменения в силу. Для этого опять используем команду:

mysql > SELECT user,authentication_string,plugin,host FROM mysql.user;

После выполнения всех описанных операций, закройте скрипт настройки при помощи:

mysql > exit;

Установка PHP

Для генерации динамического контента на сайте будет использоваться PHP. Помимо самого интерпретатора понадобится установить специальный модуль для его совместной работы с MySQL. Вводим в командную строку:

sudo apt-get install php-fpm php-mysql

После автоматической установки понадобится внести изменения в файл php-fpm. Для редактирования потребуется права root. Выполняем команду:

sudo nano /etc/php/7.0/fpm/php.ini

В открывшемся файле находим закоментированную строку cgi.fix_pathinfo со значением 1. Данные настройки могут угрожать безопасности, ведь интерпретатор может запустить в работу совершенно не те файлы, которые нужно. Строку необходимо расскоментировать, предварительно выставив ноль в качества значения.

/etc/php/7.0/fpm/php.ini
cgi.fix_pathinfo=0

Все готово! Для того, чтобы активировать изменения, необходимо перезагрузить PHP:

sudo systemctl restart php7.0-fpm

Настройка Nginx и PHP для совместной работы

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

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

Открытый файл будет выглядеть примерно таким образом:

server {
   listen 80 default_server;
   listen [::]:80 default_server;

   root /var/www/html;
   index index.html index.htm index.nginx-debian.html;

   server_name _;

   location / {
       try_files $uri $uri/ =404;
   }
}

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

server {
   listen 80 default_server;
   listen [::]:80 default_server;

   root /var/www/html;
   index index.php index.html index.htm index.nginx-debian.html;

   server_name *вписать доменное_имя_или_IP_адрес_сервера*;

   location / {
       try_files $uri $uri/ =404;
   }

   location ~ \.php$ {
       include snippets/fastcgi-php.conf;
       fastcgi_pass unix:/run/php/php7.0-fpm.sock;
   }

   location ~ /\.ht {
       deny all;
   }
}


После сохранения, конфигурационный файл нужно закрыть и проверить при помощи команды:

sudo nginx -t

Если проверка показывает наличие ошибок, нужно проверить все адреса, которые указывают на внешние файлы. При отсутствии ошибок перезапускаем сервер:

sudo systemctl reload nginx

Итоговая проверка работоспособности

LEMP установлен и сконфигурирован, теперь нужно проверить его работоспособность, создав стандартный тестовый PHP файл. Вводим:

sudo nano /var/www/html/info.php

Откроется стандартный файл, в который необходимо добавить следующие строки:

<?php
phpinfo();
?>

Эта команда будет выводить на страницу информацию о сервере. Если какой-либо компонент функционирует неверно, страница будет выдавать ошибку с информацией о неполадке. Для открытия страницы нужно ввести в адресную строку браузера:

https://домен_или_IP_адрес_сервера/info.php

Должна открыться стандартная информационная страница. На этом установка и настройка LEMP завершена, и можно приступать к использованию пакета.

Если Вы покупаете VPS сервер или выделенный сервер у компании FREEhost.UA, Вам не нужно самостоятельно выполнять настройку. Сервер будет для Вас предоставлен полностью готовый к работе с панелью управления ISPmanager или VestaCP. А еще Вы можете бесплатно зарегистрировать домен при покупке хостинга.

Дата: 09.06.2018
Автор: Евгений
Голосование

Авторам статьи важно Ваше мнение. Будем рады его обсудить с Вами:

comments powered by Disqus
Спасибо, что выбираете FREEhost.UA