Spec-Zone.ru › Apache HTTP Server

configure — настройка дерева исходного кода

Скрипт configure настраивает дерево исходного кода для компиляции и установки Apache HTTP Server на вашей платформе. Различные параметры позволяют скомпилировать сервер в соответствии с вашими требованиями.

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

Краткое описание

Скрипт configure следует запускать из корневого каталога дистрибутива.

./configure [OPTION]... [VAR=VALUE]...

Чтобы задать переменные среды (например, CC, CFLAGS ...), укажите их как VAR=VALUE. Описание некоторых полезных переменных см. ниже.

Параметры

  • Параметры конфигурации
  • Каталоги установки
  • Типы систем
  • Дополнительные возможности
  • Параметры вспомогательных программ

Параметры конфигурации

Следующие параметры влияют на работу самого configure.

-C
--config-cache
Это псевдоним для --cache-file=config.cache
--cache-file=FILE
Результаты проверок будут кэшироваться в файле FILE. По умолчанию этот параметр отключён.
-h
--help [short|recursive]
Вывести справку и завершить работу. С аргументом short будут показаны только параметры, относящиеся к этому пакету. Аргумент recursive выводит краткую справку по всем включённым пакетам.
-n
--no-create
Скрипт configure выполняется обычным образом, но не создаёт выходные файлы. Это полезно, чтобы проверить результаты тестов перед созданием файлов make для компиляции.
-q
--quiet
Не выводить сообщения checking ... во время процесса настройки.
--srcdir=DIR
Задать каталог DIR в качестве каталога исходных файлов. По умолчанию используется каталог, в котором находится configure, либо родительский каталог.
--silent
То же, что и --quiet
-V
--version
Вывести сведения об авторских правах и завершить работу.

Каталоги установки

Эти параметры определяют каталог установки. Структура дерева установки зависит от выбранной схемы размещения.

--prefix=PREFIX
Установить файлы, не зависящие от архитектуры, в PREFIX. По умолчанию каталог установки — /usr/local/apache2.
--exec-prefix=EPREFIX
Установить файлы, зависящие от архитектуры, в EPREFIX. По умолчанию в качестве каталога установки используется каталог PREFIX.

По умолчанию make install устанавливает все файлы в /usr/local/apache2/bin, /usr/local/apache2/lib и т. д. Можно указать префикс установки, отличный от /usr/local/apache2, с помощью --prefix, например --prefix=$HOME.

Определение структуры каталогов

--enable-layout=LAYOUT
Настроить исходный код и сценарии сборки, предполагая, что дерево установки соответствует схеме LAYOUT. Это позволяет отдельно указать расположение каждого типа файлов в установке Apache HTTP Server. Файл config.layout содержит несколько примеров конфигураций; также можно создать собственную конфигурацию по этим примерам. Различные схемы из этого файла сгруппированы в разделы <Layout FOO>...</Layout> и обозначены именами, например FOO. По умолчанию используется схема Apache.

Точная настройка каталогов установки

Для более точного управления каталогами установки используйте приведённые ниже параметры. Обратите внимание: значения каталогов по умолчанию задаются с помощью autoconf и переопределяются соответствующей настройкой схемы размещения.

--bindir=DIR
Установить пользовательские исполняемые файлы в DIR. К пользовательским исполняемым файлам относятся вспомогательные программы, такие как htpasswd, dbmmanage и т. д., полезные администраторам сайта. По умолчанию для DIR задаётся значение EPREFIX/bin.
--datadir=DIR
Установить доступные только для чтения данные, не зависящие от архитектуры, в DIR. По умолчанию для datadir задаётся значение PREFIX/share. Этот параметр предоставляется autoconf и в настоящее время не используется.
--includedir=DIR
Установить заголовочные файлы C в DIR. По умолчанию для includedir задаётся значение EPREFIX/include.
--infodir=DIR
Установить документацию в формате info в DIR. По умолчанию для infodir задаётся значение PREFIX/info. Этот параметр в настоящее время не используется.
--libdir=DIR
Установить библиотеки объектного кода в DIR. По умолчанию для libdir задаётся значение EPREFIX/lib.
--libexecdir=DIR
Установить исполняемые файлы программ (то есть общие модули) в DIR. По умолчанию для libexecdir задаётся значение EPREFIX/modules.
--localstatedir=DIR
Установить изменяемые данные для одной машины в DIR. По умолчанию для localstatedir задаётся значение PREFIX/var. Этот параметр предоставляется autoconf и в настоящее время не используется.
--mandir=DIR
Установить документацию man в DIR. По умолчанию для mandir задаётся значение EPREFIX/man.
--oldincludedir=DIR
Установить заголовочные файлы C для компиляторов, отличных от gcc, в DIR. По умолчанию для oldincludedir задаётся значение /usr/include. Этот параметр предоставляется autoconf и в настоящее время не используется.
--sbindir=DIR
Установить исполняемые файлы для системного администратора в DIR. К ним относятся серверные программы, такие как httpd, apachectl, suexec и т. д., необходимые для работы Apache HTTP Server. По умолчанию для sbindir задаётся значение EPREFIX/sbin.
--sharedstatedir=DIR
Установить изменяемые данные, не зависящие от архитектуры, в DIR. По умолчанию для sharedstatedir задаётся значение PREFIX/com. Этот параметр предоставляется autoconf и в настоящее время не используется.
--sysconfdir=DIR
Установить доступные только для чтения данные для одной машины, например файлы конфигурации сервера httpd.conf, mime.types и т. д., в DIR. По умолчанию для sysconfdir задаётся значение PREFIX/conf.

