Isp менеджер настроить php ini

Настройка PHP

PHP имеет множество настроек, которые может изменить Администратор или Пользователь ISPmanager. При этом набор значений зависит от режима работы. В режимах работы PHP «CGI», «FastCGI (Apache)» и «FastCGI (Nginx + PHP-FPM)» используются пользовательские значения. В режиме «Модуль Apache» — значения, указанные администратором. Если пользователь не изменял значение параметра, то вместо пользовательского значения переменной будет использоваться значение, указанное администратором.

Значения переменных выделены цветами:

  • Красный — параметры, значения которых не определены в конфигурационном файле PHP и получены непосредственно от самого интерпретатора PHP.
  • Зелёный — параметры, значения которых определены в глобальном конфигурационном файле PHP для администратора и в пользовательском для пользователя.
  • Синий — параметры, значения которых не определены.
  • Жёлтый — параметры, значения которых доступны пользователю только для чтения.

Изменение значений переменных

Чтобы изменить значение переменной:

Под администратором перейдите в Настройки web-сервера → PHP → Настройка. Под пользователем перейдите в WWW → PHP → Настройка.

Администратор определяет значения каких переменных отображаются пользователям по умолчанию. Для настройки перейдите в Настройки web-сервераPHPНастройка, выберите переменную и нажмите Показать.

Читайте также:  Не работает воображение причины

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

  • CentOS: /etc/php.ini для нативной версии PHP и в /opt/ /etc/php.ini для альтернативных версий.
  • Debian: для каждого режима работы PHP индивидуальный файл. /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini и /etc/php5/fpm/php.ini.

Пользовательские конфигурационные файлы хранятся в /var/www/ / /php.ini. Настройки, которые изменял пользователь, хранятся в этой же директории в конфигурационном файле изменённых параметров .php.ini.

Чтобы изменить пользовательские конфигурационные файлы вручную, отредактируйте файл php.ini и продублируйте изменения в файле /var/www/ /data/ /.php.ini.

Шаблон создания конфигурационных файлов

Файл /usr/local/mgr5/etc/templates/php.ini используется как шаблон создания пользовательских конфигурационных файлов. При создании нового пользователя настройки PHP для него изменяются в соответствии с шаблоном. По умолчанию шаблон содержит строки:

$HOMEDIR — макрос, который при создании пользователя заменяется на его домашнюю директорию.

Применение настроек для режимов работы PHP «CGI» и «FastCGI (Apache)»

Если пользователь ISPmanager сохраняет изменения настроек PHP:

  1. Изменённые значения переменных записываются в конфигурационный файл изменённых параметров.
  2. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
  3. Значения из конфигурационного файла изменённых параметров заменяют соответствующие значения в пользовательском конфигурационном файле.

Если администратор ISPmanager сохраняет изменения настроек PHP:

  1. Значения записываются в глобальный конфигурационный файл.
  2. Для каждого пользователя ISPmanager:
    1. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
    2. Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.

Применение настроек для режима работы PHP «FastCGI (Nginx + PHP-FPM)»

Если пользователь ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в конфигурационный файл PHP-FPM пользователя соответствующей версии PHP.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл PHP-FPM соответствующей версии PHP.

Применение настроек для режима работы PHP «модуль Apache»

Пользователь не имеет доступа к изменению настроек PHP для этого режима.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл модуля Apache соответствующей версии PHP.

Первоначальная настройка PHP

Чтобы упростить первоначальную настройку PHP основные параметры сгруппированы:

  1. Перейдите в Настройки web-сервера → PHP → Настройка → Основные.
  2. Выберите Временную зону, которая будет использоваться по умолчанию всеми функциями даты и времени. Указывается в переменной «date.timezone».
  3. Укажите Время выполнения PHP-скрипта в секундах. Если за это время загрузка скрипта не происходит, его работа завершается. Указывается в переменной «max_execution_time».
  4. Укажите ограничение на Макс. размер запроса в МиБ. Оно определяет максимально допустимый размер данных, отправляемых методом POST . Указывается в переменной «post_max_size».
  5. Укажите ограничение на Макс. размер файлов в МиБ. Оно определяет максимальный размер загружаемых с помощью PHP-скриптов файлов. Указывается в переменной «upload_max_filesize».
  6. Укажите Лимит памяти в МиБ. Он определяет максимальный объём оперативной памяти, который может использовать PHP-скрипт. Указывается в переменной «memory_limit».
  7. Чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Рекомендуем использовать эту опцию только для отладки скриптов и отключать её после завершения работы.

Чтобы ISPmanager вёл журнал работы PHP-скриптов, включите опцию log_errors. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться.

Источник

Настройка PHP

