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

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

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

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

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

  • Создайте на томе NetWare каталог с именем Apache2
  • Скопируйте 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, просто скопируйте дистрибутив, созданный makefiles, в корень тома NetWare (см. раздел Компиляция Apache для NetWare ниже).

Запуск Apache для NetWare

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

load address space = apache2 apache2

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

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

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

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

unload apache2

или

apache2 shutdown

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

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 при запуске makefiles.

Требования:

Для сборки 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.
  • Для сборки с помощью makefiles потребуется GNU make версии 3.78.1 (GMake), доступная по адресу http://developer.novell.com/ndk/apache.htm.

Сборка Apache с помощью makefiles для NetWare:

  • Задайте переменную среды NOVELLLIBC, указав расположение SDK библиотек NetWare для C, например:
    Set NOVELLLIBC=c:\novell\ndk\libc
  • Задайте переменную среды METROWERKS, указав каталог установки компилятора Metrowerks CodeWarrior, например:
    Set METROWERKS=C:\Program Files\Metrowerks\CodeWarrior
    Если вы установили компилятор в каталог по умолчанию 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". Добавив к команде параметр install, можно создать каталог дистрибутива, например:
    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. Этот модуль лишь включает встроенные в ОС NetWare службы SSL, которые выполняют всё шифрование для заданного порта. Кроме того, 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