Типы систем

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

--build=BUILD
Определяет тип системы, в которой собираются инструменты. По умолчанию используется результат выполнения скрипта config.guess.
--host=HOST
Определяет тип системы, в которой будет работать сервер. По умолчанию значение HOST совпадает со значением BUILD.
--target=TARGET
Настроить сборку компиляторов для системы типа TARGET. По умолчанию используется значение HOST. Этот параметр предоставляется autoconf и для Apache HTTP Server не требуется.

Дополнительные возможности

Эти параметры позволяют точно настроить возможности вашего HTTP-сервера.

Общий синтаксис

Для включения или отключения возможности обычно можно использовать следующий синтаксис:

--disable-FEATURE
Не включать FEATURE. То же, что и --enable-FEATURE=no.
--enable-FEATURE[=ARG]
Включить FEATURE. По умолчанию для ARG используется значение yes.
--enable-MODULE=shared
Соответствующий модуль будет собран как модуль DSO. По умолчанию включённые модули связываются динамически.
--enable-MODULE=static
Соответствующий модуль будет связан статически.

Примечание

configure не сообщит об ошибке, если --enable-foo не существует, поэтому вводите команду внимательно.

Выбор модулей для компиляции

Большинство модулей компилируются по умолчанию. Чтобы отключить их, необходимо сделать это явно или использовать ключевое слово few (дополнительные сведения см. ниже в разделах --enable-modules, --enable-mods-shared и --enable-mods-static) либо --enable-modules=none, чтобы исключить их группой.

Другие модули по умолчанию не компилируются. Чтобы использовать их, необходимо явно включить их либо воспользоваться ключевыми словами all или reallyall.

Чтобы узнать, какие модули компилируются по умолчанию, выполните ./configure -h или ./configure --help и посмотрите раздел Optional Features. Предположим, вас интересуют mod_example1 и mod_example2, и вы видите следующее:

Optional Features:
  ...
  --disable-example1     example module 1
  --enable-example2      example module 2
  ...

Тогда mod_example1 включён по умолчанию, и для исключения его из компиляции следует использовать --disable-example1. mod_example2 по умолчанию отключён, и для его компиляции следует использовать --enable-example2.

Модули многопроцессной обработки

Модули многопроцессной обработки (MPM) реализуют базовое поведение сервера. Для работы сервера должен быть активен один MPM. Список доступных MPM приведён на странице указателя модулей.

MPM можно собирать как модули DSO для динамической загрузки или статически связывать с сервером; для их включения используются следующие параметры:

--with-mpm=MPM

Выбрать MPM по умолчанию для сервера. Если MPM собираются как модули DSO (см. --enable-mpms-shared), эта директива выбирает MPM, который будет загружаться из файла конфигурации по умолчанию. В противном случае директива выбирает единственный доступный MPM, который будет статически связан с сервером.

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

--enable-mpms-shared=MPM-LIST

Включить список MPM в качестве динамических общих модулей. Один из этих модулей необходимо динамически загрузить с помощью директивы LoadModule.

MPM-LIST — список имён MPM, разделённых пробелами и заключённых в кавычки. Например:

--enable-mpms-shared='prefork worker'

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

--enable-mpms-shared=all

Сторонние модули

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

--with-module=module-type:module-file[, module-type:module-file]

