Apache/ru

Apache HTTP-сервер — это эффективный и расширяемый веб-сервер, а также один из самых популярных используемых в интернете серверов.

Поддержка в других пакетах
Существует глобальный USE-флаг apache2, который включает поддержку Apache в других пакетах. Он может автоматически «подтянуть» в качестве зависимости, если такие пакеты есть в системе.

После установки этого флага потребуется обновить систему, чтобы изменения вступили в силу:

OpenRC
Запуск сервера Apache:

Добавление Apache в уровень исполнения по умолчанию:

Перезапуск службы Apache:

Перезагрузка конфигурационных файлов Apache:

systemd
Запуск сервера Apache:

Добавление Apache в уровень исполнения по умолчанию:

Перезапуск службы Apache:

Тестирование
Проверка интерфейсов IP, на которых apache2 работает, и портов IP, которые он «слушает»:

Проверка, есть ли соединение с запущенным на localhost'е сервером Apache:

Тестовое соединение можно разорвать нажатием + и.

Конфигурационные файлы
Существуют 2 основных файла, которые настраивают поведение Apache2 в системе:


 * Конфигурационный файл сценария инициализации apache2 в Gentoo


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

Конфигурационный файл сценария инициализации Gentoo
Единственная действующая строка в этом файле приведена ниже:

Эта строка определяет параметры, которые будут переданы различным конфигурационным файлам, использующим выражение  для включения или отключения некоторой части настроек. Мы вернёмся к ним там, где это уместно: в конце этого руководства.

Стандартный конфигурационный файл сервера Apache - httpd.conf
Этот файл на самом деле является лишь точкой входа, так как вся конфигурация разбита на множество файлов в каталоге, которые собираются вместе посредством директивы. Например, целью выражения, в , является включение всех файлов, имя которых оканчивается на , в.

Принимая во внимание то, о чём говорилось в предыдущем разделе, и то, что конфигурационные файлы модулей (файлы в /etc/apache2/modules.d) почти всегда начинаются с, получаем, что содержимое одного файла в  будет объединено с остальной конфигурацией ТОЛЬКО в том случае, если соответствующий параметр установлен с помощью флага   в переменной APACHE2_OPTS в файле. Конфигурационный файл является исключением из этого правила, так как не начинается с выражения   и, следовательно, всегда включается в конечную конфигурацию.

Настройки по умолчанию
Ниже приведена конфигурация свежей установки сервера Apache, получающаяся объединением различных конфигурационных файлов. Мы начнём с точки входа.

Первые признаки жизни
Как можно видеть из приведённой выше первоначальной конфигурации, предварительно установленным каталогом для виртуального хоста  является, именем соответствующего сервера — localhost. К тому же в каталог для  устанавливается файл index.html, так что, чтобы проверить всё ли правильно установлено, можно направить браузер на http://www.localhost.

На этой странице вы должны увидеть сообщение "It works !".

Включение модуля безопасности
Управляйте этим модулем с помощью редактирования и  и перезапуском apache.

Включение поддержки PHP
Установите PHP с USE-флагом "apache2" и включите соответствующий модуль:

Чтобы проверить, работает ли модуль PHP, создайте тестовую страницу:

Теперь, откройте тестовую страницу: http://localhost/. Вы должны увидеть таблицу, описывающую настройки PHP

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

Для назначения владельца файлов виртуального хоста (пользователю/группе apache), используйте, как показано в следующем примере:

Ниже приведены два определения виртуального хоста для примера, один для domainname1.com, а второй для domainname2.com. Заметьте, что в них различные  и , хотя сам хост  остается постоянным:

Примерные определения виртуальных хостов

Также рекомендуется дать определение виртуального хоста на основании IP. Это позволит администратору оставить сообщение пользователям, которые попытаются попасть на сайт через его IP адрес:

Виртуальный хост на основании IP

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

Включение PHP через fcgid
Установите и. Пакету PHP нужен USE флаг cgi:

Отредактируйте файл :

Создайте необходимые каталоги:

Сделайте символическую ссылку для PHP-wrapper:

Включите модуль fcgid:

В конце перезапустите Apache и проверьте сайт, который мы создали раньше. Значение  должно быть CGI/FastCGI

Устранение проблем

 * Руководство по устранению проблем

Стандартные неполадки
При запуске apache вы можете получить следующие сообщения об ошибках:

apache2: apr_sockaddr_info_get failed for SomeHostname

Когда это происходит, добавьте имя вашего хоста в файл.

Смотрите также

 * Lighttpd — быстрый, легковесный веб-сервер.
 * Nginx — небольшой, надежный и высокопроизводительный HTTP-сервер.

Внешние ресурсы

 * статья Slicehost: Установка Apache в Gentoo
 * статья Slicehost: Конфигурационые файлы Apache в Gentoo
 * статья Slicehost: Настройка Apache MPM в Gentoo
 * статья Slicehost: Настройка Apache в Gentoo
 * статья Slicehost: Виртуальные хосты Apache в Gentoo
 * статья Slicehost: Включение и использование модуля apache mod_status в Gentoo
 * документация apache.org
 * Apache2 mod_pagespeed