Библиотека сайта rus-linux.net
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 при сборке дополнительных модулей. Некоторые из дополнительных параметров, которые не описаны и не указываются в справочной информации, выданной с помощью параметра Если вы используете комплект версии APR-util и вы собираетесь устанавливать Subversion с поддержкой Berkeley DB в качестве хранилища данных, удостоверьтесь в том, что вы используете параметры, приведенные ниже в разделе "Пояснение команд". Хотя по умолчанию модуль ISAPI DSO не собирается в случае использования приводимых ниже команд, его можно создать, если добавить параметр |
Соберите и установите пакет 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 ...: Эта команда изменяет владельцев некоторых установленных файлов, поскольку в результате сборки пакета их владельцем не является пользователь roo
t.
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 |