Добавить один или несколько сторонних модулей в список статически связанных модулей. Исходный файл модуля module-file будет искаться в подкаталоге modules/module-type дерева исходного кода Apache HTTP Server. Если файл там не найден, configure сочтёт, что module-file — это абсолютный путь к файлу, и попытается скопировать исходный файл в подкаталог module-type. Если подкаталога нет, он будет создан и заполнен стандартным файлом Makefile.in.

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

Примечание

Чтобы собрать модуль DSO вместо статически связанного модуля, используйте apxs.

Накопительные и прочие параметры

--enable-maintainer-mode
Включить отладку и предупреждения во время компиляции, а также загрузить все скомпилированные модули.
--enable-mods-shared=MODULE-LIST

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

MODULE-LIST — список имён модулей, разделённых пробелами и заключённых в кавычки. Имена модулей указываются без префикса mod_. Например:

--enable-mods-shared='headers rewrite dav'

Кроме того, можно использовать специальные ключевые слова reallyall, all, most и few. Например:

--enable-mods-shared=most

скомпилирует большинство модулей и соберёт их как модули DSO,

--enable-mods-shared=few

скомпилирует только самый базовый набор модулей.

По умолчанию используется набор most.

Директивы LoadModule для выбранных модулей будут автоматически созданы в основном файле конфигурации. По умолчанию все эти директивы будут закомментированы, за исключением директив для модулей, которые необходимы или явно выбраны аргументом --enable-foo команды configure. Набор загружаемых модулей можно изменить, активируя или деактивируя директивы LoadModule в файле httpd.conf. Кроме того, директивы LoadModule для всех собранных модулей можно активировать с помощью параметра configure --enable-load-all-modules.

--enable-mods-static=MODULE-LIST
Этот параметр действует аналогично --enable-mods-shared, но связывает указанные модули статически. Это означает, что такие модули всегда будут присутствовать во время работы httpd. Загружать их с помощью LoadModule не требуется.
--enable-modules=MODULE-LIST
Этот параметр действует аналогично --enable-mods-shared и также связывает указанные модули динамически. Специальное ключевое слово none отключает сборку всех модулей.
--enable-v4-mapped
Разрешить сокетам IPv6 обрабатывать подключения IPv4.
--with-port=PORT
Задаёт порт, на котором httpd будет ожидать подключений. Этот номер порта используется при создании файла конфигурации httpd.conf. По умолчанию — 80.
--with-program-name
Задать альтернативное имя исполняемого файла. По умолчанию используется httpd.

Дополнительные пакеты

Эти параметры используются для определения дополнительных пакетов.

Общий синтаксис

Для определения дополнительного пакета обычно можно использовать следующий синтаксис:

--with-PACKAGE[=ARG]
Использовать пакет PACKAGE. По умолчанию для ARG используется значение yes.
--without-PACKAGE
Не использовать пакет PACKAGE. То же, что и --with-PACKAGE=no. Этот параметр предоставляется autoconf, но не очень полезен для Apache HTTP Server.

Конкретные пакеты

--with-apr=DIR|FILE
Переносимая среда выполнения Apache (APR) входит в дистрибутив исходного кода httpd и автоматически собирается вместе с HTTP-сервером. Если вместо неё вы хотите использовать уже установленную APR, необходимо указать configure путь к скрипту apr-config. Можно задать абсолютный путь и имя скрипта либо каталог установленной APR. В этом каталоге или его подкаталоге bin должен находиться apr-config.
--with-apr-util=DIR|FILE
Утилиты Apache Portable Runtime (APU) входят в дистрибутив исходного кода httpd и автоматически собираются вместе с HTTP-сервером. Если вместо них вы хотите использовать уже установленную APU, необходимо указать configure путь к скрипту apu-config. Можно задать абсолютный путь и имя скрипта либо каталог установленной APU. В этом каталоге или его подкаталоге bin должен находиться apu-config.
--with-ssl=DIR
Если включён mod_ssl, configure выполняет поиск установленного OpenSSL. Вместо этого можно задать путь к каталогу набора инструментов SSL/TLS.
--with-z=DIR
configure автоматически ищет установленную библиотеку zlib, если она требуется конфигурации исходного кода (например, когда включён mod_deflate). Вместо этого можно задать путь к каталогу библиотеки сжатия.

В некоторых функциях Apache HTTP Server, включая mod_authn_dbm и DBM RewriteMap компонента mod_rewrite, используются простые базы данных «ключ/значение» для быстрого поиска информации. SDBM входит в состав APU, поэтому эта база данных доступна всегда. Если вы хотите использовать другие типы баз данных, включите их с помощью следующих параметров:

