Установка linux nginx mysql php

Содержание
  1. Как установить nginx, MySQL, PHP (LEMP) в Ubuntu
  2. Вводная
  3. Шаг первый — установка веб-сервера Nginx
  4. Шаг второй — устанавливаем базу данных MySQL
  5. Шаг третий — установка PHP
  6. Повышаем безопасность PHP-FPM
  7. Шаг четвертый — настройка работы NGINX с PHP
  8. Сергей Мочалов
  9. Инструкции
  10. Командная строка Linux: краткий курс для начинающих
  11. Перенаправление ввода/вывода в Linux
  12. Работа с файлами и каталогами в Linux
  13. Как сгенерировать SSH-ключ для доступа на сервер
  14. Как установить и настроить веб-сервер Apache
  15. Руководство по написанию скриптов в Linux Bash
  16. Введение в Git: настройка и основные команды
  17. Как установить MySQL на Windows
  18. Как установить и использовать MySQL Workbench
  19. Создание нового пользователя и настройка прав в MySQL
  20. Как установить Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 18.04/20.04
  21. Сравнение серверов Apache и Nginx
  22. 1 этап. Подготовка сервера
  23. Создание пользователя
  24. Обновление операционной системы
  25. 2 этап. Установка Nginx
  26. Настройка Nginx
  27. 3 этап. Установка MySQL
  28. Настройка безопасности MySQL
  29. Работа с базой данных
  30. Как создать пользователя
  31. Как создать базу данных
  32. 4 этап. Установка PHP Ubuntu
  33. Настройка PHP Ubuntu
  34. Установка комплекта Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 20.04
  35. Предварительные требования
  36. Шаг 1 — Установка Nginx
  37. Шаг 2 — Установка MySQL
  38. Шаг 3 — Установка PHP
  39. Шаг 4 — настройка Nginx для PHP
  40. Шаг 5 — Тестирование PHP с помощью Nginx

Как установить nginx, MySQL, PHP (LEMP) в Ubuntu

В этом посте мы разберем процесс установки сервера на основе Nginx на Ubuntu

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

Вводная

LEMP — аббревиатура, обозначающая комплекс программ для развертывания полного серверного окружения. Название формируется из входящих компонентов:

  • Linux — операционная система Linux;
  • Nginx(читается EnginX) — веб-сервер;
  • MariaDB / MySQL — СУБД;
  • PHP — язык программирования, используемый для создания веб-приложений (помимо PHP могут подразумеваться другие языки, такие как Perl и Python).

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

Итак, предполагается что в качестве Linux-дистрибутива у нас установлен Ubuntu 14.04, приступаем к работе:

Шаг первый — установка веб-сервера Nginx

Для установки всего комплекса ПО мы будем использовать репозитории самого Ubuntu и стандартный менеджер пакетов apt

Откроем консоль в Ubuntu и установим Nginx, предварительно обновив источники пакетов:

Теперь сервер Nginx установлен.

Проверить его работу, можно открыв браузер и перейдя на IP адрес того компьютера на котором устанавливали Nginx.

Если это ваш локальный компьютер то достаточно набрать http://localhost

Вы должны увидеть стартовую страницу Nginx:

Старт и остановка сервера осуществляется командами:

Так как у меня первоначально стоял Apache2, пришлось сначала остановить его и затем запустить Nginx

Шаг второй — устанавливаем базу данных MySQL

Теперь, когда у нас есть веб-сервер, нам необходимо установить MySQL — базу данных, где будет храниться информация для нашего сайта.

Сделать это достаточно просто, открываем консоль и вбиваем:

В процессе установки вам будет предложено ввести пароль администратора MySQL, который вам стоит запомнить или записать.

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

Далее нам необходимо запустить сценарий безопасности, который изменит некоторые настройки идущие по умолчанию:

Вам нужно будет ввести пароль администратора MySQL, который Вы выбрали во время установки.

Далее, вам будет предложено изменить его. Если в этом нет необходимости, введите «N» и нажмите «ENTER». После этого вам будет предложено удалить некоторых тестовых пользователей и базы данных. Вы должны просто нажимать «ENTER» при появлении вопросов, чтобы удалить опасные настройки по умолчанию.

После того, как сценарий завершиться, MySQL готов к использованию.

Шаг третий — установка PHP

После установки сервера Nginx и MySQL нам необходимо связующее звено — серверный язык/ который будет отрабатывать динамические запросы. Поскольку Nginx не содержит встроенной обработки PHP как и некоторые другие веб-серверы, нам нужно установить php5-fpm (Менеджер процессов FastCGI). Благодаря ему Nginx сможет обрабатывать PHP запросы.

Помимо самого модуля, нам потребуется вспомогательный пакет, который позволит PHP общаться с нашей базы данных.

