Spec-Zone.ru › Apache HTTP Server

Начало работы

Если вы совсем не знакомы с Apache HTTP Server или даже с запуском веб-сайта, вы можете не знать, с чего начать и какие вопросы задать. В этом документе рассматриваются основы.

Клиенты, серверы и URL

Адреса в Интернете задаются с помощью URL — унифицированных указателей ресурсов (Uniform Resource Locators), которые указывают протокол (например, http), имя сервера (например, www.apache.org), путь URL (например, /docs/current/getting-started.html) и, возможно, строку запроса (например, ?arg=value), используемую для передачи серверу дополнительных аргументов.

Клиент (например, веб-браузер) подключается к серверу (например, вашему Apache HTTP Server) по указанному протоколу и отправляет запрос ресурса, используя путь URL.

Путь URL может соответствовать самым разным объектам на сервере. Это может быть файл (например, getting-started.html), обработчик (например, состояние сервера) или программный файл (например, index.php). Подробнее об этом мы поговорим ниже, в разделе Содержимое веб-сайта.

Сервер отправляет ответ, состоящий из кода состояния и, при необходимости, тела ответа. Код состояния показывает, был ли запрос успешным, а если нет — указывает тип возникшей ошибки. Это позволяет клиенту определить, что делать с ответом. Возможные коды ответа описаны в вики HTTP Server.

Сведения о транзакции и любых возникших ошибках записываются в файлы журналов. Подробнее об этом рассказано ниже, в разделе Файлы журналов и устранение неполадок.

Имена узлов и DNS

Чтобы подключиться к серверу, клиенту сначала необходимо преобразовать имя сервера в IP-адрес — адрес расположения сервера в Интернете. Поэтому, чтобы ваш веб-сервер был доступен, имя сервера должно быть зарегистрировано в DNS.

Если вы не знаете, как это сделать, обратитесь к сетевому администратору или интернет-провайдеру, чтобы он выполнил этот шаг за вас.

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

Если вы проверяете сервер, недоступный из Интернета, можно добавить имена узлов в файл hosts, чтобы выполнять локальное разрешение имен. Например, для тестирования может понадобиться добавить в файл hosts запись, сопоставляющую запрос к www.example.com с вашей локальной системой. Эта запись будет выглядеть так:

127.0.0.1 www.example.com

Файл hosts обычно находится в /etc/hosts или C:\Windows\system32\drivers\etc\hosts.

Подробнее о файле hosts можно прочитать на сайте Wikipedia.org/wiki/Hosts_(file), а о DNS — на сайте Wikipedia.org/wiki/Domain_Name_System.

Файлы конфигурации и директивы

Конфигурация Apache HTTP Server задается с помощью обычных текстовых файлов. В зависимости от способа установки сервера эти файлы могут находиться в разных местах. Типичные расположения этих файлов можно найти в вики httpd. Если вы установили httpd из исходного кода, файлы конфигурации по умолчанию находятся в /usr/local/apache2/conf. Файл конфигурации по умолчанию обычно называется httpd.conf. В сторонних дистрибутивах сервера это также может отличаться.

Для удобства управления конфигурацию часто разбивают на несколько небольших файлов. Эти файлы подключаются с помощью директивы Include. Имена и расположение этих дополнительных файлов не являются предопределенными и могут значительно различаться в разных установках. Организуйте и разделяйте файлы так, как удобнее вам. Если структура файлов, заданная по умолчанию, кажется вам неудобной, вы можете изменить ее.

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

На вопрос «Где следует разместить эту директиву?» обычно отвечают, исходя из того, где именно директива должна действовать. Если это глобальная настройка, ее следует разместить в файле конфигурации вне любых секций <Directory>, <Location>, <VirtualHost> или других. Если она должна применяться только к определенному каталогу, ее следует поместить в секцию <Directory>, относящуюся к этому каталогу, и так далее. Подробнее об этих секциях см. в документе Секции конфигурации.

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

Содержимое веб-сайта

Содержимое веб-сайта может иметь самые разные формы, но в целом его можно разделить на статическое и динамическое.

К статическому содержимому относятся HTML-файлы, файлы изображений, CSS-файлы и другие файлы, хранящиеся в файловой системе. Директива DocumentRoot указывает, где в файловой системе следует размещать эти файлы. Эту директиву задают либо глобально, либо отдельно для каждого виртуального хоста. Проверьте файлы конфигурации, чтобы узнать, как она задана для вашего сервера.

Обычно при запросе каталога без указания имени файла сервер отправляет документ с именем index.html. Например, если DocumentRoot задано как /var/www/html и поступает запрос к http://www.example.com/work/, клиенту будет отправлен файл /var/www/html/work/index.html.

Динамическое содержимое — это всё, что генерируется во время обработки запроса и может меняться от запроса к запросу. Существует множество способов создавать динамическое содержимое. Для его генерации доступны различные обработчики. Для создания содержимого сайта можно писать программы CGI.

Сторонние модули, такие как mod_php, можно использовать для написания кода, выполняющего самые разные задачи. Для загрузки и установки на Apache HTTP Server доступны многие сторонние приложения, написанные с использованием различных языков и инструментов. Поддержка этих сторонних компонентов выходит за рамки данной документации; ответы на вопросы о них следует искать в соответствующей документации или на других форумах поддержки.

Файлы журналов и устранение неполадок

Для администратора Apache HTTP Server самые ценные ресурсы — это файлы журналов, и в особенности журнал ошибок. Устранять неполадки без журнала ошибок — всё равно что вести машину с закрытыми глазами.

Расположение журнала ошибок задается директивой ErrorLog, которую можно настроить глобально или отдельно для каждого виртуального хоста. Записи в журнале ошибок сообщают, что именно и когда пошло не так. Часто в них также содержатся указания по устранению проблемы. Каждое сообщение в журнале ошибок содержит код ошибки; по нему можно выполнить поиск в Интернете и найти более подробные инструкции по устранению проблемы. Можно также настроить журнал ошибок так, чтобы в нем указывался идентификатор записи, который затем можно сопоставить с записью в журнале доступа и определить, какой запрос вызвал ошибку.

Подробнее о ведении журналов читайте в документации по журналам.

Что дальше?

Когда вы освоите необходимые основы, можно переходить к следующему этапу.

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

  • Загрузка
  • Установка
  • Настройка
  • Запуск
  • Часто задаваемые вопросы

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/getting-started.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API