Пожалуйста, включите JavaScript для просмотра этого сайта.

Документация CloudLinux

Русский
Английский

Навигация: ограничения > Интеграционные компоненты

Модуль HostingLimits для Apache

mod_hostinglimits работает с существующими CGI/PHP модулей, чтобы помещать их в контекст LVE. В большинстве случаев CGI/PHP процесс будет помещен в LVE с идентификатором пользователя, которому принадлежат сайты. mod_hostinglimits обнаруживает пользователя из SuexecUserGroup (suexec модуль), SuPHP_UserGroup (от mod_suphp), AssignUserID (MPM ITK), RUidGid (mod_ruid2).

Это можно перезаписать с помощью LVEId или LVEUser на уровне Directory. Обратите внимание, что эти параметры не будут работать с mod_fcgid и mod_cgid. Порядок обнаружения выглядит следующим образом:

LVEId

LVEUser

SuexecUserGroup

suPHP_UserGroup

RUidGid

AssignUserID

Заметка. LVE не работает для mod_include #include благодаря своему «фильтрующему» характеру.

Пример:

LoadModule hostinglimits_module modules / mod_hostinglimits.so
<IfModule mod_hostinglimits.c>
AllowedHandlers cgi-script php5-скрипт php4-скрипт
SecureLinks On
</ IfModule>

Дополнительные замечания

mod_hostinglimits (так как версия 1.0-22) поддерживает min-uid - cagefsctl --set-min-uid=600, Минимальный UID считывается при запуске / перезапуске Apache и сохраняется в памяти во время выполнения apache. Если минимальный UID был изменен, вы должны перезапустить Apache для mod_hostinglimits применяя новое значение минимального UID. Полный минимальный UID поддерживается только с APR.

Должно появиться следующее сообщение: [уведомление] mod_hostinglimits: найденная версия расширения 3, Это означает, что правильный APR установлен с mod_hostinglimits.

mod_hostinglimist имеет переменную для строки формата Apache CustomLog - %{LVE_ID}y, Как пользоваться:

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" req for lve %{LVE_ID}y" комбинированный

показывает в access_log следующую информацию:

*. *. *. * - - [09 / Apr / 2015: 07: 17: 06 -0400] "GET /1.php HTTP / 1.1" 200 43435 "-" "Mozilla / 5.0 (X11; Linux x86_64; rv : 24.0) Gecko / 20100101 Firefox / 24.0 "req для lve 500

*. *. *. * - - [09 / Apr / 2015: 07: 17: 06 -0400] "GET /1.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP / 1.1" 200 2524 "** ********** / 1.php "" Mozilla / 5.0 (X11; Linux x86_64; rv: 24.0) Gecko / 20100101 Firefox / 24.0 "req для lve 500

*. *. *. * - - [09 / Apr / 2015: 07: 17: 06 -0400] "GET /1.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP / 1.1" 200 2146 "** ********** / 1.php "" Mozilla / 5.0 (X11; Linux x86_64; rv: 24.0) Gecko / 20100101 Firefox / 24.0 "req для lve 500

Установка

Cpanel

По умолчанию устанавливается во время сборки EasyApache. Требуется установить пакеты lve-stats & lve-utils.

DirectAdmin

Может быть построен с использованием custombuild:

$ yum install liblve-devel
$ cd /usr/local/directadmin/custombuild
$ ./build update
$ ./build set cloudlinux да
$ ./build apache
$ ./build rewrite_confs
если вы запустите suphp, запустите следующее:
$ ./build suphp

Plesk

$ yum install mod_hostinglimits

ISPmanager

$ yum install mod_hostinglimits

InterWorx

$ yum install mod_hostinglimits

H-Sphere

Включено по умолчанию в H-Sphere 3.5 +

Стандартный Apache из RPM

$ yum install mod_hostinglimits

Пользовательская установка Apache

Компиляция из источника: http://repo.cloudlinux.com/cloudlinux/sources/mod_hostinglimits.tar.gz

$ wget http://repo.cloudlinux.com/cloudlinux/sources/mod_hostinglimits.tar.gz
$ yum install cmake
$ tar -zxvf mod_hostinglimits * .tar.gz
$ cd mod_hostinglimits *
$ cmake.
Сделать $
$ Сделать установки

Идентификатор модуля Apache:

hostinglimits_module

Исходные файлы:

mod_hostinglimits.c

Совместимость:

Предпросмотр MPM, рабочий, мероприятие, ITK

Директивы

SecureLinks

Описание:

Убедитесь, что для любых виртуальных хостов обслуживаются только файлы, принадлежащие пользователю, указанным через SuexecUserGroup, или другие способы, описанные выше. Для файлов, принадлежащих любому другому пользователю, apache вернется Access Denied ошибка. Директива не повлияет на VirtualHost без указанного идентификатора пользователя или с помощью uid <100

Синтаксис:

SecureLinks On

По умолчанию:

SecureLinks Off

Справочная информация:

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

Предотвращает использование Apache файлов, не принадлежащих пользователю, прекращение атаки symlink на файлы конфигурации php.

Пример:

SecureLinks On

SkipErrors

Описание:

Разрешить apache для продолжения, если LVE недоступен

Синтаксис:

SkipErrors On

По умолчанию:

SkipErrors On

Справочная информация:

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

Предотвращает выход Apache, если LVE недоступен.

Пример:

SkipErrors Off

AllowedHandlers

Описание:

Список обработчиков, которые должны быть помещены в LVE, поддерживают регулярное выражение

Синтаксис:

AllowedHandlers cgi-script% ^ php% my-script

По умолчанию:

никто

