Spec-Zone.ru › Apache HTTP Server

Использование Apache с Novell NetWare

Этот документ объясняет, как установить, настроить и запустить Apache 2.0 под Novell NetWare 6.0 и выше. Если вы обнаружите какие-либо ошибки или хотите внести вклад другими способами, пожалуйста, воспользуйтесь нашей страницей отчета об ошибках.

Страница отчета об ошибках и почтовая рассылка dev-httpd предназначены не для ответа на вопросы о конфигурации или запуске Apache. Перед отправкой отчета об ошибке или запроса, пожалуйста, сначала проконсультируйтесь с этим документом, страницей часто задаваемых вопросов и другими соответствующими темами документации. Если у вас все еще остались вопросы или проблемы, опубликуйте их в новостной группе novell.devsup.webserver, где многие пользователи Apache с готовностью ответят на новые и необычные вопросы об использовании Apache в NetWare.

Большая часть этого документа предполагает, что вы устанавливаете Apache из двоичного дистрибутива. Если вы хотите скомпилировать Apache самостоятельно (возможно, для разработки или для отслеживания ошибок), см. раздел Компиляция Apache для NetWare ниже.

Требования

Apache 2.0 предназначен для работы на NetWare 6.0 с пакетом обновления 3 и выше. Если вы используете пакет обновления ниже SP3, вам необходимо установить последние библиотеки NetWare для C (LibC).

Пакеты обновления NetWare доступны здесь.

Apache 2.0 для NetWare также может работать в среде NetWare 5.1, если установлен последний пакет обновления или последняя версия библиотек NetWare для C (LibC). ПРЕДУПРЕЖДЕНИЕ: Apache 2.0 для NetWare не был нацелен и не тестировался в этой среде.

Загрузка Apache для NetWare

Информация о последней версии Apache доступна на веб-сервере Apache по адресу http://www.apache.org/. Здесь будет указана текущая версия, а также любые более новые альфа или бета-версии, вместе с данными о зеркалах веб-сайтов и анонимных FTP-сайтах. Двоичные сборки последних версий Apache 2.0 для NetWare можно загрузить здесь.

Установка Apache для NetWare

В настоящее время для NetWare нет программы установки Apache. Если вы собираете Apache 2.0 для NetWare из исходного кода, вам нужно будет скопировать файлы на сервер вручную.

Выполните следующие шаги для установки Apache на NetWare из двоичного загружаемого файла (предполагается, что вы установите на sys:/apache2) :

  • Разархивируйте двоичный загружаемый файл в корень тома SYS: (может быть установлен на любой том)
  • Отредактируйте файл httpd.conf, установив значения ServerRoot и ServerName, а также любые пути к файлам, чтобы отразить правильные настройки сервера
  • Добавьте SYS:/APACHE2 в путь поиска, например:
    SEARCH ADD SYS:\APACHE2

Выполните следующие шаги для установки Apache на NetWare вручную из собственного исходного кода (предполагается, что вы установите на sys:/apache2) :

  • Создайте каталог с именем Apache2 на томе NetWare
  • Скопируйте APACHE2.NLM, APRLIB.NLM в SYS:/APACHE2
  • Создайте каталог под SYS:/APACHE2 с именем BIN
  • Скопируйте HTDIGEST.NLM, HTPASSWD.NLM, HTDBM.NLM, LOGRES.NLM, ROTLOGS.NLM в SYS:/APACHE2/BIN
  • Создайте каталог под SYS:/APACHE2 с именем CONF
  • Скопируйте файл HTTPD-STD.CONF в каталог SYS:/APACHE2/CONF и переименуйте его в HTTPD.CONF
  • Скопируйте файлы MIME.TYPES, CHARSET.CONV и MAGIC в каталог SYS:/APACHE2/CONF
  • Скопируйте все файлы и подкаталоги из \HTTPD-2.0\DOCS\ICONS в SYS:/APACHE2/ICONS
  • Скопируйте все файлы и подкаталоги из \HTTPD-2.0\DOCS\MANUAL в SYS:/APACHE2/MANUAL
  • Скопируйте все файлы и подкаталоги из \HTTPD-2.0\DOCS\ERROR в SYS:/APACHE2/ERROR
  • Скопируйте все файлы и подкаталоги из \HTTPD-2.0\DOCS\DOCROOT в SYS:/APACHE2/HTDOCS
  • Создайте каталог SYS:/APACHE2/LOGS на сервере
  • Создайте каталог SYS:/APACHE2/CGI-BIN на сервере
  • Создайте каталог SYS:/APACHE2/MODULES и скопируйте все модули nlm в каталог modules
  • Отредактируйте файл HTTPD.CONF, найдите все метки @@Value@@ и замените их соответствующими настройками
  • Добавьте SYS:/APACHE2 в путь поиска, например:
    SEARCH ADD SYS:\APACHE2

