Способы запуска сервера Apache
В главе 4 были описаны различные способы запуска серверов на выполнение. Apache может быть запущен любым из этих способов; с помощью суперсервера, сценария запуска SysV либо локального сценария. В большинстве дистрибутивных пакетов предусмотрен запуск сервера с помощью сценария SysV или локального сценария, так как эти способы обеспечивают постоянное присутствие сервера в памяти и, следовательно, уменьшают задержку при генерации ответа на запрос клиента. При необходимости вы можете также обеспечить запуск Apache посредством суперсервера; программа инсталляции системы Debian даже задает вопрос о том, каким способом должен запускаться сервер. Однако при использовании суперсервера скорость обработки запросов снизится, так как, получив запрос, суперсервер должен будет загрузить Apache.
Совет
Если по каким-либо причинам, например по соображениям безопасности, вам придется организовать запуск Web-сервера с помощью суперсервера, то вместо Apache желательно использовать программу, которая занимает меньше места в памяти и, следовательно, быстрее загружается. Так, например, вы можете установить в системе thttpd
или Web-сервер, выполняющийся как процесс ядра.
Если вы собираетесь изменить способ запуска Apache, вам следует скорректировать значение опции ServerType
. Эта опция находится в конфигурационном файле Apache и может принимать значение standalone
или inetd
. Если вы неправильно укажете значение этой опции, Apache будет работать некорректно либо вовсе не будет обрабатывать запросы. Так, например, если вы захотите отказаться от сценария SysV и перейти к запуску Apache посредством inetd
, вам следует сначала внести изменения в конфигурационный файл суперсервера, затем с помощью сценария SysV завершить выполнение Apache, запретить использование сценария SysV, потом отредактировать файл /etc/inetd.conf
и, наконец, перезапустить inetd
. Если вы забудете выполнить хотя бы одно из описанных здесь действий, сервер будет работать некорректно или продолжит работу с использованием старой конфигурации.
На заметку
В некоторых пакетах исполняемый файл Apache называется apache
, в других — httpd. Если вы собираетесь изменить сценарий запуска или завершить работу сервера, необходимо правильно указать имя программы.
Конфигурация, устанавливаемая по умолчанию, во многих случаях обеспечивает работоспособность сервера. После инсталляции сервера и его запуска Apache готов предоставить пользователям файлы из каталога по умолчанию (обычно это каталог /home/httpd/html
). В этот каталог при установке Apache помещаются файлы, содержащие в основном информацию о том, что сервер инсталлирован, но настройка его еще не закончена. Впоследствии вы, вероятно, замените их теми файлами, которые и будут составлять содержимое Web-узла.
Ниже описаны опции общего назначения, определяющие поведение Apache. Настройка сервера выполняется путем изменения их значений.
• ServerType
. Эта директива уже рассматривалась ранее. Она может принимать значение standalone
или inetd
.
• User
и Group
. В системе Linux каждый сервер запускается от имени конкретного пользователя и группы. Эти директивы позволяют указать пользователя и группу, с полномочиями которых будет выполняться сервер Apache. В большинстве дистрибутивных пакетов Apache запускается от имени пользователя nobody
либо с помощью учетной записи, специально созданной для данной цели и предусматривающей минимальные привилегии пользователя. Такой подход снижает вероятность того, что злоумышленник сможет воспользоваться недостатками в защите сервера для незаконного проникновения в систему. Рекомендуется принять значения этих опций, установленные при инсталляции системы.
На заметку
В целях повышения безопасности системы большинство двоичных файлов Apache скомпилированы так, чтобы их нельзя было запустить от имени пользователя root
.
• ServerTokens
. Сервер Apache предоставляет клиентской программе информацию о платформе, на которой он выполняется. В большинстве пакетов по умолчанию для этой опции задается значение ProductOnly
, которое запрещает передавать клиенту сведения о системе. При желании вы можете задать значение OS
или Full
(эти значения расположены в порядке возрастания объема информации, передаваемой клиенту), но в целях повышения безопасности рекомендуется принять значение ProductOnly
, установленное при инсталляции.
Читать дальше