Данный учебник расскажет, как выполнить установку Nginx, MariaDB и PHP7.1 (LEMP) на Ubuntu 17.10. Вы сможете использовать это руководство как для VPS (Виртуального Частного Сервер), так и для локального компьютера с Ubuntu 17.10.php7.1, который уже включен в состав Ubuntu 17.10, обеспечивает небольшое улучшение производительности по сравнению с предыдущей версией PHP7.0.
Содержание статьи
Обновление ПО
Перед тем как устанавливать стек LEMP, рекомендуется обновить репозитории и программные пакеты. Для этого выполните следующую команду в вашей системе Ubuntu 17.10.
sudo apt update sudo apt upgrade
Инсталляция веб-сервера Nginx
Nginx — это эффективный веб-сервер, который приобрел большую популярность в последнее время. Его также можно настроить как обратный прокси-сервер. Для установки Nginx введите следующую команду.
sudo apt install nginx
После завершения установки можно активировать автоматический запуск Nginx при старте Ubuntu, выполнив данную команду.
sudo systemctl enable nginx
После этого запустите Nginx, используя следующую команду:
sudo systemctl start nginx
Теперь убедитесь в его текущем состоянии.
systemctl status nginx
●nginx.service - это высокоэффективный веб-сервер и сервер обратного прокси. Статус: загружен (из файла /lib/systemd/system/nginx.service;включеноПредустановка от поставщика: en Включено:Функционирует (находится в рабочем состоянии). с Вт 2017-12-12 06:17:50 UTC; 51с назад Документация: man:nginx(8) Главный PID: 15672 (nginx) Задачи: 2 (лимит: 4915) Память: 6.3M CPU: 37ms CGroup: /system. slice/nginx.service ├─15672 nginx: главный процесс /usr/sbin/nginx - g daemon on; master_pr └─15675 nginx: рабочий процесс
Термин «включено» означает, что функция автозапуска при загрузке активирована, и мы можем подтвердить, что Nginx функционирует. Имейте в виду, что команда, упомянутая выше, не завершит свое выполнение сразу после исполнения. Чтобы выйти, необходимо нажать клавишу «q».
Убедитесь, что у вас установлена нужная версия Nginx.
nginx - v
версия nginx: nginx/1.12.1 (Ubuntu)
Введите публичный IP-адрес вашего сервера с Ubuntu 17.10 в строку браузера. Вы должны увидеть страницу «Добро пожаловать в Nginx», что свидетельствует о корректной работе веб-сервера Nginx. Если установка LEMP происходит на локальном компьютере с Ubuntu 17.10, введите 127.0.0.1 или localhost в адресной строке браузера.

В конечном итоге необходимо назначить пользователя www-data (пользователь Nginx) владельцем директории веб-корня, так как по умолчанию она принадлежит пользователю root.
sudo chown www-data:www-data /usr/share/nginx/html - R
Инсталляция сервера баз данных MariaDB
MariaDB выступает в качестве альтернативы MySQL. Этот проект был создан бывшими разработчиками MySQL, которые выражали опасения, что Oracle может сделать MySQL закрытым продуктом. Чтобы установить MariaDB на Ubuntu 17.10, используйте следующую команду.
sudo apt install mariadb-server mariadb-client
После установки сервера MariaDB он должен запуститься автоматически. Для проверки его состояния воспользуйтесь командой systemctl.
systemctl status mariadb
●mariadb.service - сервер баз данных MariaDB
Статус: загружен (/lib/systemd/system/mariadb.service;включеноПредустановка от поставщика: включена) Активный режим:действует (функционирует) с вт 2017-12-12 06:36:12 UTC; 6 секунд назад Основной PID: 17409 (mysqld) Статус: "Принимаю ваши SQL-запросы." Задачи: 26 (лимит: 4915) Память: 59.9M CPU: 342ms CGroup: /system. slice/mariadb.service └─17409 /usr/sbin/mysqld
Если он не функционирует, активируйте его с помощью следующей команды:
sudo systemctl start mariadb
Чтобы настроить автоматический запуск MariaDB при загрузке системы, выполните следующие шаги:
sudo systemctl enable mariadb
Теперь выполните скрипт безопасности после завершения установки.
sudo mysql_secure_installation
При запросе пароля root для MariaDB нажмите Enter, так как он ещё не задан. После этого введите y, чтобы задать пароль root для сервера MariaDB.

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

По умолчанию в Ubuntu пакет MariaDB использует unix_socket для аутентификации пользователей. Это значит, что вы можете входить в консоль MariaDB, используя учетные данные вашей операционной системы. Таким образом, для входа без необходимости ввода пароля root MariaDB можно воспользоваться следующей командой.
sudo mariadb - u root
exit;
Убедитесь в актуальности сведений о версии сервера MariaDB.
mariadb --version
Мы успешно установили MariaDB версии 10.1.25.
mariadb Ver 15.1 Distrib 10.1.25-MariaDB, для debian-linux-gnu (x86_64) с использованием readline 5.2
Инсталляция PHP версии 7.1
PHP7.1 добавлен в репозиторий Ubuntu 17.10 и демонстрирует незначительное улучшение производительности по сравнению с PHP7.0. Чтобы установить PHP7.1 и несколько распространенных расширений, введите следующую команду.
sudo apt install php7.1 php7.1-fpm php7.1-mysql php-common php7.1-cli php7.1-common php7.1-json php7.1-opcache php7.1-readline php7.1-mbstring php7.1-xml php7.1-gd php7.1-curl
PHP-расширения часто требуются для работы систем управления контентом (CMS), таких как WordPress. К примеру, если в вашей установке отсутствует расширение php7.1-xml, некоторые страницы вашего сайта WordPress могут не отображаться, и вы можете увидеть соответствующую ошибку в журнале ошибок Nginx, например:
PHP message: PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()
Установка данных расширений PHP обеспечивает бесперебойную работу вашей CMS. Теперь можно запустить php7.1-fpm.
sudo systemctl start php7.1-fpm
Активируйте автоматический запуск при старте системы.
sudo systemctl enable php7.1-fpm
systemctl status php7.1-fpm
●php7.1-fpm.service - Менеджер процессов FastCGI для PHP версии 7.1 Загружено: активировано (/lib/systemd/system/php7.1-f
Поместите данный PHP-код в файл.
Закройте файл и сохраните его изменения. Теперь введите в адресной строке вашего браузера server-ip-address/info.php. Замените server-ip-address на свой реальный IP-адрес. Если вы используете этот руководств на локальном компьютере, введите 127.0.0.1/info.php или localhost/info.php.
Вы должны проверить данные о PHP на вашем сервере. Это указывает на то, что PHP-скрипты способны корректно исполняться с веб-сервером Nginx.

Установка PHP 7.2: пошаговая инструкция.
PHP 7.2 является последней стабильной версией PHP, выпущенной 30 ноября 2017 года, и предлагает незначительное улучшение производительности по сравнению с PHP 7.1. Для установки PHP 7.2 на Ubuntu 17.10 можно использовать PPA от Ondrej Sury, который также поддерживает PPA Certbot.
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update
После этого мы можем установить PHP7.2 и необходимые расширения, выполнив следующую команду.
sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl
Теперь необходимо запустить PHP7.2-FPM.
sudo systemctl start php7.2-fpm
Активируйте автозапуск при старте системы.
sudo systemctl enable php7.2-fpm
Проверьте его текущее состояние.
systemctl status php7.2-fpm
Применение PHP 7.2-FPM вместе с Nginx
Для того чтобы Nginx переключился на использование PHP7.2-FPM вместо PHP7.1-FPM, необходимо внести изменения в файл конфигурации серверного блока Nginx.
sudo nano /etc/nginx/conf.d/default.conf
Определите последующую строку.
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
Смените php7.1-fpm на php7.2-fpm.
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
Сохраните файл и закройте его. После этого выполните перезагрузку Nginx, чтобы изменения начали действовать.
sudo systemctl reload nginx
При обновлении страницы server-ip-address/info.php вы заметите, что Nginx теперь работает с PHP7.2-FPM.

PHP7.1 может работать параллельно с PHP7.2. Если вы решили не использовать PHP7.1, его можно удалить. Обратите внимание, что некоторые веб-приложения, например, NextCloud 12, могут не поддерживать PHP7.2. В ходе моих тестов WordPress отлично функционирует с PHP7.2.
Поздравляю! Вам удалось установить Nginx, MariaDB и PHP7 на Ubuntu 17.10. Для повышения безопасности вашего сервера рекомендуется удалить файл info.php, чтобы избежать ненужного внимания.
sudo rm /usr/share/nginx/html/info.php
На этом все! Надеюсь, этот урок оказался для вас полезным при установке стека LEMP на Ubuntu 17.10. Как и всегда, если вам понравилась эта статья, подписывайтесь на нашу бесплатную рассылку, чтобы не пропустить новые советы и хитрости.