Apache может быть установлен на другие тома помимо стандартного тома SYS.

Во время процесса сборки добавление ключевого слова «install» в команду makefile автоматически создаст полный дистрибутив в подкаталоге DIST. Установите Apache, просто скопировав созданный дистрибутив из каталога makefile в корень тома NetWare (см.: Компиляция Apache для NetWare ниже).

Запуск Apache для NetWare

Чтобы запустить Apache, просто введите apache в консоли. Это загрузит Apache в адресное пространство ОС. Если вы предпочитаете загружать Apache в защищенное адресное пространство, вы можете указать адресное пространство в команде загрузки следующим образом:

load address space = apache2 apache2

Это загрузит Apache в адресное пространство, называемое apache2. Одновременный запуск нескольких экземпляров Apache в NetWare возможен путем загрузки каждого экземпляра в собственное защищенное адресное пространство.

После запуска Apache он будет прослушивать порт 80 (если вы не изменили директиву Listen в файлах конфигурации). Для подключения к серверу и доступа к главной странице откройте браузер и введите имя или адрес сервера. Это должно отобразить страницу приветствия и ссылку на руководство Apache. Если ничего не происходит или вы получаете ошибку, проверьте файл error_log в каталоге logs.

После того, как ваша основная установка будет работать, вы должны должным образом настроить ее, отредактировав файлы в каталоге conf.

Чтобы выгрузить Apache, работающий в адресном пространстве ОС, просто введите следующее в консоли:

unload apache2

или

apache2 shutdown

Если Apache работает в защищенном адресном пространстве, укажите адресное пространство в команде выгрузки:

unload address space = apache2 apache2

При работе с Apache важно знать, как он будет находить файлы конфигурации. Вы можете указать файл конфигурации в командной строке двумя способами:

  • -f указывает путь к конкретному файлу конфигурации
apache2 -f "vol:/my server/conf/my.conf"
apache -f test/test.conf

В этих случаях, правильное ServerRoot должно быть установлено в файле конфигурации.

Если вы не укажете имя файла конфигурации с помощью -f, Apache будет использовать имя файла, скомпилированное в сервере, обычно conf/httpd.conf. Вызов Apache с параметром -V отобразит это значение с меткой SERVER_CONFIG_FILE. Apache затем определит свой ServerRoot, попытавшись выполнить следующие действия в этом порядке:

  • Директива ServerRoot через параметр -C.
  • Параметр -d в командной строке.
  • Текущий рабочий каталог
  • Корневой каталог сервера, скомпилированный в сервере.

Корневой каталог сервера, скомпилированный в сервере, обычно sys:/apache2. Вызов Apache с параметром -V отобразит это значение с меткой HTTPD_ROOT.

Apache 2.0 для NetWare включает набор командных директив, которые могут использоваться для изменения или отображения информации о работающем экземпляре веб-сервера. Эти директивы доступны только во время работы Apache. Каждая из этих директив должна предваряться ключевым словом APACHE2.

