Apache/ru

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

Поддержка в других пакетах
Существует глобальный 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
Этот файл на самом деле является лишь точкой входа, так как вся конфигурация разбита на множество файлов в каталоге, которые собираются вместе посредством директивы. Например, директива  в  предназначена для включения всех файлов из, имя которых оканчивается на.

Taking into account what has been said in the subsection above, and as module configuration files (files in ) almost always start with the, the content of one file inside , will ONLY be assembled with the rest of the configuration, if the matching option is set using a   flag in the APACHE2_OPTS variable in the  file. The configuration file is an exception to this rule as it doesn't start with an   statement and therefore is always included in the resulting configuration.

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

Первые признаки жизни
As you can see in the initial configuration above, the pre-installed virtual host's    directory is, its server name is localhost. In addition an index.html file is provided in the  directory, thus to check whether everything is correctly installed or not, point your browser to http://localhost/.

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

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

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

Before testing if the PHP module works, check that the file exists and contains the following definition:

If it doesn't exist create it yourself.

Чтобы проверить, работает ли модуль 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