PHP имеет множество настроек, которые может изменить Администратор или Пользователь ISPmanager. При этом набор значений зависит от режима работы. В режимах работы PHP «CGI», «FastCGI (Apache)» и «FastCGI (Nginx + PHP-FPM)» используются пользовательские значения. В режиме «Модуль Apache» — значения, указанные администратором. Если пользователь не изменял значение параметра, то вместо пользовательского значения переменной будет использоваться значение, указанное администратором.

Значения переменных выделены цветами:

  • Красный — параметры, значения которых не определены в конфигурационном файле PHP и получены непосредственно от самого интерпретатора PHP.
  • Зелёный — параметры, значения которых определены в глобальном конфигурационном файле PHP для администратора и в пользовательском для пользователя.
  • Синий — параметры, значения которых не определены.
  • Жёлтый — параметры, значения которых доступны пользователю только для чтения.

Изменение значений переменных

Чтобы изменить значение переменной:

Под администратором перейдите в Настройки web-сервера → PHP → Расширенные настройки. Под пользователем перейдите в WWW → PHP → Расширенные настройки.

Администратор определяет значения каких переменных отображаются пользователям по умолчанию. Для настройки перейдите в Настройки web-сервераPHPРасширенные настройки, выберите переменную и нажмите Показать.

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

  • CentOS: /etc/php.ini для нативной версии PHP и в /opt/ /etc/php.ini для альтернативных версий.
  • Debian: для каждого режима работы PHP индивидуальный файл. /etc/php5/apache2/php.ini, /etc/php5/cgi/php.ini и /etc/php5/fpm/php.ini.

Пользовательские конфигурационные файлы хранятся в /var/www/ / /php.ini. Настройки, которые изменял пользователь, хранятся в этой же директории в конфигурационном файле изменённых параметров .php.ini.

Чтобы изменить пользовательские конфигурационные файлы вручную, отредактируйте файл php.ini и продублируйте изменения в файле /var/www/ /data/ /.php.ini.

Шаблон создания конфигурационных файлов

Файл /usr/local/mgr5/etc/templates/php.ini используется как шаблон создания пользовательских конфигурационных файлов. При создании нового пользователя настройки PHP для него изменяются в соответствии с шаблоном. По умолчанию шаблон содержит строки:

$HOMEDIR — макрос, который при создании пользователя заменяется на его домашнюю директорию.

Если вы хотите изменить шаблон, то сделать это нужно на мастер-сервере. Чтобы синхронизировать изменения с узлами кластера, выполните на каждом узле команду:

Применение настроек для режимов работы PHP «CGI» и «FastCGI (Apache)»

Если пользователь ISPmanager сохраняет изменения настроек PHP:

  1. Изменённые значения переменных записываются в конфигурационный файл изменённых параметров.
  2. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
  3. Значения из конфигурационного файла изменённых параметров заменяют соответствующие значения в пользовательском конфигурационном файле.

Если администратор ISPmanager сохраняет изменения настроек PHP:

  1. Значения записываются в глобальный конфигурационный файл.
  2. Для каждого пользователя ISPmanager:
    1. Содержимое пользовательского конфигурационного файла полностью заменяется на содержимое глобального файла.
    2. Значения из конфигурационного файла изменённых параметров пользователя заменяют соответствующие значения в пользовательском конфигурационном файле.

Применение настроек для режима работы PHP «FastCGI (Nginx + PHP-FPM)»

Если пользователь ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в конфигурационный файл PHP-FPM пользователя соответствующей версии PHP.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл PHP-FPM соответствующей версии PHP.

Применение настроек для режима работы PHP «модуль Apache»

Пользователь не имеет доступа к изменению настроек PHP для этого режима.

Если администратор ISPmanager сохраняет изменения настроек PHP, изменённые значения переменных записываются в глобальный конфигурационный файл модуля Apache соответствующей версии PHP.

Первоначальная настройка PHP

Чтобы упростить первоначальную настройку PHP основные параметры сгруппированы:

  1. Перейдите в Настройки web-сервера → PHP → Расширенные настройки → Основные.
  2. Выберите Временную зону, которая будет использоваться по умолчанию всеми функциями даты и времени. Указывается в переменной «date.timezone».
  3. Укажите Время выполнения PHP-скрипта в секундах. Если за это время загрузка скрипта не происходит, его работа завершается. Указывается в переменной «max_execution_time».
  4. Укажите ограничение на Макс. размер запроса в МиБ. Оно определяет максимально допустимый размер данных, отправляемых методом POST . Указывается в переменной «post_max_size».
  5. Укажите ограничение на Макс. размер файлов в МиБ. Оно определяет максимальный размер загружаемых с помощью PHP-скриптов файлов. Указывается в переменной «upload_max_filesize».
  6. Укажите Лимит памяти в МиБ. Он определяет максимальный объём оперативной памяти, который может использовать PHP-скрипт. Указывается в переменной «memory_limit».
  7. Чтобы выводить сообщения об ошибках вместе с остальным выводом PHP-скрипта, включите опцию display_errors. Рекомендуем использовать эту опцию только для отладки скриптов и отключать её после завершения работы.

