• Дополнительная информация. Некоторые URL содержат дополнительную информацию. Например, позиции в составе Web-документа может быть присвоено имя. Это имя указывается в URL после имени файла и отделяется от него символом #
. URL, в начале которого указан протокол FTP, может содержать пользовательское имя и пароль.
В конфигурационном файле Apache содержится несколько опций, которые позволяют указывать каталоги для хранения файлов, предназначенных для обработки Web-сервером. Если вы некорректно зададите значения этих опций, некоторые из Web-страниц станут не доступны. Директивы, описывающие каталоги, перечислены ниже.
• ServerRoot
. С помощью этой директивы задается корень поддерева файловой системы, используемого для хранения двоичных файлов Apache. В большинстве случаев при инсталляции сервера устанавливается значение "/usr"
этой опции. Изменять его не следует.
• DocumentRoot
. В каталоге, указанном с помощью этой директивы, хранятся файлы, содержащие статические Web-страницы. По умолчанию для данной опции задается "/home/httpd/html"
или другое подобное значение. (В файле httpd.conf
имя каталога обычно помещается в кавычки.)
Внимание
Значение директивы DocumentRoot
не следует завершать косой чертой. Несмотря на то что в системе Linux такая ссылка на каталог является корректной, для Apache она приведет к возникновению ошибки.
• UserDir
. Если первый из каталогов, предшествующих имени файла в составе URL, начинается с символа ~
, Apache интерпретирует его имя как имя пользователя и старается найти файл в рабочем каталоге соответствующего пользователя. Директива UserDir
указывает имя подкаталога, в котором следует искать файл. Предположим, что для данной директивы задано значение public_html
и удаленный пользователь ввел в поле адреса броузера URL http://www.threeroomco.compilation/~abrown/photos.html
. Тогда Apache попытается вернуть пользователю файл photos.html
, расположенный в подкаталоге public_html
рабочего каталога пользователя abrown
. Если задано значение disabled
данной директивы, обращение к файлам, находящимся в рабочих каталогах пользователей, запрещено. Если вы хотите запретить доступ лишь к части пользовательских каталогов, вам надо после ключевого слова disabled
указать имена пользователей, рабочие каталоги которых закрыты для обращения. Данная директива часто помещается в состав директивы , которая проверяет, загружен ли модуль Apache, предназначенный для поддержки пользовательских каталогов. (Модули Apache будут рассматриваться в следующем разделе.)
• DirectoryIndex
. Некоторые URL не содержат имя файла; в них указано лишь имя каталога (в некоторых случаях оно завершается косой чертой). Когда сервер Apache получает подобный URL, он сначала старается найти файл индекса , имя которого задается с помощью директивы DirectoryIndex
. В большинстве случаев по умолчанию принимается имя index.html
, установленное в качестве значения данной опции при инсталляции сервера. При необходимости вы можете задать другое имя файла. Если пользователь введет URL http://www.threeroomco.com/public/
, Apache вернет файл index.html
, находящийся в подкаталоге public каталога, указанного с помощью директивы DocumentRoot
. Если вы укажете несколько файлов индекса, Apache станет поочередно искать все файлы.
Во многих дистрибутивных пакетах при установке Apache задаются каталоги, которые вполне можно использовать в процессе работы сервера. Вам надо лишь просмотреть конфигурационный файл, выяснить имена этих каталогов и поместить в них файлы, которые Web-сервер должен предоставлять пользователям. Если вы предпочитаете размещать свои файлы в других каталогах, вам надо внести соответствующие изменения в состав конфигурационного файла. Возможно, вам потребуется изменить файл индекса. Необходимость в этом возникает в основном тогда, когда вы устанавливаете Apache взамен другого сервера, в котором использовалось другое имя файла индекса.
Одно из преимуществ Apache состоит в том, что этот Web-сервер является расширяемым. Программист может написать новый модуль, реализующий дополнительные возможности, при этом исходный код Apache остается неизменным. Более того, для использования нового модуля не нужно даже перекомпилировать сервер. Посредством модулей реализуются управление доступом, разбор дополнительной информации, передаваемой клиентами, и многие другие функции. Основная часть стандартных функций Apache также реализована в виде модулей.
Читать дальше