Spec-Zone.ru › Apache HTTP Server

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

Этот документ описывает компиляцию и установку Apache HTTP Server только в Unix и Unix-подобных системах. О компиляции и установке в Windows см. разделы Использование Apache HTTP Server в 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/) и используйте параметр --with-included-apr скрипта ./configure. На некоторых платформах, чтобы httpd мог собираться с установленными копиями APR и APR-Util, может потребоваться установить соответствующие пакеты -dev.
Библиотека регулярных выражений, совместимая с Perl (PCRE)
Эта библиотека необходима, но больше не входит в комплект httpd. Загрузите исходный код с сайта http://www.pcre.org или установите порт либо пакет. Если система сборки не может найти скрипт pcre-config, установленный при сборке PCRE, укажите путь к нему с помощью параметра --with-pcre. На некоторых платформах, чтобы httpd мог собираться с установленной копией PCRE, может потребоваться установить соответствующий пакет -dev.
Дисковое пространство
Убедитесь, что у вас есть не менее 50 МБ свободного временного дискового пространства. После установки сервер занимает около 10 МБ. Фактические требования к дисковому пространству будут существенно различаться в зависимости от выбранных параметров конфигурации, сторонних модулей и, конечно же, размера размещаемого на сервере веб-сайта или сайтов.
Компилятор ANSI-C и система сборки
Убедитесь, что у вас установлен компилятор ANSI-C. Рекомендуется компилятор GNU C (GCC) от Фонда свободного программного обеспечения (FSF). Если GCC у вас нет, убедитесь хотя бы в том, что компилятор вашего поставщика соответствует стандарту ANSI. Кроме того, в вашем PATH должны присутствовать базовые инструменты сборки, такие как make.
Точное измерение времени
Некоторые элементы протокола HTTP указываются с привязкой ко времени суток. Поэтому стоит позаботиться об установке в системе средства синхронизации времени. Обычно для этого используют программы ntpdate или xntpd, основанные на протоколе сетевого времени (NTP). Дополнительные сведения о программном обеспечении NTP и общедоступных серверах времени см. на домашней странице NTP.
Perl 5 [НЕОБЯЗАТЕЛЬНО]
Для некоторых вспомогательных скриптов, например apxs или dbmmanage (написанных на Perl), требуется интерпретатор Perl 5 (подойдут версии 5.003 и новее). Если скрипт configure не обнаружит интерпретатор Perl 5, вы не сможете использовать соответствующие вспомогательные скрипты. Разумеется, вы по-прежнему сможете собирать и использовать Apache httpd.

Загрузка

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

После загрузки важно проверить, что вы получили полную и неизменённую версию Apache HTTP Server. Для этого можно проверить загруженный архив tar по подписи 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 потребуется несколько минут, чтобы проверить доступность возможностей в вашей системе и создать Makefile, которые позднее будут использоваться для компиляции сервера.

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

Сборка

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

$ make

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

Установка

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

$ make install

Для этого обычно требуются права root, поскольку 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 Server для установки на определённых платформах. К ним относятся различные дистрибутивы Linux, сторонние пакеты для Windows, Mac OS X, Solaris и многие другие.

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

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

© 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