Чтобы ISPmanager вёл журнал работы PHP-скриптов, включите опцию log_errors. Настройте список ошибок, записываемых в журнал. Для этого включите опцию Вывод всех ошибок и в поле Выбор флагов для игнорирования при выводе ошибок выберите исключения, которые не будут записываться.

Источник

Конфигурация web сервера

  1. Информация о настройках web домена хранится во внутренней базе ISPmanager. Т.е. никакие изменения, вносимые в конфиги вручную, не влияют на состояние, отображаемое в панели, и могут быть потеряны при изменении параметров из панели, если настройки, сделанные вручную, и настройки, сделанные из панели, конфликтуют. Тем не менее вы можете вносить изменения в конфигурацию сервера вручную. Эти изменения будут сохранены при редактировании домена, если это возможно.
  2. Все настройки отдельного web домена находятся в отдельном файле. Файлы раскладываются по каталогам по имени владельца домена
  3. Настройки доступа к каталогам (diraccess) записываются в конфиг web сервера, в тот же файл что и настройки соответствующего web домена (раньше для этого использовался .htaccess)
  4. PHP может работать как через apache, так и через nginx (используется php-fpm). В связи с тем, что появилась возможность пользоваться php, не используя apache, при совместном использовании apache и nginx сервер apache может быть не запущен, если запрос может быть обработан средствами nginx.
  5. Появилась возможность использовать несколько IP адресов для web домена
  6. При включении SSL в настройках nginx создается отдельная секция server
  7. Для ротации журналов запросов и ошибок используется logrotate

Настройка web-сервера

Следующая группа параметров используется вне зависимости от того, какой web сервер вы используете

path php-cgi

Путь до исполняемого файла php-cgi

WebDefaultAliases

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

BackendBind

Адрес, на котором будет поднят backend (web сервер, на который будет передавать запросы frontend сервер). При одновременной установке nginx и apache backend — apache.

WebModules

Список используемых web серверов

WebUser

Имя пользователя, с правами которого работает web сервер (необходимо указывать именно имя, а не uid)

WebGroup

Группа, с правами которой работат web сервер (необходимо указывать именно имя, а не gid)

WebRestartDelay

Минимальное время, которое должно проходить между перезапусками web сервера

SSLSecureProtocols

Список протоколов, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureProtocols TLSv1 TLSv1.1 TLSv1.2)

SSLSecureChiphers

Список шифров в формате openssl, указываемых web-серверу для использования в случае, если используется повышенная безопасность SSL (например, SSLSecureChiphers HIGH:!RC4:!aNULL:!eNULL:!MD5:!EXPORT:!EXP:!LOW:!SEED:!CAMELLIA:!IDEA:!PSK:!SRP:!SSLv2)

ApsExtRepository

Путь до xml-файла внешнего репозитория APS

Option ApsRepositoryUpdated

Наличие этой опции указывает, что при старте панели управления не нужно выполнять обновления списка APS-скриптов

Option DisableSecurePhpBin

Наличие этой опции отключает создание защищенной директории php-bin (DefaultHomeDir/php-bin/username) для пользователя и создание хардлинок для php и php.ini из домашней директории пользователя в защищенную директорию (применяется в режимах работы php как CGI или FastCGI (Apache)). Вместо этого php и php.ini будут создаваться в директории php-bin пользователя

Список доступных кодировок web домена берется из файла etc/charset. По умолчанию в нем указана только utf-8.

Настройка Apache

Во время запуска панели происходит опрос загруженных модулей apache. Так мы определяем список возможных настроек

cgi_module

возможность работы с CGI скриптами

fastcgi_module или fcgid_module

возможность работы с php в режиме fastcgi

php5_module

возможность работы c php через модуль apache

Если есть поддержка CGI и найден файл, указанный в path php-cgi, появляется возможность работы с php в режиме CGI

Далее приведен список параметров, используемых для настройки панели под конкретную конфигурацию apache.

Option ApacheITK

Добавляется, если используется apache ITK. При этом в конфиг вместо директивы SuexecUserGroup пишется AssignUserID

path apachectl

Путь до программы/скрипта, используемого для перезапуска apache. Должен уметь обрабатывать следующие параметры: -M (получить список модулей), graceful (мягкая перезагрузка), restart (жесткая перезагрузка, используется при добавлении/удалении IP адресов)

path apache-vhosts

Имя каталога, в котором будут создаваться файлы с настройками web доменов

path apache.conf

Путь до основного файла конфигурации apache. В него будут записываться директивы Listen и NameVirtualHost

