Spec-Zone.ru › Apache HTTP Server

Компиляция и установка

Данный документ охватывает компиляцию и установку сервера Apache HTTP только на системах Unix и Unix-подобных системах. Для компиляции и установки на Windows см. Использование сервера Apache HTTP с Microsoft Windows и Компиляция Apache для Microsoft Windows. Для других платформ см. документацию по платформе.

Apache httpd использует libtool и autoconf для создания среды сборки, похожей на многие другие проекты с открытым исходным кодом.

Если вы обновляете с одной незначительной версии на следующую (например, с 2.4.8 на 2.4.9), перейдите к разделу обновления.

Обзор для нетерпеливых

Установка на Fedora/CentOS/Red Hat Enterprise Linux
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
Более новые релизы этих дистрибутивов используют dnf вместо yum. Обратитесь к документации проекта Fedora для платформенно-специфических заметок.
Установка на Ubuntu/Debian
sudo apt install apache2
sudo service apache2 start
См. документацию Ubuntu для платформенно-специфических заметок.
Установка из исходного кода
Загрузка Загрузите последнюю версию с http://httpd.apache.org/download.cgi
Извлечение
$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
$ cd httpd-NN
Настройка
$ ./configure --prefix=PREFIX
Компиляция
$ make
Установка
$ make install
Настройка
$ vi PREFIX/conf/httpd.conf
Тестирование
$ PREFIX/bin/apachectl -k start

NN необходимо заменить на текущий номер версии, а PREFIX — на путь к файловой системе, в котором должен быть установлен сервер. Если PREFIX не указан, по умолчанию используется /usr/local/apache2.

Каждый раздел процесса компиляции и установки описан более подробно ниже, начиная с требований к компиляции и установке Apache httpd.

Не видите свою любимую платформу здесь? Помогите нам улучшить этот документ.

Требования

Для построения Apache httpd существуют следующие требования:

APR и APR-Util
Убедитесь, что APR и APR-Util уже установлены на вашей системе. Если нет, или если вы предпочитаете не использовать системные версии, загрузите последние версии APR и APR-Util с Apache APR, распакуйте их в /httpd_source_tree_root/srclib/apr и /httpd_source_tree_root/srclib/apr-util (убедитесь, что имена каталогов не содержат номеров версий; например, распределение APR должно находиться в /httpd_source_tree_root/srclib/apr/) и используйте ./configure с параметром --with-included-apr. На некоторых платформах может потребоваться установить соответствующие пакеты -dev, чтобы httpd мог использовать вашу установленную копию APR и APR-Util.
Библиотека регулярных выражений Perl-совместимых (PCRE)
Эта библиотека необходима, но больше не входит в комплект httpd. Загрузите исходный код с http://www.pcre.org или установите порт или пакет. Если ваша система сборки не может найти скрипт pcre-config, установленный инструментом сборки PCRE, укажите его с помощью параметра --with-pcre. На некоторых платформах может потребоваться установить соответствующие пакеты -dev, чтобы httpd мог использовать вашу установленную копию PCRE.
Место на диске
Убедитесь, что на вашем диске доступно не менее 50 МБ свободного места. После установки сервер занимает примерно 10 МБ дискового пространства. Фактические требования к дисковому пространству будут значительно варьироваться в зависимости от выбранных вами параметров конфигурации, любых сторонних модулей и, конечно же, размера веб-сайта или сайтов, которые вы размещаете на сервере.
Компилятор ANSI-C и система сборки
Убедитесь, что у вас установлен компилятор ANSI-C. Рекомендуется использовать компилятор GNU C (GCC) с http://gcc.gnu.org/ от Free Software Foundation (FSF). Если у вас нет GCC, убедитесь, что компилятор вашего поставщика совместим с ANSI. Кроме того, ваша PATH должна содержать основные инструменты сборки, такие как make.
Точное время
Элементы протокола HTTP выражаются во времени суток. Поэтому настало время изучить настройку средства синхронизации времени на вашей системе. Обычно для этой цели используются программы ntpdate или xntpd, основанные на протоколе Network Time Protocol (NTP). Подробности о программном обеспечении NTP и общедоступных серверах времени см. на странице NTP homepage.
Perl 5 [НЕОБЯЗАТЕЛЬНО]
Для некоторых скриптов поддержки, таких как apxs или dbmmanage (написанные на Perl), требуется интерпретатор Perl 5 (достаточно версий 5.003 и новее). Если скрипт configure не найдёт интерпретатор Perl 5, вы не сможете использовать соответствующие скрипты поддержки. Конечно, вы сможете собрать и использовать Apache httpd.

Загрузка

Сервер Apache HTTP можно загрузить с сайта загрузки Apache HTTP Server, который содержит несколько зеркал. Большинству пользователей Apache на системах Unix-подобных систем лучше загрузить и скомпилировать исходную версию. Процесс сборки (описанный ниже) прост, и он позволяет настроить ваш сервер в соответствии с вашими потребностями. Кроме того, двоичные релизы часто не соответствуют последним версиям исходного кода. Если вы загружаете двоичный файл, следуйте инструкциям в файле INSTALL.bindist внутри дистрибутива.

После загрузки важно проверить, что у вас есть полная и неизменённая версия Apache HTTP Server. Это можно сделать, протестировав загруженный архив на соответствие подписи PGP. Подробности о том, как это сделать, доступны на странице загрузки, и есть расширенный пример, описывающий использование PGP.

Извлечение

Извлечение исходного кода из архива Apache HTTP Server — это простое дело распаковки и извлечения архива:

$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar

Это создаст новый каталог в текущем каталоге, содержащем исходный код дистрибутива. Вам следует cd в этот каталог перед продолжением компиляции сервера.

