![](/user_photo/2706_HbeT2.jpg)
- •Аннотация
- •Содержание
- •Обозначения и сокращения
- •Введение
- •Постановка задачи
- •1.1 Обзор возможностей
- •1.1.1 Объединение серверов
- •1.1.2 Поддержка встроенных средств для Linux (ifl)
- •1.1.3 Более простые и эффективные системы управления
- •1.1.4 Расширенный менеджер безопасности
- •1.1.5 Высокая доступность и кластеризация
- •1.1.6 Улучшенная производительность
- •1.2.2 Ограничения ядра
- •1.2.3 Поддержка файловых систем
- •2.1 Описание web-сервера Apache
- •2.2 Инсталляция web-сервера Apache
- •2.2.1 Сборка web-сервера Apache
- •2.2.2 Установка web-сервера Apache
- •2.2.3 Запуск web-сервера Apache
- •2.2.4 Остановка и перезапуск web-сервера Apache
- •2.2.5 Обновление web-сервера Apache
- •2.3 Конфигурирование web-сервера Apache
- •2.3.1 Основные настройки web-сервера Apache
- •2.3.2 Настройка виртуальных хостов
- •2.3.3 Настройки авторизации и аутентификации
- •3. Безопасность жизнедеятельности
- •3.1 Основные негативные воздействия и борьба с ними
- •3.2 Выбор помещения
- •3.3 Выбор стола и его ориентации
- •3.4 Выбор и установка кресла
- •3.5 Условия эксплуатации компьютера
- •3.6 Требования к электропитанию компьютера
- •3.7 Меры безопасности при работе на компьютере
- •Заключение
- •Список используемых источников
- •Приложение 1
- •Приложение 2
- •Приложение 3
2.2 Инсталляция web-сервера Apache
2.2.1 Сборка web-сервера Apache
Требования, необходимые для успешной сборки сервера:
-
Дисковое пространство
На диске должно быть как минимум 50 Mб свободного места для временных файлов. После установки Apache занимает приблизительно 10 Mб. Точный размер занимаемого места будет зависеть в основном от выбранной конфигурации и дополнительно устанавливаемых модулей, не входящих в дистрибутив Apache.
-
ANSI-C компилятор и необходимая среда сборки
В вашей системе должен присутствовать ANSI-C компилятор. Рекомендуется использовать GNU C компилятор (GCC) от Free Software Foundation (FSF) (версии 2.7.2 вполне достаточно). Также стоит убедиться в том, чтобы в переменной окружения PATH был указан каталог, содержащий основные утилиты, необходимые для сборки (make и другие).
-
Синхронизация времени
В некоторых заголовках HTTP протокола указывается время. Поэтому необходимо, чтобы в системе присутствовало средство синхронизации времени. Обычно для этих целей используются программы ntpdate или xntpd, основанные на сетевом протоколе синхронизации времени (Network Time Protocol - NTP).
Загрузка дистрибутива
Apache можно загрузить со страницы загрузки Apache HTTP Software Foundation, на которой также приводится список некоторых зеркальных серверов. Пользователям, работающим на unix-подобных системах, рекомендуется собирать Apache из исходных кодов. Процесс сборки достаточно прост и позволяет настроить сервер под любые нужды.
Конфигурирование сборки
Скачав и распаковав дистрибутив сервера Apache 2.0, необходимо сконфигурировать свою версию сборки перед последующей установкой.
В предыдущих версиях Apache были две различные модели конфигурации сервера, каждая из которых развивалась отдельно. Первый метод - это использование текстового файла, контролирующего состав сборки сервера. А вторым стал autoconf-подобный механизм, который преобразовывал файл скрипта сборки под текущую платформу. Разработчики решили, что для Apache 2.0 больше подойдет второй метод настройки. Поэтому Apache 2.0 для определения компонентов сборки использует утилиты autoconf и libtool.
Дистрибутивы, скачанные с сайта Apache, уже имеют конфигурационный скрипт configure, расположенный в корне распакованного дистрибутива. Данный скрипт имеет множество параметров, которые позволяют пользователю контролировать каждый аспект сборки Apache. Полный список этих параметров можно получить командой
./configure –help.
Наиболее интересными из них являются следующие:
-
--prefix=/путь_к_директории − задает путь инсталляции сервера Apache.
-
--enable-имя_модуля − включение модуля не входящего в состав сборки по умолчанию
-
--disable-имя_модуля − исключение модуля входящего в состав сборки по умолчанию
-
--with-module=тип-модуля:имя-файла − добавление внешнего модуля, не входящего в комплект поставки, ищется в каталоге modules/тип-модуля
Ключи для скрипта ./configure, влияющие на его выполнение:
-C
--config-cache
псевдоним для --cache-file=config.cache
--cache-file=FILE
результаты тестирования скрипта будут сохраняться в файл FILE
эта опция отключена по умолчанию
-h
--help [short|recursive]
вывод справки и выход
с аргументом short будет отображаться справка только выбранного пакета
с аргументом recursive будет показана краткая справка для всех пакетов, включенных в дистрибутив
-n
--no-create
скрипт запускается в обычном режиме, но не создает выходные файлы, что полезно для проверки результатов тестов перед генерацией Makefiles для компиляции.
-q
--quiet
не выводит checking ... сообщения в процессе настройки
--srcdir=DIR
Определяет каталог DIR как источник файлов установки
по умолчанию это каталог, где производиться настройка, или родительский
--silent
тоже что и --quiet
-V
--version
показывает информацию об версии, авторских правах а затем завершается
Для того чтобы скомпилировать модули как динамически подключаемые объекты (DSO), т.е. они могут быть загружены и выгружены из сервера во время его работы, требуется использовать параметр shared для опции --enable-имя_модуля следующим образом:
--enable-[module]=shared (требуется наличие модуля so).
Использовать данные опции следует с осторожностью, так как конфигурационный скрипт не предупреждает в том случае, если модуля, который указан, нет; он просто проигнорирует соответствующую опцию. Поэтому наличие модулей следует проверить заранее в папке modules.
Опция --enable-layout=LAYOUT производит настройку дерева каталогов для установки сервера в соответсвии с шаблоном LAYOUT, что позволяет отдельно указать места для каждого типа файла в пределах директории установки сервера Apache.
Файл config.layout содержит несколько шаблонов конфигураций. Также можно создавать свои собственные конфигурации следуя примерам. Различные схемы в этом файле сгруппированы в блоки по именам <Layout FOO>...</Layout>, где вместо FOO подставляется имя. По умолчанию используется макет Apache .
Ниже представлены параметры конфигурационного скрипта для моей сборки сервера:
./configure --prefix=/opt/apache2 \
--with-mpm=prefork \
--disable-imagemap \
--disable-userdir \
--enable-proxy \
--enable-proxy-http \
--enable-proxy-ftp \
--enable-auth-digest=shared \
--enable-charset-lite \
--enable-expires \
--enable-info \
--enable-rewrite=shared \
--enable-usertrack \
--enable-so
Мною был выбран тип MPM-модуля prefork, как наиболее простой и стабильный в работе. Впоследствии во время эксплуатации сервера настройки MPM можно будет изменять, подбирая наиболее эффективные при текущей нагрузке на сервере.
Также в сборку были включены дополнительные модули для обеспечения прокси: mod_proxy_http, mod_proxy_ftp, модуль обеспечения динамического подключения модулей: mod_so, модуль выдающий информацию о сервере: mob_info, модуль для отслеживания клиентов с помощью куки: mod_usertrack, модуль управляющий содержимым заголовков: mod_expires управляющий содержимым заголовками и модуль mod_charset_lite для перекодировки документов из кодировки хранения в кодировку клиента. В целях повышения безопасности от внешнего вмешательства из сборки были исключены модуль mod_userdir, позволяющий создавать отдельные каталоги для каждого пользователя, и модуль mod_imagemap, отвечающий за поддержку карт изображений.