О том, как установить комплект LAMP на Ubuntu Server, написано десятки публикаций. Но гораздо меньше известно о LEMP. Отличие в том, что первый вариант использует Apache, а второй — Nginx. Расскажем подробнее про инсталляцию и первичное конфигурирование. В качестве примера используется Ubuntu 16.04.
Как установить LEMP
Подготовим серверную платформу для дальнейших работ — установим Nginx. Подключаемся к оборудованию по SSH и устанавливаем его стандартными средствами операционной системы. Дистрибутив доступен в официальных репозиториях.
Откроем стартовую страницу Nginx в обозревателе: пропишем IP в адресной строке программы. Должно появиться следующее изображение:
Скриншот №1. Успешная инсталляция.
Если изображение не открывается, добавляем строки в параметры брандмауэра. Вводим команды:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save
Откроется порт 80. Он предоставляет доступ Nginx в «белом» списке файрвола.
Предварительная подготовка завершена, переходим к конфигурированию.
1. Установим СУБД. В LAMP используют MySQl, а в LEMP — MariaDB. Оба продукта идентичны, за исключением способа распространения: MariaDB поставляется бесплатно, а у MySQL есть ограничения. Используем штатные средства установки ПО:
sudo apt-get install mariadb-server mariadb-client
Во время операции пакет потребует придумать секретный ключ для учетной записи с правами администратора.
Важно! Рекомендуются следующие правила — минимум 9 символов, заглавные буквы, цифры и спецсимволы.
По окончании проверяем работоспособность:
sudo systemctl status mariadb
Результат показан на скриншоте:
Скриншот №2. Проверка статуса.
2. Повышаем уровень безопасность пакета:
sudo mysql_secure_installation
Команда отключает гостевой вход в базу данных, удаленный доступ для суперпользователя, ликвидирует временные таблицы и обновляет права.
3. Следующий шаг — установка PHP. Для установки используем утилиту apt-get. Список пакетов, которые требуется установить:
sudo apt-get install php7.2
sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-curl
sudo apt-get installphp7.2-json
sudo apt-get installphp7.0-cgi
sudo apt-get installphp7.0 libapache2-mod-php7.0
sudo apt-get installphp7.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:
Скриншот №4. Внесение изменений.
Важно! Чтобы строка была активной, удаляем точку с запятой в начале строки.
Выходим из утилиты, сохранив изменения. Чтобы применить новую конфигурацию, перезапустим службу php7.2-fpm. Процесс займет меньше минуты.
6. Скорректируем конфигурационный файл Nginx:
sudo vi /etc/nginx/sites-available/default
Находим строку с именем Index и вносим дополнительные значения:
index.php index.html index.htm index.nginx-debian.html
Скриншот №5. Добавить строку.
Если требуется поменять имя сервера, используем команду:
server_name XXX
где XXX — произвольное наименование серверной части. В нашем примере используем имя LEMP.
Добавляем возможность обрабатывать запросы PHP: удаляем символ «;» перед строками. На изображении это отмечено цифрами «3» и «4»:
Скриншот №6. Итоговая конфигурация.
Сохраним изменения и перезагрузим сервис штатными средствами ОС.
На этом настройка закончена. Проверим.
Проверка
Откроем тестовую страницу для проверки. Создаем пробный вариант:
vi /var/www/html/info.php
Добавим информацию:
<?php phpinfo();?>
Закрываем редактор с сохранением. Открываем браузер, вводим IP-адрес серверной платформы с ключом info:
http://xxx.xxx.xxx.xxx/info.php, где xxx.xxx.xxx.xxx – адрес.
Если конфигурирование прошло успешно, на странице отобразится следующее:
Скриншот №7. LEMP-сервер установлен.