Несмотря на то что в данной главе основное внимание уделяется Apache, материал, изложенный здесь, поможет вам и при работе с другими продуктами, так как принципы конфигурирования различных Web-серверов часто совпадают. Поэтому, зная особенности настройки Apache, для перехода на другой сервер вам достаточно будет изучить структуру его конфигурационного файла.
Настройка основных функций Apache
Независимо от того, какие задачи должен решать ваш Web-сервер, конфигурирование его надо начать с настройки базовых функций Apache. Лишь после того, как сервер сможет предоставить клиентам статические документы (т.е. документы, не предполагающие использование сценариев), вы сможете приступить к созданию конфигурации, ориентированной на поддержку расширенных
возможностей. Первоначальная настройка Apache сводится к установке значений нескольких основных опций конфигурационного файла. Кроме того, вам необходимо иметь хотя бы общее представление о модулях Apache, которые представляют собой расширения, предназначенные для решения специфических задач. В большинстве дистрибутивных пакетов сервер Apache по умолчанию настроен так, что для обеспечения его работы достаточно внести в конфигурационные файлы лишь незначительные изменения.
Конфигурационные файлы Apache
В большинстве пакетов основной конфигурационный файл Apache носит имя
httpd.conf
. В зависимости от версии системы этот файл может находиться в разных каталогах, но формат его остается неизменным. В системах Caldera и SuSE файл
httpd.conf
содержится в каталоге
/etc/httpd
; в Debian и Slackware он размещается в
/etc/apache
(Slackware предоставляет файл-образец
/etc/apache/httpd.conf.default
; для обеспечения работы сервера надо лишь переименовать данный файл и внести в него необходимые изменения); в Red Hat и TurboLinux файл
httpd.conf
размещается в каталоге
/etc/httpd/conf/
.
Как обычно, строки файла
httpd.conf
, начинающиеся с символа
#
, содержат комментарии. Опции, определяющие конфигурацию сервера, задаются в следующем виде:
Директива Значение
Директива — это имя, с которым может быть связано некоторое значение. Значением может быть число, имя файла или произвольная строка символов. Некоторые директивы позволяют задавать несколько подопции. В этом случае имя директивы помещается в угловые скобки. Пример подобной директивы приведен ниже.
<Directory /home/httpd/html>
Options FollowSymLinks
AllowOverride None
</Directory>
В последней строке содержится имя той же директивы, которая указана в начале, но для нее не задается никакое значение. Имени директивы, завершающей блок, предшествует косая черта.
В некоторых случаях для настройки Apache используются дополнительные конфигурационные файлы, перечисленные ниже. Обычно они размещаются в том же каталоге, что и
httpd.conf
.
•
access.conf
. Ссылка на этот файл формируется с помощью директивы
AccessConfig
и содержится в файле
httpd.conf
. В файле
access.conf
чаще всего задаются директивы
<Directory>
, определяющие особенности доступа к указанным в них каталогам. В настоящее время этот файл обычно остается пустым, а иногда в качестве значения
AccessConfig
задается
/dev/null
, что запрещает использование
access.conf
.
•
mime.types
. Для того чтобы сообщить Web-броузеру о том, как должны обрабатываться данные, Web-сервер использует стандарт MIME (Multipurpose Internet Mail Extensions — многоцелевые почтовые расширений Internet). Например, MIME-тип
text/plain
означает, что данные представляют собой обычный текст, а
image/jpeg
определяет графические данные в формате JPEG (Joint Photographic Experts Group — объединенная группа экспертов по обработке фотоснимков). Файл
mime.types
содержит информацию о соответствии между MIME-типами и расширениями файлов. Например, имена файлов, оканчивающиеся
.txt
и
.asc
, связываются с MIME-типом
text/plain
. Если такое соответствие задано неправильно, Web-броузер будет испытывать затруднения при обработке некоторых типов файлов. Файл, поставляемый в составе пакета, обеспечивает обработку практически любых типов данных, которые могут быть помещены на Web-страницу. Если же вам надо использовать редко встречающиеся типы, вам придется добавить в этот файл новые записи.
•
magic
. Этот файл также позволяет определять соответствие между MIME-типами и данными. При анализе информации можно обнаружить специфические признаки того или иного типа. Так, например, многие файлы содержат специальные ключи — "магические" байтовые последовательности. Эти последовательности, преобразованные в текстовый вид, указываются в файле
magic
. Если вы подробно не изучили формат этого файла, вносить изменения в него не рекомендуется. Структура файла magic в данной главе рассматриваться не будет.
Способы запуска сервера 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-узла.