RESTART
Инструктирует Apache завершить все работающие потоки-обработчики по мере их завершения, повторно прочитать файл конфигурации и перезапустить каждый поток-обработчик на основе новой конфигурации.
VERSION
Отображает информацию о версии текущего работающего экземпляра Apache.
MODULES
Отображает список загруженных модулей, как встроенных, так и внешних.
DIRECTIVES
Отображает список всех доступных директив.
SETTINGS
Включает или выключает отображение состояния потоков в консоли. При включении состояние каждого работающего потока отображается на экране консоли Apache.
SHUTDOWN
Завершает работу экземпляра веб-сервера Apache.
HELP
Описывает каждую из директив выполнения.

По умолчанию эти директивы выполняются для экземпляра Apache, работающего в адресном пространстве ОС. Чтобы выполнить директиву для определенного экземпляра, работающего в защищенном адресном пространстве, включите параметр -p вместе с именем адресного пространства. Для получения дополнительной информации введите "apache2 Help" в командной строке.

Настройка Apache для NetWare

Apache настраивается путем чтения файлов конфигурации, обычно хранящихся в каталоге conf. Они такие же, как файлы, используемые для настройки версии Unix, но есть несколько разных директив для Apache в NetWare. См. документацию модулей Apache для всех доступных директив.

Основные различия в Apache для NetWare:

  • Поскольку Apache для NetWare многопоточный, он не использует отдельный процесс для каждого запроса, как Apache на некоторых реализациях Unix. Вместо этого работают только потоки: родительский поток и несколько дочерних или рабочих потоков, которые обрабатывают запросы.

    Поэтому директивы управления процессами отличаются:

    MaxConnectionsPerChild - Как и директива Unix, это управляет тем, сколько подключений будет обслуживать рабочий поток перед завершением. Рекомендуемый по умолчанию, MaxConnectionsPerChild 0, заставляет поток продолжать обслуживание запросов неопределённое время. На NetWare рекомендуется, если нет особой причины, чтобы эта директива всегда оставалась установленной на 0.

    StartThreads - Эта директива сообщает серверу, сколько потоков он должен запустить изначально. Рекомендуемый по умолчанию - StartThreads 50.

    MinSpareThreads - Эта директива инструктирует сервер создавать дополнительные рабочие потоки, если количество неактивных потоков когда-либо опустится ниже этого значения. Рекомендуемый по умолчанию - MinSpareThreads 10.

    MaxSpareThreads - Эта директива инструктирует сервер начать завершение рабочих потоков, если количество неактивных потоков когда-либо превысит это значение. Рекомендуемый по умолчанию - MaxSpareThreads 100.

    MaxThreads - Эта директива ограничивает общее количество рабочих потоков максимальным значением. Рекомендуемый по умолчанию - ThreadsPerChild 250.

    ThreadStackSize - Эта директива сообщает серверу, какой размер стека использовать для отдельного рабочего потока. Рекомендуемый по умолчанию - ThreadStackSize 65536.

  • Директивы, принимающие имена файлов в качестве аргументов, должны использовать имена файлов NetWare вместо имен Unix. Однако, поскольку Apache использует имена в стиле Unix во внутренней работе, следует использовать прямые слэши вместо обратных слэшей. Рекомендуется, чтобы все пути к файлам с корнем начинались с имени тома. Если это опущено, Apache предположит том SYS:, что может быть неверно.

  • Apache для NetWare имеет возможность загружать модули во время выполнения, без перекомпиляции сервера. Если Apache скомпилирован обычным способом, он установит ряд дополнительных модулей в каталог \Apache2\modules. Для активации этих или других модулей необходимо использовать директиву LoadModule. Например, для активации модуля состояния используйте следующее:

    LoadModule status_module modules/status.nlm

    Информация о создании загружаемых модулей также доступна.