Настройка дерева исходных кодов

Следующим шагом является настройка дерева исходного кода Apache для вашей конкретной платформы и личных требований. Это делается с помощью скрипта configure, включенного в корневой каталог дистрибутива. (Разработчикам, загружающим неофициальную версию дерева исходного кода Apache, понадобится autoconf и libtool, и они должны запустить buildconf перед продолжением следующих шагов. Это не нужно для официальных релизов.)

Для настройки дерева исходного кода со всеми параметрами по умолчанию просто введите ./configure. Для изменения параметров по умолчанию configure принимает различные переменные и параметры командной строки.

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

Также на этом этапе вы можете указать, какие функции вы хотите включить в Apache, включив и выключив модули. Apache поставляется с широким спектром модулей, включённых по умолчанию. Они будут скомпилированы как динамические библиотеки (DSO), которые могут загружаться или выгружаться во время выполнения. Вы также можете выбрать компиляцию модулей статически, используя параметр --enable-module=static.

Дополнительные модули включаются с помощью параметра --enable-module, где module — имя модуля со строкой mod_ удалённой и с любым символом подчеркивания, преобразованным в дефис. Аналогично, вы можете отключить модули с помощью параметра --disable-module. Будьте осторожны при использовании этих параметров, поскольку configure не может предупредить вас, если указанный вами модуль не существует; он просто проигнорирует параметр.

Кроме того, иногда необходимо предоставить скрипту configure дополнительную информацию о местоположении вашего компилятора, библиотек или заголовочных файлов. Это делается путём передачи переменных окружения или параметров командной строки в configure. Дополнительная информация содержится в руководстве по configure. Или вызовите configure с параметром --help.

Для краткого ознакомления с возможностями приведён типичный пример, который компилирует Apache для дерева установки /sw/pkg/apache с определённым компилятором и флагами, а также двумя дополнительными модулями mod_ldap и mod_lua:

$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-ldap=shared \
--enable-lua=shared

При запуске configure на проверку доступности функций на вашей системе и создание файлов Makefiles, которые впоследствии будут использоваться для компиляции сервера, уйдёт несколько минут.

Подробная информация обо всех параметрах configure доступна в руководстве по configure.

Сборка

Теперь вы можете собрать различные части пакета Apache, просто выполнив команду:

$ make

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

Установка

Теперь настало время установить пакет в конфигурированную директорию PREFIX (см. параметр --prefix выше), выполнив:

$ make install

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

Если вы обновляете, установка не перезапишет ваши файлы конфигурации или документы.

Настройка

Далее вы можете настроить свой сервер Apache HTTP, отредактировав файлы конфигурации в каталоге PREFIX/conf/.

$ vi PREFIX/conf/httpd.conf

Посмотрите руководство Apache по адресу PREFIX/docs/manual/ или обратитесь к http://httpd.apache.org/docs/2.4/ для получения последней версии данного руководства и полного справочника доступных директивы конфигурации.

Тестирование

Теперь вы можете запустить ваш сервер Apache HTTP, немедленно выполнив:

$ PREFIX/bin/apachectl -k start

Затем вы должны иметь возможность запросить свой первый документ через URL http://localhost/. Веб-страница, которую вы видите, расположена в DocumentRoot, который обычно является PREFIX/htdocs/. Затем остановите сервер снова, выполнив:

$ PREFIX/bin/apachectl -k stop

Обновление

Первый шаг при обновлении — ознакомиться с объявлением о выпуске и файлом CHANGES в дистрибутиве исходного кода, чтобы найти изменения, которые могут повлиять на ваш сайт. При переходе между основными версиями (например, с 2.0 до 2.2 или с 2.2 до 2.4) вероятно, будут существенные различия в конфигурации времени компиляции и времени выполнения, которые потребуют ручных настроек. Все модули также необходимо обновить, чтобы они соответствовали изменениям в API модулей.

Обновление с одной малой версии на следующую (например, с 2.2.55 до 2.2.57) проще. Процесс make install не перезапишет ваши существующие документы, файлы журналов или конфигурационные файлы. Кроме того, разработчики прилагают все усилия, чтобы избежать несовместимых изменений в параметрах configure, конфигурации времени выполнения или API модулей между мажорными версиями. В большинстве случаев вы можете использовать идентичную команду configure командной строки, идентичный конфигурационный файл, и все ваши модули должны продолжить работу.

Чтобы обновить между мажорными версиями, начните с поиска файла config.nice в каталоге build установленного сервера или в корневом каталоге исходного кода старой установки. Он будет содержать точную команду configure командной строки, которую вы использовали для настройки исходного кода. Затем для обновления с одной версии на другую вам нужно только скопировать файл config.nice в исходный код новой версии, отредактировать его, чтобы внести необходимые изменения, и затем запустить:

$ ./config.nice
$ make
$ make install
$ PREFIX/bin/apachectl -k graceful-stop
$ PREFIX/bin/apachectl -k start
Всегда следует тестировать любую новую версию в вашей среде перед ее запуском в рабочей среде. Например, вы можете установить и запустить новую версию наряду со старой, используя другой --prefix и другой порт (настроив директиву Listen), чтобы проверить на наличие несовместимостей перед окончательным обновлением.

Вы можете передавать дополнительные аргументы в config.nice, которые будут добавлены к вашим исходным параметрам configure:

$ ./config.nice --prefix=/home/test/apache --with-port=90

Пакеты третьих сторон

Многие третьи стороны предоставляют собственные упакованные дистрибутивы сервера Apache HTTP для установки на определенных платформах. Это включает различные дистрибутивы Linux, различные пакеты Windows от третьих сторон, Mac OS X, Solaris и многое другое.

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

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

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

Spec-Zone.ru

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