Установка LEMP стека (Linux, Nginx, MySQL, PHP) на Ubuntu 16.04

О том, как установить комплект LAMP на Ubuntu Server, написано десятки публикаций. Но гораздо меньше известно о LEMP. Отличие в том, что первый вариант использует Apache, а второй – Nginx. Расскажем подробнее про инсталляцию и первичное конфигурирование. В качестве примера используется «Убунту» 16.04.

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

Подготовим серверную платформу для дальнейших работ – инсталлируем Nginx. Подключаемся к оборудованию по SSH и устанавливаем его стандартными средствами операционной системы. Дистрибутив доступен в официальных репозиториях.

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

Если картинка не открывается, то добавляем строки в параметры брандмауэра. Вводим команды:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables-save

Откроется порт 80. Он предоставляет доступ Nginx в «белом» списке файервола.

Предварительная подготовка завершена, переходим к конфигурированию.

1. Инсталлируем СУБД. В LAMP используют MySQl, а LEMP – MariaDB. Оба продукта идентичны, за исключением способа распространения: «Мария» поставляется бесплатно, а у MySQL есть ограничения. Используем штатные средства установки ПО.

sudo apt-get install mariadb-server mariadb-client

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

Важно! Рекомендуются следующие правила – минимум 9 символов, заглавные буквы, цифры и спецсимволы.

По окончанию проверяем работоспособность:

sudo systemctl status mariadb

Результат приведен на скриншоте:

2. Повышаем уровень безопасность пакета.

sudo mysql_secure_installation

Команда отключает гостевой вход в базу данных, удаленный доступ для суперпользователя, ликвидирует временные таблицы и обновляет права. 

3. Следующий шаг – PHP. Используем утилиту apt-get для инсталляции. На изображении ниже приведены пакеты, которые требуется установить.

sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0 php7.0-xml

Процесс займет минут 10. Дополнительных действий не потребуется, следуем подсказкам мастера.

4. После установки можно подключить дополнительные модули на PHP. Список доступен по команде:

apt-cache search php7

На мониторе появится перечень команд с расшифровкой. Выбираем требуемый и инсталлируем стандартными средствами Ubuntu.

5. Подключим установленные приложения между собой. Набираем:

sudo apt-get install php-fpm php-mysql

По окончании открываем конфигурационный файл PHP через встроенную утилиту vi. Находим строку cgi.fix, и присваиваем значение ноль. Красным показан путь к php.ini

Важно! Чтобы строка была активной, удаляем точку с запятой в начале строки.

Выходим из утилиты, сохранив изменения. Чтобы применить новую конфигурацию, перезапустим службу php7.2-fpm. Процесс займет меньше минуты.

6. Скорректируем конфигурационный файл Nginx.

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

Находим строку с именем Index и вносим дополнительные значения:

index.php index.html index.htm index.nginx-debian.html

Если требуется поменять имя сервера, то используем команду:

server_name XXX, где XXX – произвольное наименование серверной части. В нашем примере используем имя LEMP.

Добавляем возможность обрабатывать запросы PHP: удаляем символ «;» перед строками. На изображении отмечено цифрами «3» и «4».

Сохраним изменения и перезагрузим сервис штатными средствами ОС.

На этом настройка закончена. Проверим.

Проверка

Откроем тестовую страницу для проверки. Создаем пробный вариант.

vi /var/www/html/info.php

Добавим информацию.

<?php phpinfo();?>

Закрываем редактор с сохранением. Открываем обозреватель, вводим IP-адрес серверной платформы с ключом info.

http://xxx.xxx.xxx.xxx/info.php, где xxx.xxx.xxx.xxx – адрес.

Если конфигурирование прошло успешно, то на странице отобразится следующее.

Остались вопросы? Задайте их нашему эксперту и получите квалифицированную помощь