Дополнительные директивы, специфичные для NetWare:

  • CGIMapExtension - Эта директива сопоставляет расширение файла CGI с интерпретатором сценариев.
  • SecureListen - Включает шифрование SSL для указанного порта.
  • NWSSLTrustedCerts - Добавляет доверенные сертификаты, используемые для создания защищённых соединений с прокси-серверами.
  • NWSSLUpgradeable - Разрешает обновление соединения, созданного по указанному адресу/порту, до SSL-соединения.

Компиляция Apache для NetWare

Для компиляции Apache требуется MetroWerks CodeWarrior 6.x или выше. После того, как Apache будет построен, его можно установить в корень любого тома NetWare. По умолчанию используется каталог sys:/Apache2.

Перед запуском сервера необходимо заполнить каталог conf. Скопируйте файл HTTPD-STD.CONF из дистрибутива conf каталога и переименуйте его в HTTPD.CONF. Откройте файл HTTPD.CONF и найдите все метки @@Value@@ и замените их соответствующим значением. Скопируйте также файлы conf/magic и conf/mime.types . В качестве альтернативы, весь дистрибутив можно создать, включив ключевое слово install при вызове файлов make.

Требования:

Для построения Apache 2.0 для NetWare требуются следующие инструменты разработки:

  • Metrowerks CodeWarrior 6.0 или выше с NetWare PDK 3.0 или выше.
  • Библиотеки NetWare для C (LibC)
  • Библиотеки LDAP для C
  • Исходный код библиотеки сжатия ZLIB
  • Утилита AWK (awk, gawk или аналогичная). AWK можно загрузить с http://developer.novell.com/ndk/apache.htm. Утилита должна быть в пути вашей системы Windows и должна иметь имя awk.exe.
  • Для сборки с помощью файлов make вам потребуется GNU make версии 3.78.1 (GMake), доступный по адресу http://developer.novell.com/ndk/apache.htm.

Сборка Apache с помощью файлов make для NetWare:

  • Установите переменную среды NOVELLLIBC в расположение SDK NetWare Libraries for C, например:
    Set NOVELLLIBC=c:\novell\ndk\libc
  • Установите переменную среды METROWERKS в расположение, где вы установили компилятор Metrowerks CodeWarrior, например:
    Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior
    Если вы установили его по умолчанию, это не нужно.
  • Установите переменную среды LDAPSDK в расположение, где вы установили библиотеки LDAP для C, например:
    Set LDAPSDK=c:\Novell\NDK\cldapsdk\NetWare\libc
  • Установите переменную среды ZLIBSDK в расположение, где вы установили исходный код библиотеки ZLib, например:
    Set ZLIBSDK=D:\NOVELL\zlib
  • Установите переменную среды PCRESDK в расположение, где вы установили исходный код библиотеки PCRE, например:
    Set PCRESDK=D:\NOVELL\pcre
  • Установите переменную среды AP_WORK в полный путь к каталогу исходного кода httpd.
    Set AP_WORK=D:\httpd-2.0.x
  • Установите переменную среды APR_WORK в полный путь к каталогу исходного кода apr. Обычно это \httpd\srclib\apr, но проект APR может находиться вне структуры каталога httpd.
    Set APR_WORK=D:\apr-1.x.x
  • Установите переменную среды APU_WORK в полный путь к каталогу исходного кода apr-util. Обычно это \httpd\srclib\apr-util, но проект APR-UTIL может находиться вне структуры каталога httpd.
    Set APU_WORK=D:\apr-util-1.x.x
  • Убедитесь, что путь к утилите AWK и утилите GNU make (gmake.exe) включены в переменную среды системы PATH.
  • Загрузите исходный код и распакуйте его в соответствующий каталог на вашей рабочей станции.
  • Перейдите в каталог \httpd-2.0 и скомпилируйте утилиты предварительной сборки, выполнив команду "gmake -f nwgnumakefile prebuild". Эта команда создаст каталог \httpd-2.0\nwprebuild и скопирует в него необходимые утилиты для завершения следующих этапов сборки.
  • Скопируйте файлы \httpd-2.0\nwprebuild\GENCHARS.nlm и \httpd-2.0\nwprebuild\DFTABLES.nlm на том SYS: сервера NetWare и запустите их с помощью следующих команд:
    SYS:\genchars > sys:\test_char.h
    SYS:\dftables sys:\chartables.c
  • Скопируйте файлы test_char.h и chartables.c в каталог \httpd-2.0\os\netware на машине сборки.
  • Перейдите в каталог \httpd-2.0 и выполните сборку Apache, запустив команду "gmake -f nwgnumakefile". Для создания каталога дистрибутива добавьте параметр установки в команду, например:
    gmake -f nwgnumakefile install