--with-gdbm[=path]
Если path не указан, configure будет искать заголовочные файлы и библиотеки GNU DBM в стандартных путях поиска. Если указать path, configure будет искать нужные файлы в path/lib и path/include. Наконец, в качестве path можно указать конкретные пути к заголовочным файлам и библиотекам, разделив их двоеточием.
--with-ndbm[=path]
Аналогично --with-gdbm, но выполняет поиск установки New DBM.
--with-berkeley-db[=path]
Аналогично --with-gdbm, но выполняет поиск установки Berkeley DB.

Примечание

Параметры DBM предоставляются APU и передаются её скрипту настройки. Они бесполезны при использовании уже установленной APU, заданной с помощью --with-apr-util.

С HTTP-сервером можно использовать несколько реализаций DBM одновременно. Соответствующий тип DBM будет каждый раз задаваться в конфигурации времени выполнения.

Параметры вспомогательных программ

--enable-static-support
Собрать вспомогательные исполняемые файлы со статической компоновкой. Это означает, что будет создан самостоятельный исполняемый файл со всеми необходимыми библиотеками. В противном случае вспомогательные исполняемые файлы по умолчанию связываются динамически.
--enable-suexec
Используйте этот параметр, чтобы включить suexec, позволяющий задавать uid и gid для порождаемых процессов. Не используйте этот параметр, если не понимаете всех последствий для безопасности при запуске на сервере двоичного файла suid. Дополнительные параметры настройки suexec описаны ниже.

С помощью следующих параметров можно создать двоичный файл с статической компоновкой для отдельной вспомогательной программы:

--enable-static-ab
Собрать ab со статической компоновкой.
--enable-static-checkgid
Собрать checkgid со статической компоновкой.
--enable-static-htdbm
Собрать htdbm со статической компоновкой.
--enable-static-htdigest
Собрать htdigest со статической компоновкой.
--enable-static-htpasswd
Собрать htpasswd со статической компоновкой.
--enable-static-logresolve
Собрать logresolve со статической компоновкой.
--enable-static-rotatelogs
Собрать rotatelogs со статической компоновкой.

Параметры настройки suexec

Следующие параметры используются для точной настройки работы suexec. Дополнительные сведения см. в разделе Настройка и установка suEXEC.

--with-suexec-bin
Задаёт путь к двоичному файлу suexec. По умолчанию используется --sbindir (см. раздел Точная настройка каталогов установки).
--with-suexec-caller
Задаёт пользователя, которому разрешено вызывать suexec. Это должен быть пользователь, от имени которого обычно работает httpd.
--with-suexec-docroot
Задаёт дерево каталогов, в пределах которого suexec разрешён доступ к исполняемым файлам. Значение по умолчанию — --datadir/htdocs.
--with-suexec-gidmin
Задаёт минимальный GID, разрешённый для целевого пользователя suexec. Значение по умолчанию — 100.
--with-suexec-logfile
Задаёт имя файла журнала suexec. По умолчанию журнал называется suexec_log и находится в --logfiledir.
--with-suexec-safepath
Задаёт значение переменной среды PATH для процессов, запущенных suexec. Значение по умолчанию — /usr/local/bin:/usr/bin:/bin.
--with-suexec-userdir
Задаёт подкаталог в каталоге пользователя, содержащий все исполняемые файлы, к которым разрешён доступ suexec. Этот параметр необходим, если вы хотите использовать suexec вместе с каталогами пользователей (как в случае с mod_userdir). По умолчанию используется public_html.
--with-suexec-uidmin
Задаёт минимальный UID, разрешённый для целевого пользователя suexec. Значение по умолчанию — 100.
--with-suexec-umask
Задаёт umask для процессов, запущенных suexec. По умолчанию используются системные настройки.

Переменные среды

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

CC
Задаёт команду компилятора C для компиляции.
CFLAGS
Задаёт флаги компилятора C, которые следует использовать при компиляции.
CPP
Задаёт команду препроцессора C.
CPPFLAGS
Задаёт флаги препроцессора C/C++, например -Iincludedir, если заголовочные файлы находятся в нестандартном каталоге includedir.
LDFLAGS
Задаёт флаги компоновщика, например -Llibdir, если библиотеки находятся в нестандартном каталоге libdir.

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

Spec-Zone.ru

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