Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 19.Основные серверы Вперед

Пакет Apache-2.2.21

Знакомимся с пакетом Apache

В пакете Apache находится HTTP-сервер с открытым исходным кодом. Он используется для создания веб сайтов в локальной сети (интранет) или для выполнения огромного количества операций веб сервиса.

Известно, что пакет правильно собирается и работает на платформе LFS-7.0.

Информация о пакете

  • Загрузка (HTTP): http://archive.apache.org/dist/httpd/httpd-2.2.21.tar.bz2
  • Загрузка (FTP): ftp://apache.mirrors.pair.com/httpd/httpd-2.2.21.tar.bz2
  • Контрольная сумма MD5: 1696ae62cd879ab1d4dd9ff021a470f2
  • Размер загружаемого пакета: 6,8 MB
  • Оценочный размер требуемого дискового пространства: 105 MB(сборка всех имеющихся модулей DSO)
  • Оценочное время сборки: 1,2 SBU (сборка всех имеющихся модулей DSO)

Зависимости пакета Apache

Необязательные

OpenLDAP-2.4.23, OpenSSL-1.0.0e (также используется при сборке APR-util), PCRE-8.12, rsync-3.0.9, Lynx-2.8.7rel.2, APR, APR-util и distcache

Необязательные (только если используется заархивированный пакет APR-util)

Expat-2.0.1, Berkeley DB-5.2.36, unixODBC-2.3.0, MySQL-5.5.17, PostgreSQL-9.0.6, SQLite-3.7.8, Oracle 11g и FreeTDS

Хотя вы можете устанавливать APR и APR-util в виде отдельных компонент, рекомендуется использовать версии, которые входят в состав архива HTTPD Apache.

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/apache

Установка пакета Apache

По соображениям безопасности настоятельно рекомендуется запускать сервер с использованием непривилегированного пользователя и группы. Создайте такие группу и пользователя при помощи следующих команд (в роли пользователя root):

groupadd -g 25 apache &&
useradd -c "Apache Server" -d /dev/null -g apache \
        -s /bin/false -u 25 apache

Замечание

Команда, указанная выше, перенаправляет домашний директорий пользователя Apache на /dev/null. Этот прием может не срабатывать для некоторых дополнений, таких как ViewVC, браузера, реализующего интерфейс для репозитариев систем управления версиями CVS и Subversion. Подробности, касающиеся конкретных приложений, смотрите в замечаниях для пользователей.

Следующий патч изменяет расположение используемых директориев и, кроме этого, выбирает в качестве директория, предназначенного для сборки, директорий /usr/lib/apache/build. В результате при конфигурировании модулей, добавляемых к Apache, не будут возникать ошибки. Примените патч:

patch -Np1 -i ../httpd-2.2.21-config-1.patch

Замечание

Возможно, вы захотите посмотреть результат работы команды ./configure --help и добавить к команде configure, используемой ниже для сборки модулей, те параметры, которые окажутся необходимыми в вашем случае. Есть целых 65 дополнительных параметров, которые можно добавить к команде configure при сборке дополнительных модулей. Некоторые из дополнительных параметров, которые не описаны и не указываются в справочной информации, выданной с помощью параметра --help, приведены ниже в разделе "Пояснение команд".

Если вы используете комплект версии APR-util и вы собираетесь устанавливать Subversion с поддержкой Berkeley DB в качестве хранилища данных, удостоверьтесь в том, что вы используете параметры, приведенные ниже в разделе "Пояснение команд".

Хотя по умолчанию модуль ISAPI DSO не собирается в случае использования приводимых ниже команд, его можно создать, если добавить параметр --enable-isapi. Хотя этот модуль будет без проблем откомпилирован, установлен и загружен, его работа и нормальное функционирование будет поддерживаться только в среде Win32.

Соберите и установите пакет Apache, выполнив следующие команды:

./configure --enable-layout=FHS      \
                               --enable-mods-shared=all \
                               --enable-so &&
make

В этом пакете набор тестов отсутствует.

Теперь в роли пользователя root выполните:

make install &&
chown -v root:root /usr/lib/apache/httpd.exp                     \
    /usr/sbin/{apxs,apachectl,dbmmanage,envvars{,-std}}          \
    /usr/share/man/man1/{dbmmanage,ht{dbm,digest,passwd}}.1      \
    /usr/share/man/man8/{ab,apachectl,apxs,htcacheclean,httpd}.8 \
    /usr/share/man/man8/{logresolve,rotatelogs,suexec}.8 &&
chown -v -R apache:apache /srv/www

Пояснение команд

--enable-mods-shared=all: Модули должны компилироваться и использоваться как динамические общедоступные объекты (Dynamic Shared Objects, DSO), с тем, чтобы их можно было добавлять к серверу и исключать из сервера с помощью конфигурационных директив, выполняемых в режиме реального времени.

--enable-ssl: Используйте этот параметр, чтобы создать модуль mod_ssl и включить поддержку SSL. Этот параметр упоминается как один из многих параметров, которые можно передать в команду configure для создания дополнительных модулей DSO.