Дополнительные параметры make

  • gmake -f nwgnumakefile

    Создаёт релизные версии всех библиотек и копирует их в каталог назначения \release.

  • gmake -f nwgnumakefile DEBUG=1

    Создаёт отладочные версии всех библиотек и копирует их в каталог назначения \debug.

  • gmake -f nwgnumakefile install

    Создаёт полный дистрибутив Apache с бинарными файлами, документацией и дополнительными служебными файлами в каталоге \dist\Apache2.

  • gmake -f nwgnumakefile prebuild

    Создаёт все утилиты предварительной сборки и копирует их в каталог \nwprebuild.

  • gmake -f nwgnumakefile installdev

    То же, что и install, но также создаёт каталоги \lib и \include в каталоге назначения и копирует заголовки и файлы импорта.

  • gmake -f nwgnumakefile clean

    Очищает все объектные файлы и бинарные файлы из областей сборки \release.o или \debug.o, в зависимости от того, определена ли переменная DEBUG.

  • gmake -f nwgnumakefile clobber_all

    То же, что и clean, но также удаляет каталог дистрибутива, если он существует.

Дополнительные параметры переменных окружения

  • Чтобы скомпилировать все экспериментальные модули, установите переменную окружения EXPERIMENTAL:
    Set EXPERIMENTAL=1
  • Чтобы скомпилировать Apache с использованием стандартных сокетов в стиле BSD вместо Winsock, установите переменную окружения USE_STDSOCKETS:
    Set USE_STDSOCKETS=1

Сборка mod_ssl для платформы NetWare

По умолчанию Apache для NetWare использует встроенный модуль mod_nw_ssl для предоставления SSL-услуг. Этот модуль просто включает встроенные SSL-услуги операционной системы NetWare для обработки всего шифрования для заданного порта. В качестве альтернативы, mod_ssl также может использоваться так же, как и на других платформах.

Перед тем, как mod_ssl можно скомпилировать для платформы NetWare, необходимо предоставить библиотеки OpenSSL. Это можно сделать следующими шагами:

  • Загрузите последнюю версию исходного кода OpenSSL 0.9.8 со страницы исходных текстов OpenSSL (более старые версии 0.9.7 нуждаются в патчах и поэтому не рекомендуются).
  • Отредактируйте файл NetWare/set_env.bat и измените пути к инструментам и утилитам так, чтобы они соответствовали вашей среде разработки.
  • Из корневого каталога исходного кода OpenSSL выполните следующие скрипты:
    Netware\set_env netware-libc
    Netware\build netware-libc
    По соображениям производительности вы должны включить компиляцию с кодом ASM. Скачайте NASM с сайта SF. Затем настройте OpenSSL для использования кода ASM:
    Netware\build netware-libc nw-nasm enable-mdc2 enable-md5
    Предупреждение: не используйте ассемблер CodeWarrior — он создаёт некорректный код!
  • Перед сборкой Apache установите переменную среды OSSLSDK в полный путь к корневому каталогу исходного кода OpenSSL и установите WITH_MOD_SSL в 1.
    Set OSSLSDK=d:\openssl-0.9.8x
    Set WITH_MOD_SSL=1

© 2018 The Apache Software Foundation
Licensed under the Apache License, Version 2.0.
https://httpd.apache.org/docs/2.4/en/platform/netware.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API