Давайте произведем установку, набрав в консоли:

Повышаем безопасность PHP-FPM

Для повышения безопасности работы с PHP нам надо произвести донастройку. Отроем на редактирование файл:

Читайте также:  Криптопро office signature mac os

после чего, найдем строчку содержащую «cgi.fix_pathinfo», которая по-умолчанию выглядит так:

раскомментируем ее и изменим значение, должно получиться так:

Сохраните измененный файл. Это призвано устранить опасность неправильно трактования (и возникающей уязвимости) запросов вида /image.gif/foo.php

Шаг четвертый — настройка работы NGINX с PHP

Теперь у нас есть все составляющие сервера. Нам необходимо лишь связать NGINX и PHP для того чтоб он мог отрабатывать динамический контент. Сделаем настройку так называемых серверных блоков(то же самое что виртуальные хосты у Apache)

Без комментов этот блок смотрится примерно так:

В него нужно внести небольшие изменения.

Во-первых, нужно внести index.php как первое значение директивы index, чтобы индексные файлы PHP обслуживались при запросе каталога.

На месте директивы server_name, надо указать доменное имя или общедоступный IP сервера.

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

Также нужно будет раскомментировать часть другого раздела и добавить директиву try_files, чтобы убедиться, что Nginx не передает подозрительные запросы на процессор PHP.

Должно получиться как то так:

Вот и все — мы настроили сервер на основе NGINX для нашей Ubuntu 14.04.

Теперь перезагрузите его, чтобы все наши изменения вступили в силу:

Сергей Мочалов

Веб-разработчик. Создаю и поддерживаю сайты для клиентов с 2009 года

Источник

Инструкции

27 сентября 2021

Командная строка Linux: краткий курс для начинающих

27 сентября 2021

Перенаправление ввода/вывода в Linux

27 сентября 2021

Работа с файлами и каталогами в Linux

26 сентября 2021

Как сгенерировать SSH-ключ для доступа на сервер

23 сентября 2021

Как установить и настроить веб-сервер Apache

23 сентября 2021

Руководство по написанию скриптов в Linux Bash

21 сентября 2021

Введение в Git: настройка и основные команды

21 сентября 2021

Как установить MySQL на Windows

21 сентября 2021

Как установить и использовать MySQL Workbench

20 сентября 2021

Создание нового пользователя и настройка прав в MySQL

© ООО «Селектел», 2008—2021

Полностью изолированные физические серверы любой конфигурации с облачной готовностью

Виртуальные машины с моментальным масштабированием и поддержкой Infrastructure-as-code

В дата-центрах TIER III Москвы, Санкт‑Петербурга и ЛО

Инфраструктура на базе VMware для бизнес-критичных задач любой сложности

Готовые к работе управляемые базы данных PostgreSQL и MySQL™

Полностью готовый к работе кластер Kubernetes для управления контейнерами

Масштабируемое хранилище данных с гибким ценообразованием, поддержкой FTP и S3 API

Запуск кода по запросу или событию без создания и обслуживания сервера

Источник

Как установить Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 18.04/20.04

LEMP — стек технологий, используемый для развертывания веб-приложений. В отличии от LAMP, в LEMP вместо Apache устанавливается Nginx.

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

Сравнение серверов Apache и Nginx

  • Разрабатывается с 1995 года, огромное количество пользователей, многочисленные модули, предназначенные для расширения его функциональности.
  • Медленная работа веб-сервера из-за поточно-ориентированного подхода при большой нагрузке. Необходимость создавать новые процессы и увеличивать объём потребляемой памяти.
  • Необходимость устанавливать ограничения по потребляемым ресурсам. При достижении ограничений новые соединения будут отклонены.
  • Веб-сервер с открытым исходным кодом, написанный как аналог Apache для решения проблем с производительностью и масштабируемостью.
  • Механизм, управляемый событиями, асинхронный и неблокирующий, не создаёт новые процессы для каждого веб-запроса.

1 этап. Подготовка сервера

Все действия по установке производятся на сервере через подключение по SSH.

Создание пользователя

Все действия по установке LEMP рекомендуем выполнять не через пользователя root. Рекомендуем создать пользователя с sudo-правами. Так вы дополнительно обезопасите свой сервис и избежите случайных ошибок, которые могут сломать вашу операционную систему.

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

Где UserName — имя нового пользователя.

Система попросит ввести пароль для нового пользователя и дополнительную информацию:

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

Где UserName — имя созданного ранее пользователя.

Готово. Новый пользователь создан. Завершите SSH-сеанс под root и подключитесь к серверу под новым пользователем. Или введите команду:

Обновление операционной системы

Прежде чем установить на Ubuntu LEMP, нужно обновить операционную систему до актуального состояния с помощью команды:

2 этап. Установка Nginx

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