Справочная информация:

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

Эта директива позволяет перечислить обработчики, которые будут перехватываться и помещаться в LVE.

Пример:

Запросы соответствия, обрабатываемые обработчиком cgi-script:

AllowedHandlers cgi-script


Сопоставьте все запросы:

AllowedHandlers *


Сопоставьте все запросы, обрабатываемые обработчиком, содержащим PHP:

AllowedHandlers% php%


Сопоставьте все запросы, обработанные обработчиком, который начинается с PHP:

AllowedHandlers% ^ php%

DenyHandlers

Описание:

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

Синтаксис:

DenyHandlers text/html

По умолчанию:

никто

Справочная информация:

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

Эта директива работает вместе с AllowHandlers, чтобы исключить возможность использования некоторых обработчиков в LVE.

Пример:

Сопоставьте все запросы, но text/*

AllowedHandlers *
DenyHandlers% text / *%

LVEErrorCode

Описание:

Код ошибки для отображения после ввода отклоняется из-за maxEntryProcs

Синтаксис:

значения от 500 до 510

По умолчанию:

508

Справочная информация:

конфигурация каталога

Указывает ErrorCode для использования при ошибке LVE (например, слишком много одновременных процессов). Сообщение, которое будет отображаться по умолчанию:

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

Пример:

LVEErrorCode 508
ErrorDocument 508 508.html

LVEid

Описание:

Позволяет настроить отдельный идентификатор LVE на уровне каталога. Если не установлен, используется идентификатор пользователя соответствующего пользователя.

Синтаксис:

Номер LVEId

По умолчанию:

Идентификатор пользователя используется

Справочная информация:

конфигурация каталога

Определяет идентификатор LVE для определенного каталога

Пример:

<Directory "/home/user1/domain.com/forums">
LVEId 10001
</ Directory>

LVEUser

Описание:

Позволяет настроить отдельный идентификатор LVE на уровне каталога.

Синтаксис:

Имя пользователя LVEUser

По умолчанию:

никто

Справочная информация:

конфигурация каталога

Определяет идентификатор LVE для определенного каталога.

Пример:

<Directory "/home/user1/domain.com/forums">
LVEUser user1
</ Directory>

LVEUserGroupID

Описание:

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

Синтаксис:

LVEUserGroupID On/Off

По умолчанию:

Идентификатор пользователя используется

Справочная информация:

только глобальная конфигурация

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

mod_hostinglimits: используйте идентификатор GroupID вместо UID
mod_hostinglimits: найдена расширительная версия apr 2
mod_hostinglimits: apr_lve_environment_init_group проверить ok

Если совместимая библиотека apr не найдена, в журналах ошибок будет отображаться следующее сообщение об ошибке.

mod_hostinglimits: apr_lve_ * не найден !!!

Пример:

<Directory "/home/user1/domain.com/forums">
LVEUserGroupID On
</ Directory>

LVERetryAfter

Описание:

Возвращает заголовок Retry-After при ошибке LVE 508.

Синтаксис:

LERetryAfter MINUTES

По умолчанию:

240 минут

Справочная информация:

конфигурация каталога

Определяет интервал для Retry-After заголовок. Retry-After поле заголовка ответа может использоваться для указания того, как долго ожидается, что служба будет недоступна запрашивающему клиенту.

Пример:

LVERetryAfter 180

LVESitesDebug

Описание:

Предоставляет расширенную информацию об отладке для перечисленных сайтов.

Синтаксис:

LVESitesDebug test.com test2.com

По умолчанию:

none

Справочная информация:

конфигурация каталога

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

Пример:

<Directory "/home/user1/domain.com/forums">
LVESitesDebug abc.com yx.cnet
</ Directory>

LVEParseMode

Описание:

Определяет, как LVE ID будет увеличен. В Конф

Синтаксис:

LVEParseMode CONF|PATH|OWNER|REDIS

По умолчанию:

CONF

Справочная информация:

конфигурация каталога

В режиме CONF используется стандартный способ извлечь LVE ID (SuexecUserGroup, LVEId или аналогичные директивы).

In PATH mode, имя пользователя извлекается из пути к домашнему каталогу. По умолчанию для сопоставления имени пользователя используется следующий regexp: /home/([^/]*)/, Пользовательское регулярное выражение может быть указано в LVEPathRegexp.

In OWNER mode, владелец файла используется как идентификатор LVE.

In REDIS mode, LVE ID извлекается из базы данных Redis.

Пример:

LVEParseMode CONF

LVEPathRegexp

Описание:

Regexp используется для извлечения имени пользователя из пути. Используется в сочетании с LVEParseMode PATH

Синтаксис:

LVEPathRegexp regexp

По умолчанию:

/home/([^/]*)/

Справочная информация:

конфигурация каталога

Используется для извлечения имени пользователя по пути.

Пример:

LVEPathRegexp / home / ([^ /] *) /

LVELimitRecheckTimeout

Описание:

Таймаут в миллисекундах, сайт будет возвращать EP без lve_enter для LA, уменьшающегося после этого времени

Синтаксис:

Номер LVELimitRecheckTimeout

По умолчанию:

0

Справочная информация:

httpd.conf, virtualhost

Пример:

LVELimitRecheckTimeout 1000

LVEUse429

Описание:

Используйте код ошибки 429 в качестве кода, возвращаемого при максимальных входных ограничениях (on/off).

Синтаксис:

LVEUse429 on

По умолчанию:

off

Справочная информация:

httpd.conf, virtualhost

Пример:

LVEUse429 on

Доступно для панелей на основе RPM, EasyApache 4 и DirectAdmin.