Пункт 59. Использование Apache с системами на основе RPM
Хотя многие дистрибутивы делают Apache httpd доступным в виде пакетов, поддерживаемых операционной системой, иногда бывает желательно установить и использовать каноническую версию Apache httpd в этих системах, заменив исходные версии пакетов.
Хотя проект Apache httpd в настоящее время не создает бинарные RPM для различных дистрибутивов, вы можете легко создать свои собственные бинарные RPM из канонического tar-архива Apache httpd.
В этом документе объясняется, как собрать, установить, настроить и запустить Apache httpd 2.4 в системах Unix, поддерживающих формат упаковки RPM.
Создание исходного RPM
Исходный архив Apache httpd можно преобразовать в SRPM следующим образом:
rpmbuild -ts httpd-2.4.x.tar.bz2
Построение RPM
Пакеты RPM можно собрать непосредственно из архивов исходного кода Apache httpd с помощью следующей команды:
rpmbuild -tb httpd-2.4.x.tar.bz2
Соответствующие пакеты "-devel" должны быть установлены в вашей системе сборки перед сборкой RPM, команда rpmbuild
автоматически рассчитает, какие RPM требуются, и перечислит все зависимости, отсутствующие в вашей системе. Эти пакеты "-devel" не потребуются после завершения сборки и могут быть безопасно удалены.
В случае успеха будут созданы следующие RPM:
- httpd-2.4.x-1.i686.rpm
- Базовый сервер и базовый набор модулей.
- httpd-debuginfo-2.4.x-1.i686.rpm
- Отладочные символы для сервера и всех модулей.
- httpd-devel-2.4.x-1.i686.rpm
- Заголовки и файлы разработки для сервера.
- httpd-manual-2.4.x-1.i686.rpm
- Руководство веб-сервера.
- httpd-tools-2.4.x-1.i686.rpm
- Вспомогательные инструменты для веб-сервера.
- mod_authnz_ldap-2.4.x-1.i686.rpm
-
mod_ldap
и mod_authnz_ldap
с соответствующей зависимостью от openldap.
- mod_lua-2.4.x-1.i686.rpm
-
mod_lua
модуль с соответствующей зависимостью от lua.
- mod_proxy_html-2.4.x-1.i686.rpm
-
mod_proxy_html
модуль с соответствующей зависимостью от libxml2.
- mod_socache_dc-2.4.x-1.i686.rpm
-
mod_socache_dc
модуль с соответствующей зависимостью от distcache.
- mod_ssl-2.4.x-1.i686.rpm
-
mod_ssl
модуль с соответствующей зависимостью от openssl.
Установка сервера
RPM httpd
— это единственный RPM, необходимый для запуска базового сервера. Установите его следующим образом:
rpm -U httpd-2.4.x-1.i686.rpm
Автономные модули включены в состав сервера. Модули, зависящие от внешних библиотек, предоставляются в виде отдельных пакетов RPM для установки при необходимости.
Настройка экземпляра Apache httpd по умолчанию
Конфигурация по умолчанию для сервера по умолчанию устанавливается в /etc/httpd
каталоге, а журналы по умолчанию записываются в файлы /var/log/httpd
. Среда для веб-сервера устанавливается по умолчанию в необязательном
/etc/sysconfig/httpd
файле.
Запустите сервер следующим образом:
service httpd restart
Настройка дополнительных экземпляров Apache httpd на том же компьютере
Можно настроить дополнительные экземпляры сервера Apache httpd, работающие независимо друг от друга на одном компьютере. Эти экземпляры могут иметь независимые конфигурации и потенциально могут работать как отдельные пользователи, если они настроены таким образом.
Это было сделано путем того, что сценарий запуска httpd знал свое собственное имя. Затем это имя используется для поиска файла среды для сервера и, в свою очередь, корневого каталога экземпляра сервера.
Чтобы создать дополнительный экземпляр с именем
httpd-additional
, выполните следующие действия:
- Создайте символическую ссылку на сценарий запуска дополнительного сервера:
ln -s /etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd-additional
chkconfig --add httpd-additional
- Создайте файл среды для сервера, используя
/etc/sysconfig/httpd
файл в качестве шаблона:
# template from httpd
cp /etc/sysconfig/httpd /etc/sysconfig/httpd-additional
# blank template
touch /etc/sysconfig/httpd-additional
Отредактируйте /etc/sysconfig/httpd-additional
и передайте корневой каталог нового экземпляра сервера в
OPTIONS
переменной среды.
OPTIONS="-d /etc/httpd-additional -f conf/httpd-additional.conf"
- Отредактируйте файл конфигурации сервера
/etc/httpd-additional/conf/httpd-additional.conf
, чтобы убедиться, что настроены правильные порты и пути.
- Запустите сервер следующим образом:
service httpd-additional restart
- Повторите этот процесс по мере необходимости для каждого экземпляра сервера.