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

Некоторые функции Apache HTTP Server, включая mod_authn_dbm и mod_rewrite базу данных DBM RewriteMap, используют простые базы данных ключ/значение для быстрого поиска информации. 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.

Вы можете использовать несколько реализаций DBM вместе с сервером HTTP. Тип 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.

END_OF_DOCUMENT_MARKER
--with-suexec-bin
This defines the path to suexec binary. Default is --sbindir (see Fine tuning of installation directories).
--with-suexec-caller
This defines the user allowed to call suexec. It should be the same as the user under which httpd normally runs.
--with-suexec-docroot
This defines the directory tree under which suexec access is allowed for executables. Default value is --datadir/htdocs.
--with-suexec-gidmin
Define this as the lowest GID allowed to be a target user for suexec. The default value is 100.
--with-suexec-logfile
This defines the filename of the suexec logfile. By default the logfile is named suexec_log and located in --logfiledir.
--with-suexec-safepath
Define the value of the environment variable PATH to be set for processes started by suexec. Default value is /usr/local/bin:/usr/bin:/bin.
--with-suexec-userdir
This defines the subdirectory under the user's directory that contains all executables for which suexec access is allowed. This setting is necessary when you want to use suexec together with user-specific directories (as provided by mod_userdir). The default is public_html.
--with-suexec-uidmin
Define this as the lowest UID allowed to be a target user for suexec. The default value is 100.
--with-suexec-umask
Set umask for processes started by suexec. It defaults to your system settings.

Переменные окружения

Существуют некоторые полезные переменные окружения, которые можно переопределить, чтобы изменить выборы, сделанные 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