На этом установка закончена. В Ubuntu Nginx настроен на запуск сразу после установки.

Читайте также:  Как отключить индексацию файлов windows

Настройка Nginx

Для корректной работы Nginx необходимо настроить firewall, открыть порты для подключения к серверу.

Чтобы открыть доступ для подключения к серверу по HTTP, выполните команды:

Если вы планируете использовать SSL-сертификат, для подключения по HTTPS выполните команду:

При переходе по IP-адресу вашего сервера откроется страница Nginx:

Готово. Установка Nginx завершена.

3 этап. Установка MySQL

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

В зависимости от версии MySQL во время установки вам будет предложено ввести пароль root-пользователя (пароль администратора) сервера баз данных:

Если это окно не появилось, значит настройка MySQL для вашей версии выполняется без пароля. Аутентификация для пользователя root в этом случае происходит при помощи плагина auth_socket. Чтобы проверить способ аутентификации:

На экране вы увидите:

Настройка безопасности MySQL

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

Запустите скрипт командой:

Введите «Y» и нажмите Enter:

Вам нужно задать допустимую сложность пароля от 0 до 2 при помощи плагина VALIDATE PASSWORD, где:

0 — слабый пароль из 8 и более символов. Использование цифр и специальных символов не обязательно;

1 — средний пароль из 8 и более символов. Обязательно использование цифр и специальных символов;

2 — сложный пароль из 8 и более символов. Обязательное использование цифр и специальных символов и запрет на использование общих фраз.

Для этого введите нужную цифру и нажмите Enter. Затем задайте и подтвердите пароль. В будущем плагин не позволит использовать пароли, которые не соответствуют уровню, который вы выбрали.

На каждом следующем этапе вам нужно ввести «Y» и нажать Enter. Таким образом вы:

удалите анонимных пользователей,

запретите удалённое подключение для root-пользователя,

удалите тестовую базу данных,

перезагрузите таблицу привилегий.

Готово, первоначальная настройка безопасности MySQL выполнена.

Работа с базой данных

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

После установки MySQL автоматически будет создан root-пользователь. Работать с базой данных под root небезопасно, поэтому необходимо создать нового пользователя и назначить ему права доступа.

Запустите сервер базы данных с помощью команды:

Система запросит пароль, который был указан при установке MySQL.

Как создать пользователя

Создайте пользователя с помощью команды:

Замените значения внутри кавычек:

  • вместо user-name укажите логин пользователя базы данных;
  • вместо password укажите пароль нового пользователя.

Назначьте все права доступа для созданного пользователя:

Не забудьте изменить user-name на логин, который был указан при создании пользователя.

Чтобы изменения вступили в силу, введите команду:

Как создать базу данных

Для создания базы данных введите команду:

Где BaseName — это название базы данных.

Готово. Теперь вы можете удалённо подключиться к базе данных или привязать её к вашему проекту. Чтобы завершить работу с MySQL, нажмите Ctrl + D.

4 этап. Установка PHP Ubuntu

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

Настройка PHP Ubuntu

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

Если ни одна из команд не подходит, узнайте версию PHP на вашем сервере командой:

Затем выполните команду:

Вместо X.X подставьте версию PHP на вашем сервере.

Найдите в файле параметр cgi.fix_pathinfo , раскомментируйте его, убрав точку с запятой перед ним, и установите значение «0». В редакторе nano вы можете воспользоваться поиском по файлу клавишей F6.

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

Сохраните изменения в файле и закройте его:

Источник

Установка комплекта Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 20.04

Предварительные требования

Для выполнения этого руководства вам потребуется доступ к серверу Ubuntu 20.04 с пользователем с правами sudo .

Шаг 1 — Установка Nginx

Обновите кэш диспетчера пакетов и установите Nginx с помощью следующей команды:

  • sudo apt update
  • sudo apt install nginx

После завершения установки вам нужно будет изменить настройки брандмауэра, чтобы разрешить трафик HTTP на вашем сервере. Запустите следующую команду, чтобы разрешить внешний доступ к порту 80 (HTTP):

  • sudo ufw allow in «Nginx»

После добавления нового правила брандмауэра вы можете проверить, запущен ли сервер, запросив доступ к публичному IP-адресу или доменному имени сервера из вашего веб-браузера. Страница будет выглядеть следующим образом:

Установка комплекта Linux, Nginx, MySQL, PHP (LEMP) в Ubuntu 20.04

Читайте также:  Информационные системы для linux

Шаг 2 — Установка MySQL

Теперь мы установим MySQL, популярную СУБД, используемую в средах PHP.

Используйте apt для получения и установки этого программного обеспечения:

  • sudo apt install mysql-server

После завершения установки рекомендуется запустить скрипт безопасности, входящий в комплект MySQL. Для запуска интерактивного скрипта введите следующую команду:

