22.2. Установка Apache 2.0 по исходным текстам

Проблема
Требуется установить Apache 2.0 по исходным текстам, чтобы сервер был настро ен именно так, как вам нужно. Для этого необходимо знать параметры configure и
состав доступных модулей. Также вам хотелось бы использовать объекты DSO
(Dynamic Shared Objects), чтобы модули можно было добавлять и удалять без
перекомпиляции двоичного файла httpd.
Решение
Установка Apache 2.0 выполняется в стандартной последовательности configuremake make install. Из-за большого количества параметров компиляции вам придет ся потратить немного времени на выбор тех возможностей, которые вам нужны.
Также необходимо знать, какие значения используются по умолчанию. В следу ющем примере представлена типичная установка.
Для начала загрузите и распакуйте tar-архив Apache (на момент написания кни ги последней стабильной версией была версия 2.0.50).
Постройте список всех файлов в системе:
# find / | grep -v -e Vproc/ -e */tmp/ -e */dev/ > apache2-preinstall .list
Также можно сгенерировать аналогичный список после установки програм мы, чтобы сравнить два списка командой diff и определить состав установленных
файлов.
Перейдите в каталог, в который был распакован архив, и выведите описания
всех параметров конфигурации:
# ./configure --help | less
По умолчанию все файлы размещаются в/usr/local/apache2. В нашей конфигу рации будет использовано несколько стандартных каталогов, а стандартный на бор модулей будет слегка изменен:
# ./configure --prefix=/etc/httpd \
--exec-prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--mandir=/usr/share/man \
--sysconfdir=/etc/httpd/conf \
--includedir=/usr/inc!ude/httpd \
--libexecdir=/usr/lib/httpd/modules \
--datadir=/var/www/ \
--with-mpm=prefork \
--enable-mods-shared="rewrite" \
--disable-cgi
Запустите make и make install:
# make
# make install
Сгенерируйте новый список файлов после установки:
# find / | grep -v -e Л/ргос/ -е Vtmp/ -e */dev/ > apache2-postiinstall . l i s t
Запустите Apache:
# apachectl start
Откройте веб-страницу по умолчанию; для этого в браузере вводится адрес
http://localhost.

Комментарий
Если вы не добавляете DSO на стадии конфигурации, но хотите включить под держку DSO для добавления модулей в будущем, включите следующую строку
в ./configure:
--enable-so
Никаких отрицательных последствий от этого не будет, не считая дополни тельных расходов дискового пространства для построения всех доступных моду лей во время установки. В дальнейшем добавление и удаление модулей сводится
к редактированию httpd.conf и перезапуску Apache (см. следующий раздел). Что бы построить все модули на стадии компиляции, укажите следующий параметр:

•enable-mods-shared=all
Для Apache существует множество модулей в формате RPM и .deb, поэтому
при желании модули можно установить из пакетов. При этом возникает серьез ная Проблема: авторы пакетов используют разные имена файлов и руководству ются собственными представлениями о том, где должны находиться файлы Apache.
Если ваш дистрибутив Linux содержит хорошую документацию (как, скажем, Red
Hat и SuSE), ничего страшного не произойдет. Но при отсутствии нормальной
локализованной документации вам предстоит потратить немало времени, пыта ясь отыскать нужные файлы.
См. также
Глава 4; полное описание параметров конфигурации (http://httpd.apache.org/
docs-2.0/prograrns/configure.htmL).