ApacheWidePorts

Для указанных портов в apache будет добавляется Listen для всех IP адресов сервера. По умолчанию: 80 443. Это позволяет уменьшить количество жестких перезапусков apache.

Настройка Nginx

Во время запуска панели проверяется наличие сервиса php-fpm. Если он найден, будет доступно использовать в настройках web доменов php в режиме fastcgi.

Далее приведен список параметров, используемых для настройки панели под конкретную конфигурацию nginx.

path nginx-vhosts

Имя каталога, в котором будут создаваться файлы с настройками web доменов

path nginx-vhosts-includes

Пути до файлов с дополнительными настройками, которые будут добавлены в секцию server каждого web домена (используется директива Include)

path fpm-pool.d

Имя каталога, в котором будут создаваться файлы с настройками php-fpm

path fpm-service

Имя сервиса php-fpm. Используется для его перезапуска при добавлении новых пользователей.

path nginx-static

Используется для определения файлов, которые nginx должен отдавать самостоятельно.

path nginxctl

Используется для перезапуска nginx при добавлении новых web доменов. Должна обрабатывать параметры: reload (перечитать настройки web доменов), restart (перезапустить nginx, используется при добавлении/удалении IP адресов), stop/start (запустить nginx, используется при конвертации настроек в случае добавления/удаления web сервера)

path nginx-configtest

Используется для проверки корректности содержимого конфигурационных файлов Nginx. По умолчанию равна [path nginxctl] configtest

path nginx

Используется при запуске панели для проверки работоспособности nginx. Должна корректно обрабатывать параметр -V

ForwardedSecret

Используется для защиты от подделки IP адреса.

Пример

То создастся location

ForwardedSecret

В случае, если вы переправляете запросы из nginx в панель, мы определяем обратный адрес по HTTP заголовку X-Forwarded-For. Злоумышленник получает возможность подменить обратный адрес, используя этот заголовок, что, в свою очередь, позволяет ему воспользоваться чужими COOKIE для выполнения запросов от имени другого пользователя. Панель игнорирует заголовок X-Forwarded-For, если запрос не содержит заголовка X-Forwarded-Secret с таким же значением, как то, что записано в конфиге.

Перезапуск web сервера

Попытка перезапуска web сервера происходит через 2 секунды после последнего изменения настроек. Если в течение этого времени происходят другие изменения, то перезапуск будет отложен еще на 2 секунды. Дополнительно вы можете задать параметр WebRestartDelay — минимальную задержку между последовательными перезапусками web сервера.

В случае, если изменения не затрагивали списка прослушиваемых IP адресов/портов, делается мягкая перезагрузка web сервера, в противном случае сервер перезапускается полностью.

Ротация журналов

Все журналы web сервера записываются в каталог httpd-logs, недоступный пользователям. В домашнем каталоге пользователя создается каталог logs куда создаются жесткие ссылки на журналы посещений и ошибок web доменов пользователя. Кроме того, в каталог logs сохраняются старые копии журналов после ротации.

ISPmanager 6 использует logrotate для ротации журналов web сервера.

path logrotate.d

Указывает каталог, куда будут сохраняться настройки logrotate (отдельные файлы для каждого web домена)

LogrotateInfiniteValue

Указывает количество хранимых архивов, если в панели указано бесконечное значение

Анализаторы журналов

Теоретически, ISPmanager может работать с любыми анализаторами журналов. На данный момент через интерфейс могут быть установлены:

path analyzer.d

Указывает каталог, куда будут сохраняться скрипты для анализа журналов (отдельные файлы для каждого web домена)

При установке анализатора журналов в конфиг панели записывается следующая секция:

ConfPath

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

BinPath

указывает путь до исполняемого файла

Lang

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

При включении анализатора журналов из каталога etc/template берется соответствующий шаблон скрипта (имя файла совпадает с именем анализатора). В нем происходит подстановка всех макросов (список макросов можно узнать, включив дебаг для модуля web) и копируется в каталог analyzer.d. Дополнительно формируется конфиг. Из etc/template берется соответствующий файл с расширением .conf, в нем так же заменяются все макросы и он сохраняется в файл, имя которого указано в ConfPath (вместо _NAME_ подставляется имя web домена).

Полученный скрипт вызывается всякий раз при ротации журнала через logrotate. Если вы задали периодический анализ, вызов этого скрипта будет добавлен в планировщик.

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

  • AwstatsEncoding — кодировка генерируемых awstats html-страниц отчетов
  • WebalizerEncoding — кодировка генерируемых webalizer html-страниц отчетов

По умолчанию данные параметры имеют значение «utf-8»

Переконфигурирование web-сервера

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

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

Пример выполнения с пом ощь ю mgrctl для ISPmanager:

Источник

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