Скрипт запросит подтверждение настройки плагина VALIDATE PASSWORD PLUGIN . Выберите Y для активации или любой другой вариант, чтобы продолжить без активации этой функции. Если вы выберете ответ «yes» («Да»), вам будет предложено выбрать уровень подтверждения паролем.

Затем сервер попросит вас выбрать и подтвердить пароль для пользователя root СУБД MySQL. Хотя в MySQL метод аутентификации пользователя root по умолчанию не требует использования пароля даже при его наличии, задайте надежный пароль для обеспечения дополнительной безопасности.

Для всех остальных вопросов нужно выбирать Y и нажимать ENTER в каждом диалоге.

Примечание. На момент написания этого руководства родная библиотека MySQL PHP mysqlnd не поддерживает caching_sha2_authentication , метод аутентификации MySQL 8 по умолчанию. Поэтому при создании пользователей базы данных для приложений PHP на MySQL 8 вам нужно убедиться, что вместо этого пароля они настроены на использование mysql_native_password . Подробную информацию можно найти в описании шага 6 подробного руководства по LEMP в Ubuntu 20.04.

Шаг 3 — Установка PHP

Для установки пакетов php-fpm и php-mysql воспользуйтесь следующей командой:

  • sudo apt install php-fpm php-mysql

Шаг 4 — настройка Nginx для PHP

В этом руководстве мы настроим домен your_domain, но вы должны заменить это имя собственным доменным именем.

В Nginx на Ubuntu 20.04 по умолчанию включен один серверный блок, настроенный для вывода документов из директории /var/www/html . Хотя это хорошо работает для отдельного сайта, при размещении нескольких сайтов это может доставлять неудобства. Вместо изменения /var/www/html мы создадим внутри /var/www структуру директорий для нашего сайта your_domain, оставив /var/www/html​​​ в качестве директории по умолчанию для вывода в случае, если запросу клиента не соответствуют никакие другие сайты.

Создайте корневую веб-директорию для your_domain следующим образом:

  • sudo mkdir /var/www/ your_domain

Затем необходимо назначить права владения для директории с помощью переменной среды $USER, которая будет использоваться для текущего системного пользователя:

  • sudo chown -R $USER:$USER /var/www/ your_domain

После этого откройте новый файл конфигурации в директории Nginx sites-available с помощью любого редактора командной строки. Мы будем использовать nano :

  • sudo nano /etc/nginx/sites-available/ your_domain

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

Когда вы закончите редактирование, сохраните и закройте файл. Если вы используете nano , можно ввести CTRL+X , а затем y и ENTER для подтверждения.

Активируйте вашу конфигурацию посредством привязки к файлу конфигурации из директории Nginx sites-enabled :

  • sudo ln -s /etc/nginx/sites-available/ your_domain /etc/nginx/sites-enabled/

Это укажет Nginx использовать эту конфигурацию в следующий раз при перезагрузке. Вы можете протестировать вашу конфигурацию на наличие ошибок синтаксиса с помощью команды:

Если есть какие-либо ошибки, вернитесь в файл конфигурации и проверьте его содержание перед тем, как продолжить.

Когда будете готовы, перезагрузите Nginx для внесения необходимых изменений:

  • sudo systemctl reload nginx

Теперь ваш новый веб-сайт активен, но корневая веб-директория /var/www/ your_domain все еще пуста. Создайте файл index.html в этом расположении, чтобы убедиться, что веб-сервер работает, как ожидалось:

  • nano /var/www/ your_domain /index.html

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

Теперь откройте браузер и получите доступ к доменному имени сервера или IP-адресу, как указано в директиве server_name в файле конфигурации вашего серверного блока:

Страница будет выглядеть следующим образом:

Шаг 5 — Тестирование PHP с помощью Nginx

Теперь мы создадим тестовый скрипт PHP для подтверждения возможности принимать и обрабатывать запросы файлов PHP в Nginx.

Создайте новый файл с именем info.php в корневой папке сайта:

  • nano /var/www/ your_domain /info.php

В результате откроется пустой файл. Добавьте в файл следующее:

После завершения редактирования сохраните и закройте файл.

Теперь вы можете получить доступ к этой странице в веб-браузере, посетив доменное имя или публичный IP-адрес, настроенный в файле конфигурации Nginx, добавив /info.php в конце:

Вы увидите веб-страницу, содержащую подробную информацию о вашем сервере:

После проверки соответствующей информации о вашем сервере PHP с помощью данной страницы рекомендуется удалить созданный вами файл, поскольку он содержит конфиденциальную информацию о вашей среде PHP и о вашем сервере Ubuntu. Вы можете использовать rm для удаления этого файла:

Источник

Оцените статью