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

Updated on 12.03.2016 By Alexey 25 комментариев

Шаг 2: Обезопасим СУБД MySQL

5. Следующим шагом обезопасим СУБД MySQL настроив пароль для аккаунта root, удалив анонимные пользовательские аккаунты, удалив тестовую базу данных и отключив удалённый вход для пользователя root (когда попросят ввести текущий пароль, то просто нажмите клавишу [Enter] затем введите два раза новый пароль, на все вопросы выбирайте ответы по умолчанию, т.е. Да).

sudo mysql_secure_installation

6. Проверьте подключение к базе данных MySQL следующей командой, для выхода наберите quit или exit.

mysql -u root -p

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

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

Другими словами говоря, обратившись к человеку с каким-то вопросом, он может, как дать ответ, так и нет. Однако, задав человеку вопрос, на который он дать ответ не в силах, прозвучит ответ: не знаю. Аналогичным образом функционирует и Apache, например, сервер покажет 404 ошибку, если вы обращаетесь к несуществующей странице.

Установка Apache производится посредством команды через терминал:

sudo apt-get install apache2

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

Если вы совсем новичок в Linux/Ubuntu, вы можете пройти курс Linux/GIT и вы получите базовые знания по командам Linux, а также научитесь работать с контролем версий кода GIT и сервисом BitBucket.

По завершению установки, следует проверить правильность функционирования веб-сервера. Сделать это можно при помощи введения ip адреса сервера в любом из существующих браузеров. В случае, если пользователь производил установку Apache локально, к примеру, на домашний ПК, ему следует ввести в браузере следующие цифры: 127.0.0.1. После этого должна будет отобразиться страница приветствия Apache.

Аудит MySQL

Одна из проблем, связанных с эксплуатацией любого программного продукта, — его неправильная настройка. После установки присутствуют лишние демонстрационные учетные записи, тестовые базы, сами пользователи могут ставить простые пароли, которые легко подобрать. Решить эти проблемы можно лишь при помощи постоянного аудита, который к тому же будет обязателен, если производится обработка конфиденциальных/персональных данных (кредитные карты, медицинские записи и подобное). Требуется создать среду, соответствующую стандартам безопасности (SOX, HIPAA и прочим), при расследовании инцидентов, устранении неполадок. После установки нужно обязательно использовать mysql_secure_installation, который обеспечивает минимальный набор проверок, позволяющих скорректировать общие настройки безопасности.

Читайте также:  Linux командная строка — что это такое, как вызвать

Далее уже следует использовать инструменты и скрипты, о которых ниже. Задача аудита упрощается тем, что разработчики MySQL предлагают соответствующий API. Правда, в MySQL плагин audit_log доступен только для версии Enterprise. Разработчики Percona Server предлагают GPL альтернативу данному модулю, которая подходит для аудита MySQL и клонов. Две другие альтернативы, McAfee MySQL Audit Plugin и MariaDB Audit Plugin for MySQL, также справляются со своей задачей и позволяют производить аудит MariaDB, MySQL и Percona Server, но используют свой собственный формат журнала аудита, отличающийся от стандартного MySQL. Это потребует чуть больших первоначальных настроек. Применение плагинов простым назвать нельзя и подробно освещено в документации, которую все равно требуется прочитать, поэтому останавливаться не будем.

Кроме того, Патриком Карлссоном (Patrik Karlsson) представлен набор тестов для сетевого сканера Nmap, позволяющий протестировать сервер на наличие основных проблем безопасности. В Ubuntu после установки настройки хранятся в каталоге /usr/share/nmap/nselib/data и nmap/script, для проверки сервера необходимо указать параметры подключения и учетную запись.

$ nmap -p 3306 1.1.1.1 —script mysql-audit —script-args «‘/usr/share/nmap/nselib/data/mysql- ‘ ,’root’,mysql- ‘password'»

Хакер им воспользуется в любом случае, поэтому админ просто обязан периодически проверять серверы таким способом. Два пакета, о которых следует рассказать отдельно, также содержат инструменты аудита.

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

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

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

sudo apt-get install mysql-server

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

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

Читайте также:  Изменение размера виджета iOS 14: инструкция

sudo mysql_install_db

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

sudo mysql_secure_installation

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

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

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

Шаг Установите MySQL с помощью pkg

Когда HTTPS-сервер Apache активен и работает, мы можем перейти к третьему шагу: установке MySQL. MySQL — это сервер базы данных, который поддерживает и регулирует доступ к базам данных, в которых хранится информация, относящаяся к веб-сайту.

Как и в случае с Apache, мы загрузим MySQL из репозитория FreeBSD с помощью pkg.

$ sudo pkg install -y mysql80-client mysql80-server

После выполнения указанной выше команды в вашей системе должна быть установлена ​​последняя версия. Найдите последнюю версию в Интернете, а затем сравните ее с версией, установленной на вашем диске, с помощью следующей команды:

Шаг Установите MySQL с помощью pkg

$ mysql —version

Перед запуском MySQL необходимо включить его:

$ sudo sysrc mysql_enable=yes

Введите команду ниже, чтобы запустить базу данных:

$ sudo service mysql-server start

Проверьте запуск, введя следующую команду:

$ sudo service mysql-server status

Шаг Установите MySQL с помощью pkg

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

Читайте также:  iPad Air 2019 vs iPad Air 2020: Сравниваем планшеты

$ sudo mysql_secure_installation

Затем установите пароль и ответьте на последующие вопросы. Вы можете выбрать значение по умолчанию для всех вопросов, нажав: key_enter:

Настройка

Конфигурация сервера MySQL содержится в файле /etc/mysql/

Доступ к серверу из сети

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

Кодировки

По-умолчанию в Ubuntu MySQL устанавливается с кодировкой latin1 . В этом можно убедиться посмотрев вывод запроса:

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

и используя при создании таблиц

невозможно добиться полной поддержки кодировки utf8:

Кодировка по-умолчанию все равно останется latin1, что неудобно и может привести к ошибкам.

Чтобы сервер сразу загружался с нужной кодировкой, необходимо отредактировать файл /etc/mysql/:

В секцию [mysqld] добавьте следующие строки:

Так же желательно установить кодировку для клиента и mysqldump. Для этого в секциях [client] и [mysqldump] необходимо добавить строчку:

Перезагрузите сервер MySQL:

После этого список переменных будет выглядеть так: