Организация Web-доступа в среде zLinux на сервере z9 BC

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

t;.

Переменные окружения

Сервер позволяет обмениваться информацией с внешними программами (CGI) и между модулями с помощью переменных окружения. Имя переменной должно начинаться с буквы и может содержать буквы, цифры и символ нижнего подчёркивания. Перед вызовом CGI сервер устанавливает переменные запроса в соответствии со стандартом (некоторые модуля добавляют свои переменные): _ROOT="абсолютное-имя-директории-документов-сервера" _INTERFACE="CGI/1.1" _ACCEPT="image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png" _ACCEPT_CHARSET="iso-8859-1,*,utf-8" _ACCEPT_LANGUAGE="ru, en" _CACHE_CONTROL="max-age=259200" _CONNECTION="keep-alive" _HOST="www.printhouse.ru" - если клиент посылает поле HOST в запросе _IF_MODIFIED_SINCE="Wednesday, 26-Jul-00 15:20:17 GMT; length=1437" _USER_AGENT="Mozilla/4.05 [en] (X11; I; SunOS 5.5 sun4m)" _VIA="1.0 acache.deol.ru:3129 (Squid/2.3.STABLE1)" - proxy _X_FORWARDED_FOR="195.161.72.28" - proxy ="директории, в которых ищутся исполняемые программы" _STRING="" _ADDR="клиент или прокси" _PORT="39885" _METHOD="GET" _URI="/cgi-bin/printenv" _FILENAME=абсолютное имя файла" _NAME="логическое имя объекта" _ADDR="IP адрес" _ADMIN="почтовый адрес администратора сервера" _NAME="имя-определенное-по-IP" _PORT="80" _PROTOCOL="HTTP/1.0" _SIGNATURE="/1.3.12 Server at dual.deol.ru Port 80\n" _SOFTWARE="Apache/1.3.12 (Unix) rus/PL29.4"

Директивы модуля env: PassEnv имя-переменной ... (передаёт значение системной - установливается в момент запуска сервера - переменной окружения)SetEnv имя-переменной значениеUnsetEnv имя-переменной ...

Модуль setenvif позволяет устанавливать переменные в зависимости от характеристик запроса (директивы выполняются последовательно): BrowserMatch регулярное-выражение [!]имя-переменной[=значение] ... (установить переменную (в 1) или присвоить значение или удалить переменную в зависимости от заголовка запроса "User-Agent:")- сравнение без учёта регистра символовSetEnvIf имя-атрибута регулярное-выражение [!]имя-переменной[=значение] ... (установить переменную (в 1) или присвоить значение (может содержать $1-$9 как значения подвыражения, см. PCRE) или удалить переменную в зависимости от значения атрибута:

имя поля заголовка запроса (например: Host, User-Agent, Referer, Accept-Language и др.), вместо имени поля можно указывать регулярное выражение_Host_Addr_Addr_Method (GET, POST и т.д.)_Protocol ("HTTP/0.9", "HTTP/1.1" и т.д.)_URI

имя переменной окружения, установленной предыдущими директивами SetEnvIf[NoCase]- сравнение без учёта регистра символов

Директива RewriteRule модуля rewrite имеет опцию установки переменной окружения.

Модуль unique_id уставливает "уникальное" для каждого запроса значение в переменную UNIQUE_ID.

Использование переменных в модулях:

модуль include (SSI) позволяет выводить значения переменных командой echo и использовать их для условного исполнения

модуль access позволяет управлять доступом, основываясь на значениях переменных

модуль log_config позволяет заносить значения переменных в журнал и принимать решения о записи вообще

модуль header позволяет добавлять поля в заголовок ответа, основываясь на значениях переменных

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

модуль rewrite может использовать различные варианты, основываясь на значениях переменных

Специальные переменные окружения, меняющие обработку запроса сервером: .0 (обрабатывать запрос в соответствии с протоколом HTTP/1.0)no-vary (не вставлять поле Vary в заголовок ответа)response-1.0 (выдавать ответ в формате HTTP/1.0)only-text/html (запретить использование модуля deflate для всех типов содержимого, кроме text/html)gzip (запретить использование модуля deflate для всех типов)language (модуль negotiation выбирает вариант, основываясь на этикетке языка, указанной в запросе)carefully (для доступа DAV Microsoft WebFolders)error-charset (сопроводительный текст перенаправления не помечается как ISO-8859-1)

 

2.2 Инсталляция web-сервера Apache

 

.2.1 Сборка web-сервера Apache

Требования, необходимые для успешной сборки сервера:

Дисковое пространство

На диске должно быть как минимум 50 Mб свободного места для временных файлов. После установки Apache занимает приблизительно 10 Mб. Точный размер занимаемого места будет зависеть в основном от выбранной конфигурации и дополнительно устанавливаемых модулей, не входящих в дистрибутив Apache.C компилятор и необходимая среда сборки

В вашей системе должен присутствовать ANSI-C компилятор. Рекомендуется использовать GNU C компилятор (GCC) от Free Software Foundation (FSF) (версии 2.7.2 вполне достаточно). Также стоит убедиться в том, чтобы в переменной окружения PATH был указан каталог, содержащий основные утилиты, необходимые для сборки (make и другие).

Синхронизация времени

В некоторых заголовках HTTP протокола указывается время. Поэтому необходимо, чтобы в системе присутствовало средство синхронизации времени. Обычно для этих целей используются программы ntpdate или xntpd, основанные на сетевом протоколе синхронизации времени (Network Time Protocol - NTP).

Загрузка дистрибутиваможно загрузить со страницы загрузки Apache HTTP Software Foundation, на которой также приводится список некоторых зеркальных серверов. Пользователям, работающим на unix-подобных системах, рекомендуется собирать Apache из исходных кодов. Процесс сборки достаточно прост и позволяет настроить сервер под любые нужды.

Конфигурирование сборки

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

В предыдущих версиях Apache были две различные модели конфигурации сервера, каждая из которых развивалась отдельно. Первый метод - это использование текстового файла, контролирующего состав сборки сервера. А вторым стал autoconf-под?/p>