Adelitusn.ru

ПК и Техника
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Установка и настройка nginx PHP7 FPM Mysql на CentOS 7

Установка и настройка nginx + PHP7 FPM + Mysql на CentOS 7

В погоне за скоростью и с целью экономии ресурсов настроем веб-сервер в конфигурации Linux + NGINX + PHP7 (PHP-FPM + MYSQL (MariaDB) или просто LEMP.

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

И так для начала устанавливаем CetnOS 7 в конфигурации Minimal и после можно приступить к установке и настройке нашего набора ПО для бeдующего веб-сервера

Отключаем SELinux:
первая команда редактирует конфигурационный файл, чтобы SELinux не запускался автоматически, вторая — отключает его разово.

Установка NGINX

Установка NGINX очень проста достаточно выполнить команду yum install nginx, только предварительно надо добавить официальный репозитарий выполнив две команды:

Или добавить репозитарий ручками, создав файл /etc/yum.repos.d/nginx.repo с содержанием:

Где $OS — операционная система (rhel или centos), а $OSRELEASE — версия (6 или 7)

После добавления репозитария уже можно установить пакет NGINX и добавить его в автозагрузку:

Установка PHP-FPM

Поскольку на момент написания в официальном репозитарии CentOS 7 отсутсвует пакеты PHP 7 то подключим неофициальный репозитарий IUS.

Выполните скрипт командой:

Далее устанавливаем PHP 7 и модули php-fpm, php-mysqlnd:

Добавим PHP-FPM в автозагрузку

Настройка PHP 7 для работы с Nginx

Как только у ас установился минимальный набор php 7 , можно приступить к непосредственной настройке связки PHP-FPM + Nginx. Что бы получить лучшее быстродействие желательно использовать Unix-сокет.

И так для начала откроем файл в редакторе и внесем изменения:

В нем нам необходимо закомментировать строку listen = 127.0.0.1:9000 которая отвечает за работу на 9000 порту , и раскомментировать listen = /run/php-fpm/www.sock.
Как показано ниже:

Затем найдите блок listen.acl_users и раскомментируйте в нем строку listen.acl_users = nginx.

Далее необходимо изменить конфигурацию NGINX, что бы веб-сервер использовал сокет для взаимодействия с PHP-FRM:

Переключаем способ взаимодействия с TCP-порта 9000 на использование сокета, как показано ниже:

Настроем хост по умолчанию что бы в последствии убедится что у нас все работает:

Вариант конфигурации для проверки:

Что бы все наши изменения вступили в силу перезапускаем PHP-FPM и Nginx:

Проверка работы PHP 7

Поскольку все установили и вроде как настроили то неплохо и убедится что все работает.

Для начала выполним команду:

Ответ которого мы ждем :

Теперь можно создать в корневом каталоге веб-сервера файл info.php для проверки работы самого серврера:

И теперь если все правильно установили и настроили то открыв в браузере http://ip-адрес-вашего-сервера/info.php мы должны увидеть информацию о конфигурации php.

phpinfo7

Далее можно спокойно продолжить настройку веб-сервера под конкретные нужды.

Установка MariaDB (mysql)

В общем установка MariaDB тоже сводится к выполнению нескольких команд:

Добавляем mariadb в автозагрузку:

В случае если пакет не нашелся добавим репозитарий MariaDB создав файл /etc/yum.repos.d/MariaDB.repo с содержанием:

Открываем необходимые порты в брандмауэре:
80, 443 порты для работы веб-сервера.

Centos узнать версию mariadb

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

В этой статье мы покажем вам, как проверить версию сервера MySQL или MariaDB, установленного в вашей системе.

Из командной строки

Если у вас есть SSH-доступ к серверу, есть несколько разных команд, которые могут помочь вам определить версию вашего MySQL.

Двоичный файл сервера MySQL называется mysqld. Чтобы получить версию сервера, запустите двоичный файл, используя опцию –version или -V:

Команда выведет информацию о версии MySQL и завершит работу. В этом примере версия сервера MySQL 5.7.27:

Клиентская утилита mysqladmin, которая используется для выполнения административных операций на серверах MySQL Он также может быть использован для запроса версии MySQL:

Вывод будет немного отличаться от предыдущей команды:

Из оболочки MySQL

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

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

После подключения к оболочке MySQL версия будет выведена на экран:

Чтобы получить информацию о версии MySQL и других компонентах, запросите переменные version:

Есть также некоторые другие операторы и команды, которые могут показать вам версию сервера. Оператор SELECT VERSION() будет отображать только версию MySQL.

Команда STATUS показывает версию MySQL, а также информацию о состоянии сервера:

Используя PHP

Если вы используете общий хостинг и у вас нет доступа к командной строке или клиенту MySQL, например PhpMyAdmin, вы можете определить версию сервера MySQL с помощью PHP.

В корневой каталог документа вашего веб-сайта загрузите следующий PHP-файл, используя клиент FTP или SFTP . Убедитесь, что вы изменил и my_user и my_password с реальной учетной записью пользователя MySQL:

Откройте файл в вашем браузере, и версия сервера MySQL будет отображаться на вашем экране:

Заключение

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

В этой статье я рассмотрю особенности установки, базовой настройки и оптимизации сервера баз данных MariaDB. Передо мной стояла задача установитьc MariaDB и провести базовую настройку на Linux CentOS 7. Так как это актуальный вопрос, я надеюсь статья будет вам полезна. В конце статьи я приведу несколько примеров конфигурационных файлов, а вы с помощью их сможете подобрать параметры под свой сервер.

Установка MariaDB в CentOS

С недавнего времени MariaDB входит в стандартный для CentOS 7 репозиторий base, но в данном репозитории содержится версия 5.5. Эта версия уже не актуальна, в ней есть проблемы с производительностью и нет полнотекстового поиска в InnoDB. На момент написания статьи актуальная версия MariaDB — 10.4, поэтому подключившись к нашему Linux серверу по ssh мы для начала подключим репозиторий разработчика mariadb.org и после запустим установку сервера БД.

Читайте так же:
Визуальные закладки для Гугл Хром

Я привык работать с файлами через редактор nano, устанавливаем его через yum:

yum install nano -y

И открываем файл репозитория для редактирования:

И добавляем туда следующую информацию:

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

yum install MariaDB-server MariaDB-client -y

Установка окончена, теперь нужно добавить сервис в автозагрузку и запустить:

systemctl start mariadb
systemctl enable mariadb

Проверяем статус сервиса:

systemctl status mariadb

Сервис mariadb запущен и работает, значит можно продолжить настройку.

Защита и безопасность MariaDB

После того, как мы установили и запустили MariaDB, можем перейти к настройкам безопасности. Запускаем встроенный сценарий:

Данный сценарий подробно описывает каждый шаг и подробно останавливаться на каждом из них мы не будем. Сначала он запросит root-пароль, но после начальной установки его нет и поэтому мы нажимаем enter и на следующем этапе задаем сложный пароль (от этого зависит насколько безопасным, будет ваш сервер). После можно до конца выполнения сценария нажимать «enter», в процессе будут удалены анонимные пользователи, удаленный root-логин, а также тестовые таблицы и будут перезагружены привилегии.

Для подключения к mariadb серверу нужно создать правила в Linux файерволе с помощью iptables:

iptables -I INPUT -p tcp –dport 3306 -m state –state NEW,ESTABLISHED -j ACCEPT
iptables-save > /etc/sysconfig/iptables

Опционально, можно разрешить исходящие подключения к другим базам MariaDB.

iptables -I OUTPUT -p tcp –sport 3306 -m state –state ESTABLISHED -j ACCEPT

Проверка соединения с сервером MariaDB

Нужно убедиться, что установка MariaDB выполнена успешно.

Подключимся к серверу БД с помощью встроенного инструмента mysqladmin:

Команда выдаст результат:

Это означает, что установка MariaDB выполнена успешно, база данных работает и доступна.

Можно подключиться к консоли сервера maridb для интерактивного выполнения sql команд:

Настройка конфигурационного файла MariaDB

Обычно после установки MariaDB я добавляю в конфигурационный файл /etc/my.cnf свою стандартную конфигурацию, которая работает на большем количестве серверов и пока проблем с базами не возникало. Очистим файл my.cnf и добавим в него следующее:

Для общего понимания разберем основные параметры конфигурационного файла my.cnf:

  • datadir — каталог для хранения файлов БД;
  • tmpdir – каталог для хранения временных файлов;
  • skip-name-resolve – отключает DNS резолвинг;
  • max_allowed_packet — максимальный размер пакета. Если в БД используются поля blob, нужно выставлять значение не менее чем самое большое поле;
  • max_connections — максимальное количество открытых соединений, параметр определяет, сколько клиентов одновременно могут работать с сервером БД;
  • Секция # Cache parameters — все что связано с кешем запросов, устанавливать слишком высокие значения не рекомендуется, так как потребление ресурсов сервером БД станет расти;
  • Секция # InnoDB parameters — все что связано с таблицами innodb;
  • innodb_buffer_pool_size — буфер кеша для данных и индексов, если на сервере размещено 1-2 проекта, выставляйте значение равное 70-80% доступной оперативной памяти;
  • innodb_flush_method — для Linux ставим значение O_DIRECT , это отключит кеширование на уровне ОС;
  • innodb_flush_log_at_trx_commit — этот параметр влияет на скорость записи innoDB таблиц. Отнеситесь серьезно к данному параметру, выставляя значение 0, вы получаете большую производительность, но риск потери данных возрастает. Я предпочитаю устанавливать значение 2, так как большой прирост в работе сервера БД я не замечал, а безопасность превыше всего.

Оптимизация и тюнинг производительности MariaDB

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

Установим скрипт Tuning-Primer.sh:

yum install bc net-tools -y

chmod +x tuning-primer.sh

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

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

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

С помощью подобных манипуляций можно привести к идеалу работу вашего сервера БД.

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

К моему конфигурационному файлу, можно добавить секцию для активации журнала медленных запросов, это поможет вам анализировать работу ваших проектов. В секцию «mysqld» добавляем:

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

touch /var/log/mysql-error.log
touch /var/log/slow-query.log

Делаем рестарт сервиса:

systemctl restart mariadb

Просмотреть журнал медленных запросов можно открыв файл /var/log/slow-query.log или же проверять его в режиме реального времени:

tail -f /var/log/slow-query.log

Таким образом вы можете анализировать запросы к БД вашего проекта и на основе этого проводить аудит.

После любых изменений настроек БД нужно проверять конфигурацию на наличие ошибок:

Обязательно после всех работ с настройкой баз данных выполняйте проверку статуса на предмет ошибок выполняя команду:

systemctl status mariadb -l

Основные команды для работы в консоли MariaDB

Ниже приведены основные команды cli, которые чаще всего приходится использовать администратору при работе в консоли maridb.

Для локального входа в консоль MariaDB, выполните:

Читайте так же:
Panasonic KX-MB1900 Скачать драйвер

Для удаленного подключения к серверу БД MariaDB:

mysql -u root -p -h 10.1.1.20

create database db1; — создать БД с именем db1

show databases; — вывести список созданных БД

use db1; — войти в БД с именем db1

show tables; — вывести таблицы БД в которой мы находимся

create user ‘test’@’localhost’ identified by ‘123456’; — создать пользователя test и задать пароль 123456(используйте более сложные пароли)

grant all privileges on database_name.* to ‘test’@’localhost’; — даем полные права пользователю test

flush privileges; — обновляем все привилегии

show processlist; — посмотреть активные соединения в БД или же можно использовать команду:

show status where `variable_name` = ‘Threads_connected’;

Так же из консоли mysql можно просматривать или изменять параметры, например:

SHOW VARIABLES LIKE ‘max_error_count’;

В заключении хотелось бы сказать, что при настройке сервера БД нужно опираться на проекты которые будут размещаться на данном сервере. То, что применимо для мелких проектов, в корне может не подойти для крупного проекта. Пробуйте, экспериментируйте и самое важное всегда заглядывайте в логи. В следующей статье мы покажем как организовать высокую доступностьи и увеличить производительность приложений за счет исопльзования репликации между серверами в MariDB.

Мне достался сервер, хочу узнать какая версия MySQL на нем стоит из командной строки. Неохота для этого ставить phpmyadmin и настраивать все.

Установка Lighttpd веб-сервера на CentOS 7 с PHP5 с поддержкой MariaDB

Lighttpd это быстрый, гибкий, созданный с учетом передовых стандартов безопасности, веб-сервер. Он разработан для высокопроизводительных устройств и веб-сайтов с очень высокой интенсивностью трафика. Lighttpd позволяет запускать эти мощные веб-приложения с минимальными нагрузками.

Если вы хотите установить и использовать Lighttpd на CentOS 7, мы расскажем вам как это сделать.

Установка Lighttpd на CentOS 7.

Чтобы установить Lighttpd необходимо подключить дополнительные репозитории, так как они не доступны в CentOS 7 по умолчанию. Одно из хранилищ Lighttpd — это альтернативный репозиторий EPEL.

Чтобы включить EPEL в CentOS, выполните команды ниже для загрузки файла репозитория.

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

После, чтобы установить Lighttpd, введите:

Для запуска веб-сервера Lighttpd, выполните эту команду:

Установка MariaDB В CentOS 7.

Далее, давайте установим сервер баз данных MariaDB в CentOS 7. Мы предлагаем установить MariaDB, потому что это наиболее оптимальное и популярное решение СУБД (полный аналог MySQL) для работы в CentOS. Чтобы установить её выполните следующие команды.

Чтобы запустить базу данных, введите:

После установки СУБД, выполните команды ниже, чтобы правильно её настроить. Это позволит вам создать пароль администратора, удалить тестовую базу данных, а также удалить анонимного пользователя.

Установка PHP5 поддержка в CentOS 7.

Наконец установим поддержку PHP5 с другими модулями PHP. Чтобы сделать это, выполните следующие команды:

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

Для этого выполните следующие команды.

Обновите брандмауэр и попробуйте подключиться к серверу.

Откройте ваш браузер (тот, которым вы обычно пользуетесь) и подключитесь к серверу. Вы должны увидеть вот эту страницу «по умолчанию» для Lighttpd.

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

Во-первых откройте файл, который указан ниже, и убедитесь, что выделенная строка является не закомментированной и установлено значение 1.

Установим значение, как показано ниже.

Затем откройте файл, указанный ниже, и включите модуль FastCGI:

Не забудьте включить модуль, убрав линию комментария:

Наконец, чтобы привести этот файл в соответствие, «раскомментируйте» линии, как показано ниже.

Теперь создайте тестовый файл в корневом каталоге под названием phpinfo.php.

Затем введите следующие строки в файл и сохраните его.

Снова запустите браузер и откройте страницу и на этот раз тестовая страница PHP должна выглядеть вот так.

CentOS 7 Apache, MySQL, PHP. WEB сервер LAMP

Комплекс LAMP – это набор программ с открытым исходным кодом, которые обычно устанавливаются вместе для обеспечения функционирования динамических веб-сайтов и веб-приложений на сервере. Фактически этот термин является аббревиатурой: операционная система Linux, веб-сервер Apache, данные сайта хранятся в базе MySQL (MariaDB), а динамический контент обрабатывается PHP.
В данном руководстве описана установка комплекса LAMP на VPS с CentOS 7. CentOS выполняет наше первое требование – это операционная система Linux.

Подготовка

Прежде чем начать работу с данным руководством, вам потребуется отдельный пользовательский аккаунт без root-прав на сервере. Для этого нужно зайти как root, создать нового пользователя при помощи команды adduser и внести его в группу wheel. По умолчанию в CentOS 7 члены этой группы могут пользоваться командой sudo, которая позволяет при необходимости выполнять какие-либо действия с привилегиями root не выходить из обычной учетной записи и заходить как root, а выполнять отдельные команды как суперпользователь. Для этого нужно просто ввести sudo перед командой, при выполнении которой требуются эти привилегии.

Шаг 1 – установка Apache

В настоящее время Apache – наиболее популярный веб-сервер в мире, поэтому это прекрасный выбор по умолчанию для хостинга веб-сайта.
Apache можно легко установить при помощи yum, менеджера пакетов CentOS. Менеджер пакетов позволяет нам без затруднений устанавливать большую часть программ из репозитория CentOS. Для выполнения нашей задачи начнем со следующих команд:

Так как мы пользуемся командой sudo, эта операция выполняется с root-правами. Для подтверждения намерений она запросит ваш обычный пароль пользователя.
Затем ваш веб-сервер будет установлен.
После установки запустите Apache на вашем VPS:

Вы сразу можете проверить, что все идет по плану, набрав IP-адрес вашего сервера в своем веб-браузере:

Вы увидите веб-страницу CentOS 7 Apache по умолчанию, которая размещена для информации и тестирования. Она должна выглядеть примерно следующим образом:

Читайте так же:
История посещений «ВКонтакте»

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

Установка виртуальных хостов на Apache

Виртуальный хост – базовый блок, описывающий один сайт или домен. Виртуальные хосты позволяют держать на одном сервере несколько доменов или интерфейсов. Это важно, когда на одном сервере нужно создать несколько сайтов. Каждый настроенный домен будет направлять посетителя в конкретную директорию, содержащую информацию нужного сайта, даже не показывая, что на том же сервере есть другие сайты. Эту схему можно масштабировать без каких-либо программных ограничений, если ваш сервер справится с трафиком всех сайтов. Мы разберем установку и настройку на примере одного виртуального хоста.
Первое, что нужно сделать для установки– создать структуру директорий. Наш корень документов будет находиться в отдельной директории внутри /var/www. Мы создадим в ней директории для каждого из виртуальных хостов, а в каждой из них, в свою очередь, создадим поддиректорию public_html, в которой будут находиться наши файлы. Это предоставит нашему хостингу некоторую гибкость. Воспользуемся командой mkdir с флагом –p, который позволяет сразу создать директорию с поддиректорией в ней:

examplе.сom – имя домена, который мы хотим отображать на нашем VPS.

Структура директорий создана, но ее владелец – пользователь root. Чтобы наш обычный пользователь мог изменять файлы в этих директориях, нужно сменить владельца командой chown:

Где переменная $USER – текущий пользователь системы. Теперь он является владельцем поддиректории public_html, где мы будем хранить контент.

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

Теперь все необходимые права доступа заданы, и пользователь сможет создавать контент в нужных папках. Создадим файл index.html, идентифицирующий наш домен. Откроем его в редакторе при помощи следующей команды:

В этом файле создадим простой HTML-документ с данными о сайте, которому принадлежит эта страница:

Сохраните и закройте файл. Теперь у вас есть все необходимые страницы для проверки конфигурации виртуального хоста. Создадим файл, в котором определяется его конфигурация и задается, как веб-сервер Apache будет отвечать на запросы различных доменов. Для начала создадим директорию, в которой будут храниться файлы наших виртуальных хостов (sites-available), а также директорию, которая сообщает Apache, что виртуальный хост готов для отображения посетителям (sites-enabled, будет содержать символические ссылки на виртуальные хосты, готовые к публикации).

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

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

Должно получится примерно следующее

Теперь можно создать файл для первого виртуального хоста. Откроем его в редакторе с root-правами:

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

Сначала нужно создать пару тегов, определяющих содержимое как виртуальный хост, прослушивающий порт 80 (порт HTTP по умолчанию):

Затем нужно указать доменное имя нашего сайта, www.example.com. Мы также укажем альтернативное имя сервера example.com, чтобы по запросам www.example.com и example.com выводился один и тот же контент:

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

В итоге минимальная конфигурация выглядит так

Теперь активируем файл виртуального хоста, чтобы Apache представлял его посетителям. Создадим символическую ссылку для виртуального хоста в директории sites-enabled:

После этого перезапустите Apache, чтобы изменения вступили в силу:

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

Естественно у вас должны быть корректно настроены DNS сервера, или для тестов просто пропишите имя хоста и ip адрес сервера в вашем файле hosts.

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

Аналогичным образом можно создать и настроить виртуальные хосты для других доменов.

Шаг 2 – установка MySQL (MariaDB)

Теперь, когда наш веб-сервер запущен и работает, нужно установить MariaDB, аналог MySQL. MariaDB – разрабатываемая сообществом ветвь реляционной системы управления базами данных MySQL. Ее задача состоит в организации баз данных, где наш сайт будет хранить информацию, и обеспечении доступа к ним.

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

После завершения установки нужно запустить MariaDB следующей командой:

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

У вас будет запрошен root-пароль для MySQL. Так как вы только что установили MySQL, то скорее всего у вас его нет, поэтому просто нажмите Enter. Затем вас спросят, хотите ли вы его задать. Введите Y (yes) и следуйте указаниям:

На остальные вопросы нужно просто нажимать Enter, чтобы принять значения по умолчанию. Будут удалены примеры пользователей и баз данных, отключен удаленный вход с root-правами, а затем новые правила будут загружены, и MySQL немедленно примет сделанные нами изменения.

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

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

Шаг 3 – установка PHP

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

Читайте так же:
Нумерация страниц в OpenOffice

Для воспользуемся yum. Мы также инсталлируем пакет рhр-mysql:

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

Установка модулей PHP

Для расширения функционала PHP можно опционально установить ряд дополнительных модулей. Чтобы узнать доступные модули и библиотеки для PHР, введите в консоли:

Будет выдан список опциональных компонентов, доступных для установки, с коротким описанием каждого из них:

Более подробную информацию о каждом модуле можно найти в Интернете или прочитать развернутое описание пакета по команде:

Будет выдано много данных, более подробное описание функций модуля находится в поле Description.

Например, чтобы узнать, для чего нужен модуль php-fpm, введите в консоли:

В большом объеме разной информации вы увидите подобный текст:

Описание говорит нам о том, что этот модуль — альтернативная реализация FastCGI с дополнительными функциями, полезными для сайтов любого размера, особенно для сильно загруженных сайтов. Если вам понадобится установить какой-то модуль, это делается при помощи команды yum install, как мы устанавливали остальные программы. Например, если нам нужен php-fpm, введите в консоли:

Чтобы установить несколько модулей, можно ввести их названия, разделенные пробелами, после команды yum install:

Установка и настройка комплекса LAMP завершена. Теперь нужно проверить работу PHP.

Шаг 4 – тестирование работы PHP на веб-сервере

Чтобы проверить, правильно ли наша система настроена для обработки PHP, можно создать очень простой PHP-скрипт. Мы можем назвать этот скрипт info.php и разместить его в корневой директории нашего веб-ресурса (для простоты объяснения здесь мы не будем рассматривать виртуальные хосты, настроенные ранее):

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

После этого закройте и сохраните файл.

Если у вас работает firewalld, выполните следующие команды, чтобы разрешить HTTP и HTTPS трафик:

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

Должна открыться страница примерно следующего вида:

Она предоставляет информацию о вашем сервере с точки зрения PHP и полезна для отладки и проверки правильности применения настроек. Если страница видна, то все работает правильно.

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

При необходимости снова получить эту информацию данную страницу всегда можно создать повторно.

Заключение

Как мы видим установить и настроить свой собственный WEB-сервер очень просто и не представляет большой сложности. После установки комплекса LAMP есть большое количество вариантов дальнейших действий. Он предоставляет вам платформу для установки на сервер большинства типов веб-сайтов и веб-приложений.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

 Web-сервер на CentOS 7.1 – установка и настройка Apache, PHP и MySQL

Если у Вас встала задача развернуть Web-сервер на операционной системе Linux CentOS 7.1 с использованием Apache, PHP и MySQL (LAMP), то данный материал в этом Вам поможет, так как сейчас мы пошагово рассмотрим весь процесс установки и настройки веб сервера Apache, языка программирования PHP и СУБД MySQL с подробными комментариями, так как этот сайт для начинающих.

Операционная система Linux и в частности дистрибутив CentOS выбран не случайно, так как он является одним из самых популярных дистрибутивов, которые активно используется в качестве платформы для web-серверов, кстати говоря, о том, что это за дистрибутив и как его установить мы с Вами подробно разговаривали вот здесь.

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

Примечание! Еще раз обращаю ваше внимание на то, что все действия мы будем выполнять в CentOS версии 7.1, так как в 6 версии и ниже многое делается по-другому. Также в качестве СУБД в CentOS 7.1 используется полностью бесплатная MariaDB, это ответвление MySQL.

Открытие портов в файрволе на CentOS 7.1

Как уже было сказано выше, для того чтобы наш web сервер был доступен по определенным портам, т.е. обычно это 80 для http и 443 для https необходимо открыть соответствующие порты на файрволе, делается это достаточно просто, поэтому отключать файрвол, как рекомендуют некоторые web мастера, нет необходимости и я даже больше скажу это крайне не рекомендуется.

Примечание! Все мы будем делать в терминале (консоли) Linux, поэтому неважно установлена ли графическая оболочка у Вас или нет.

Выполняем от имени суперпользователя следующие команды, 1 для открытия 80 порта, 2 для 443 и 3 для перезапуска файрвола:

web_server_centos_1.jpg

Установка и настройка Web-сервера Apache на CentOS 7.1

Теперь устанавливаем HTTP сервер Apache, это также делается очень просто, выполняем еще 3 команды, первая это непосредственно сама установка http сервера с модулем ssl, вторая это его запуск и третья это включение в автозагрузку.

Примечание! Перед запуском команд проверьте, подключен ли у Вас Интернет. Эти и все остальные команды выполняются от имени суперпользователя (root).

web_server_centos_2.jpg

После того как Вы установили, запустили и поместили в автозагрузку Apache, необходимо проверить работу этого http сервера, для этого просто вводим в браузере ip адрес сервера или если у Вас CentOS со средой рабочего стола, то достаточно указать 127.0.0.1, т.е. localhost непосредственно на самом сервере в браузере. В ответ Вы должны получить что-то вроде этого

Это заставка означает, что http сервер установлен и по умолчанию отображается страница приветствия.

Читайте так же:
Пропорциональное масштабирование слоев

Убираем страницу заглушку

Теперь нам необходимо настроить наш web сервер Apache и первое что нужно сделать, это убрать страницу заглушку, для этого редактируем файл welcome.conf (напомню, что все делаем от имени root), например, редактором nano, в этом файле всего лишь нужно закомментировать все не закомментированные строки, знак комментария # (решетка).

web_server_centos_4.jpg

Для сохранения нажимаем сочетание клавиш Ctrl+O, затем для подтверждения жмем Enter и для выхода из редактора Ctrl+X.

web_server_centos_6.jpg

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

Т.е. список каталогов и файлов, но так как у нас еще нет никаких файлов и папок, в корневом каталоге то соответственно ничего и не отображается.

Настраиваем каталоги http сервера

Теперь давайте создадим структуру каталогов и соответственно сами каталоги для наших сайтов, и добавим файл конфигурации хоста, в котором будут храниться настройки нашего первого тестового сайта. Предлагаю следующую структуру, в корневой директории http сервера, т.е. в /var/www/html/ будем создавать отдельные каталоги для каждого сайта, например, для тестового сайта структура следующая:

/var/www/html/testsite/www/ — файлы сайта

/var/www/html/testsite/logs/ — логи сайта

т.е. в домашней директории (html) создаем папку с названием сайта (testsite) в которой создаем папки www и logs, в первой из которых будут располагаться все файлы и папки сайта, а во второй лог обращений и лог ошибок.

Данные каталоги создаем следующими командами:

web_server_centos_8.jpg

Настраиваем конфиг для тестового сайта

Давайте создадим конфигурационный файл для сайта, для каждого сайта будем делать отдельный файл, в нашем случае предлагаю назвать его также как и корневой каталог, т.е. testsite, расширение conf, в итоге мы должны создать файл testsite.conf в директории с остальными конфигами (мы туда уже заглядывали) т.е. в /etc/httpd/conf.d/

Открываем его на редактирование тем же самым редактором nano

И вносим следующие настройки (я их прокомментировал)

web_server_centos_9.jpg

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

Теперь нам нужно перезапустить Apache, но если мы попытаемся это сделать, у нас ничего не получится, http сервер остановится, но не запустится и в данном случае это будет связанно с настройками безопасности SELinux, а если говорить конкретно, то веб сервер попытается записать данные в лог, но не сможет, поэтому давайте перейдем к настройкам SELinux.

Настраиваем SELinux в CentOS 7.1 для WEB сервера

SELinux (Linux с улучшенной безопасностью) – это система контроля доступа, которая является частью ядра Linux. В некоторых дистрибутивах Linux данная система безопасности по умолчанию включена, например как у нас в CentOS. В Интернете можно встретить статьи, где веб мастера рекомендуют вообще выключать систему SELinux, также как и файрвол, но самом деле этого лучше не делать, а просто настроить эти компоненты, файрвол мы уже настроили выше, теперь давайте настроим SELinux.

Первое что мы сделаем, это разрешим, посылать запросы из скриптов к базе данных, это делается вот так:

А затем как раз зададим контекст безопасности для каталога logs, чтобы web-сервер мог писать в него, первой командой мы задаем этот контекст безопасности, а второй переконфигурируем SELinux

Теперь давайте перезагрузимся

web_server_centos_10.jpg

Проверяем работу HTTP-сервера, как обычно обращаемся в браузере к нашему серверу по его адресу. В данный момент мы должны получить ответ Forbidden

web_server_centos_11.jpg

т.е. отказано в доступе, так как никаких файлов в нашем каталоге еще нет, а листинг директорий мы отключили.

Устанавливаем PHP на CentOS 7.1

Для установки языка программирования PHP на CentOS необходимо выполнить следующую команду, но учтите, что если вы используете дополнительные расширения PHP, то их необходимо включать в установку, например мы сразу установим расширение для работы с базой MySQL (указываем название расширения через пробел). Если Вы не знаете, какие расширения, Вы будете использовать, то ничего страшного потом их конечно можно доустановить, итак команда для установки php и расширения mysql будет выглядеть следующим образом (все от имени root):

Для проверки установился ли PHP, создаем тестовый файл (например, таким же способом как мы создавали конфиг Apache чуть выше), допустим с названием test.php в директории тестового сайта (/var/www/html/testsite/www/), содержание файла следующее (просто информация о PHP)

web_server_centos_13.jpg

После создания мы обращаемся к этому файлу из браузера, например ip_адрес/test.php

В ответ мы должны получить вот такую страницу

Как видите, у нас установилась версия PHP 5.4.16.

Устанавливаем MySQL/MariaDB на CentOS 7.1

В операционной системе CentOS 7.1 в качестве сервера баз данных используется не сама СУБД MySQL, а ее ответвление MariaDB. Эти базы полностью совместимы, только MariaDB разрабатывается и поддерживается сообществом (как Вы знаете, MySQL поддерживает компания Oracle) и является полностью бесплатной.

Для установки MariaDB пишем следующую команду

Помещаем в автозагрузку

Задаем пароль для root пользователя

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

Сначала Вас спросят пароль root пользователя, а затем если Вы, конечно, захотите установить новый пароль для root, но мы его и так только что задали. На все остальные вопросы отвечаем y (т.е. да)

web_server_centos_15.jpg

Проверяем работу MariaDB

Что бы проверить работу MariaDB исправим немного наш тестовый скрипт (test.php). Пишем следующий код PHP.

Также в браузере вызываем test.php и если все хорошо, то в ответ мы получим версию MariaDB, в моем случае это 5.5.41-MariaDB.

Вот мы с Вами и настроили полноценный WEB-сервер, надеюсь, данный материал был Вам полезен, удачи!

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector