Пункт 67. Страница руководства: настройка
Сценарий configure
настраивает исходное дерево для компиляции и установки HTTP-сервера Apache на вашей конкретной платформе. Различные опции позволяют составить сервер, соответствующий вашим личным требованиям.
Этот скрипт, включенный в корневой каталог исходного дистрибутива, предназначен для компиляции только в 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
- -В
- --версия
- Отображение информации об авторских правах и выход.
Каталоги установки
Эти параметры определяют каталог установки. Дерево установки зависит от выбранного макета.
-
--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
- Установить информационную документацию в 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
,
apache2ctl
, suexec
и т. д., которые необходимы для запуска HTTP-сервера Apache. По умолчанию
sbindir
установлено значение
. EPREFIX/sbin
-
--sharedstatedir=DIR
- Установите изменяемые архитектурно-независимые данные в DIR . По умолчанию
sharedstatedir
установлено значение
. Эта опция предлагается
и в настоящее время не используется. PREFIX/com
autoconf
-
--sysconfdir=DIR
- Установите доступные только для чтения данные одной машины, такие как файлы конфигурации сервера
apache2.conf
и mime.types
т. д., в
DIR . По умолчанию sysconfdir
установлено значение
. PREFIX/conf
Типы систем
Эти параметры используются для кросс-компиляции HTTP-сервера Apache для работы в другой системе. В обычных случаях при сборке и запуске сервера в одной системе эти опции не используются.
-
--build=BUILD
- Определяет тип системы, на которой строятся инструменты. По умолчанию это результат скрипта
config.guess
.
-
--host=HOST
- Определяет тип системы, на которой будет работать сервер.
HOST по умолчанию имеет значение BUILD .
-
--target=TARGET
- Настроить компиляторы для системного типа
TARGET . По умолчанию это HOST . Эта опция предлагается
autoconf
и не является обязательной для HTTP-сервера Apache.
Дополнительные возможности
Эти параметры используются для точной настройки функций вашего HTTP-сервера.
Общий синтаксис
Как правило, вы можете использовать следующий синтаксис для включения или отключения функции:
-
--disable-FEATURE
- Не включайте ОСОБЕННОСТЬ . Это то же самое, что и
.
--enable-FEATURE=no
-
--enable-FEATURE[=ARG]
- Включить ФУНКЦИЮ . Значение по умолчанию для ARG
равно
yes
.
-
--enable-MODULE=shared
- Соответствующий модуль будет построен как модуль DSO. По умолчанию включенные модули подключаются динамически.
-
--enable-MODULE=static
- Соответствующий модуль будет подключен статически.
Примечание
configure
не будет жаловаться,
даже если
foo не существует, поэтому вам нужно печатать внимательно.
--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
, и вы видите это:
Дополнительные возможности:
...
--disable-example1 пример модуля 1
--enable-example2 пример модуля 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]
Добавьте один или несколько сторонних модулей в список статически связанных модулей. Исходный файл модуля
будет найден в
подкаталоге исходного дерева вашего HTTP-сервера Apache. Если он не найден, модуль-файл считается абсолютным путем к файлу и пытается скопировать исходный файл в
подкаталог типа модуля . Если подкаталог не существует, он будет создан и заполнен стандартным файлом
. module-file
modules/module-type
configure
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
для выбранных модулей будут автоматически сгенерированы в основном файле конфигурации. По умолчанию все эти директивы будут закомментированы, за исключением модулей, которые либо требуются, либо явно выбираются аргументом configure --enable-foo
. Вы можете изменить набор загружаемых модулей, активировав или деактивировав LoadModule
директивы в файлах
apache2.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
будет прослушиваться. Этот номер порта используется при создании файла конфигурации
apache2.conf
. По умолчанию 80.
-
--with-program-name
- Определите альтернативное имя исполняемого файла. Значение по умолчанию
httpd
.
Дополнительные пакеты
Эти параметры используются для определения дополнительных пакетов.
Общий синтаксис
Как правило, вы можете использовать следующий синтаксис для определения дополнительного пакета:
-
--with-PACKAGE[=ARG]
- Используйте пакет ПАКЕТ . Значение по умолчанию для
ARG равно
yes
.
-
--without-PACKAGE
- Не используйте пакет PACKAGE . Это то же самое, что и
. Этот параметр предоставляется
, но не очень полезен для HTTP-сервера Apache.
--with-PACKAGE=no
autoconf
Специальные пакеты
-
--with-apr=DIR|FILE
- Переносимая среда выполнения Apache ( 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
она включена). Вместо этого вы можете указать путь к каталогу библиотеки сжатия.
Некоторые функции HTTP-сервера Apache, в том числе
mod_authn_dbm
и mod_rewrite
DBM,
RewriteMap
используют простые базы данных типа «ключ-значение» для быстрого поиска информации. SDBM входит в состав APU, поэтому эта база данных всегда доступна. Если вы хотите использовать другие типы баз данных, используйте следующие параметры для их включения:
-
--with-gdbm[=path]
- Если путь не указан,
configure
будет искать включаемые файлы и библиотеки установки GNU DBM по обычным путям поиска. Явный
путь приведет к
configure
поиску
соответствующих файлов. Наконец, путь может указывать определенные пути включения и библиотеки, разделенные двоеточием. path/lib
path/include
-
--with-ndbm[=path]
- Вроде
--with-gdbm
, но ищет новую установку 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.
-
--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++, например,
если у вас есть заголовки в нестандартном каталоге includeir .
-Iincludedir
-
LDFLAGS
- Установите флаги компоновщика, например, если у вас есть библиотеки в нестандартном каталоге libdir .
-Llibdir