--with-pcre: Добавьте этот параметр, чтобы использовать версию библиотеки PCRE, установленную в системе.

--with-z: Добавьте этот параметр, чтобы использовать версию библиотеки Zlib, установленную в системе.

--with-ldap: Этот параметр необходим, если вы передали в команду configure параметр --enable-authnz-ldap или --enable-ldap и включили использование модулей OpenLDAP.

--with-dbm=db4 --with-berkeley-db: Используйте эти параметры, если вам в версии APR-Util требуется поддержка Berkeley DB (требуется при использовании Berkeley DB в качестве хранилища данных в Subversion). Если вы используете Berkeley DB-5.1, измените первый параметр на --with-dbm=db51.

--with-mysql: Добавьте этот параметр, чтобы использовать версию MySQL, установленную в системе.

--with-included-apr: Добавьте этот параметр, чтобы использовать встроенную версию системы APR. По умолчанию используется версия, установленная в системе, если она имеется. Используйте этот параметр, чтобы принудительно указать, что надо собрать, а затем установить (перезаписать существующую версию APR) внутреннюю (имеющуюся внутри архива) копию APR.

chown root:root ...: Эта команда изменяет владельцев некоторых установленных файлов, поскольку в результате сборки пакета их владельцем не является пользователь root.

chown -R apache:apache /srv/www: По умолчанию в процессе установки устанавливаются файлы (документация, сообщения об ошибках, иконки, используемые по умолчанию, и т. д.), владельцем которых становится пользователь, который извлекает эти файлы из архива tar. Если вы хотите изменить владельца на другого пользователя, вы должны сделать это сейчас. Единственным требованием является то, что директории с документами должны быть доступны процессу httpd с правами доступа (r-x), а для файлов пользователя apache должен быть доступ на чтение (r--).

Конфигурирование пакета Apache

Конфигурационные файлы

/etc/apache/*

Подробнее о конфигурировании

Основной конфигурационный файл называется /etc/apache/httpd.conf. Измените его так, чтобы сервер HTTP запускался выделенным пользователем и группой:

sed -i -e "s/User daemon/User apache/" \
       -e "s/Group daemon/Group apache/" \
    /etc/apache/httpd.conf

Дополнительную информацию о том, как настроить конфигурационный файл сервера Apache HTTP, смотрите http://httpd.apache.org/docs-2.2/configuring.html.

Загрузочный скрипт

Если вы хотите, чтобы сервер Apache запускался автоматически при загрузке системы, установите загрузочный скрипт /etc/rc.d/init.d/apache, который входит в пакет blfs-bootscripts-20111226.

make install-httpd

Описание пакета

Установленные программы: ab, apachectl, apr-1-config, apu-1-config, apxs, checkgid, dbmmanage, htcacheclean, htdbm, htdigest, htpasswd, httpd, httxt2dbm, logresolve, rotatelogs и suexec

Установленные библиотеки: libapr-1.{so,a}, libaprutil-1.{so,a}, модули баз данных apr_{dbd,ldap} и многочисленные модули DSO

Установленные директории: /etc/apache, /srv/www, /usr/include/apache, /usr/lib/apache, /usr/lib/apr-util-1 и /var/log/apache

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

ab

инструментальное средство для тестирования производительности вашего сервера Apache HTTP

apachectl

внешний интерфейс сервера Apache HTTP, который предназначен для помощи администратору в управлении работой демона Apache httpd

apr-1-config

простой скрипт, который предоставляет информацию об установленной программе APR

apu-1-config

простой скрипт, который предоставляет информацию об установленной программе APR-Util

apxs

инструментальное средство для сборки и установки модулей расширения сервера Apache HTTP

checkgid

программа, которая проверяет, соответствует ли setgid указанной группе. Необходима для проверки в режиме реального времени того факта, что группа допустима для использования с Apache2. Если пользователь (должен запускаться как суперпользователь) находится в этой группе, или setgid соответствует этой группе, то программа вернет 0.

dbmmanage

используется для создания и обновления файлов формата DBM, используемых для хранения логинов и паролей базовой аутентификации пользователей HTTP

htcacheclean

используется для очистки дискового кэша

htdbm

используется для работы с базами данных паролей DBM

htdigest

используется для создания и обновления обычных файлов, используемых для хранения имен пользователей, режимов доступа и паролей дайджест аутентификации пользователей HTTP

htpasswd

используется для создания и обновления обычных файлов, используемых для хранения имен пользователей, режимов доступа и паролей базовой аутентификации пользователей HTTP

httpd

является программой - сервером Apache HTTP

httxt2dbm

используется для генерации файлов DBM из входного текста; используется в RewriteMap

logresolve

программа пост-обработки для разрешения IP-адресов в журналах доступа к Apache

rotatelogs

это простая программа для подключения с помощью конвейера к журналам сервера Apache

suexec

используется сервером Apache HTTP для переключения на другого пользователя перед запуском программ CGI

Перевод сделан с варианта оригинала, датированного 2011-12-12 20:16:56 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Содержание главы 19   Пакет BIND-9.8.1-P1