Смекни!
smekni.com

Установка и администрирование WWW -сервера (стр. 2 из 4)

Для ведения специфичной обработки файлов различных типов и форматов на клиентской и серверной частях поддерживаются списки соответствий типов MIME и расширений файлов. Формат записи такого списка:

<Тип>/<Подтип><расширение1> ... <расширениеN>

Эти списки сопоставляют всем файлам, имеющим определенные расширения, определенные типы MIME.

Например:
image/giff gif giff
text/html html htm

В первой строке всем файлам с расширением gif и giff приписывается тип содержимого image/giff. Если для типа содержимого image/giff определены специальные правила обработки (например, отображение на экране в определенной области), то так будут обрабатываться все файлы с расширениями gif и giff.

3.2.4 Протокол HTTP

Протокол HTTP определяет язык запросов от WWW - клиента к WWW - серверу. Сам запрос состоит из следующих компонент:

<Заголовок>
<Метод> <Источник / Данные>

где
Заголовок - определяет версию протокола HTTP и другие служебные параметры;
Метод - одно из ключевых слов:
GET - для передачи запросов на выдачу документов
PUT, POST - для передачи данных от клиента к серверу (например, из форм)

Пример запроса:
HTTP/1.1
GET /index.html

Описывает запрос на получение файла index.html из корневого каталога документов сервера.

3.2.5 Интерфейс CGI

Помимо доступа к статическим документам сервера существует возможность получения документов как результата выполнения прикладной программы. Такая возможность реализуется на сервере WWW благодаря использованию интерфейса CGI (Common Gateway Interface). Спецификация CGI описывает формат и правила обмена данными между ПО WWW сервера и запускаемой программой.

Для инициирования CGI необходимо, чтобы в запрашиваемом URL был указан путь до запускаемой программы. ПО WWW сервера исполняет эту программу, передает ей входные параметры и возвращает результаты ее работы, как результат обработки запроса, клиенту. CGI - программой может являться любая программа локальной операционной системы сервера - в двоичном виде или в виде программы для интерпретатора (Basic, SH, Perl и т.д.).

С целью облегчения администрирования CGI - программ, а также для удовлетворения требованиям безопасности CGI - программы группируются в одном или нескольких явно указанных серверу каталогах. По умолчанию это каталог cgi-bin в иерархии серверных каталогов, однако, его имя и положение могут отличаться.

Например:
клиент, обращающийся к CGI - программе test-query, будет использовать URL http://<имя_сервера>/cgi-bin/test-query

Интерфейс CGI позволяет расширить границы применения WWW - технологии. CGI - программа может обрабатывать сигналы с датчиков установок, взаимодействовать с мощным сервером баз данных, переводить и т.п. Полное описание интерфейса и требований к приложениям, использующих его, приведены в главе 4 настоящего отчета.

3.3 СЕРВЕР NCSA

Национальный Центр по Суперкомпьютерным Приложениям (NCSA) Иллинойского университета стал второй организацией после ЦЕРН, интенсивно взявшейся за развитие WWW - технологии. Семейство ПО WWW - серверов NCSA прошло длинный путь развития. Последние версии поддерживают все современные возможности, включая виртуальные узлы, управление доступом, параллельную обработку запросов и т.п.

3.3.1 Требования к ресурсам

Программное обеспечение сервера NCSA представляет собой прикладное программное обеспечение, предназначенное для работы под ОС Unix. В зависимости от аппаратной платформы требуемый размер оперативной памяти и дискового пространства существенно изменяются. Для семейства "Unix для PC" (Solaris, SCO, UnixWare, Linux, BSD, BSDI), необходимо ориентироваться на 2 Mb оперативной памяти. Дисковое пространство, требуемое при установке, составляет около 2Mb, однако при планировании установки нужно учитывать, что при интенсивном доступе к серверу статистика доступа будет составлять до нескольких сот килобайт в день и нескольких десятков мегабайт в месяц.

3.3.2 Состав дистрибутива сервера NCSA. Варианты дистрибуции

Сервер NCSA поставляется как в виде исходных текстов, так и в виде исполняемых модулей для различных операционных систем. Распакованный дистрибутив размещается в каталоге httpd_<номер версии>-<модификация> где <номер версии> - версия программного обеспечения WWW сервера, <модификация> - модификация текущей версии.

Например:
httpd_1.5.1-export

В этом каталоге содержатся следующие файлы и подкаталоги:

README - текстовый файл для первоначального ознакомления. Содержит список всех значимых файлов и каталогов с объяснением их назначения.

COPYRIGHT - текстовый файл с описанием лицензионного соглашения на использование ПО WWW - сервера NCSA.

CHANGES - текстовый файл со списком изменений между различными версиями ПО сервера.

Makefile - файл верхнего уровня для утилиты make. Содержит список команд, которые необходимо выполнить для сборки и установки ПО WWW - сервера.

src - каталог с исходными текстами ПО сервера.

conf - каталог, содержащий примеры конфигурационных файлов ПО сервера.

icons - каталог, содержащий иконки, необходимые для работы сервера.

cgi-bin - каталог, содержащий примеры CGI - программ.

cgi-src - каталог, содержащий исходные тексты примеров CGI - программ.

support - каталог с программным обеспечением, не являющимся часью ПО сервера, но полезным при работе с ним.

3.3.3 Процедура установки сервера NCSA

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

aix3, aix4, sunos, sgi4, sgi5, hp-cc, hp-gcc, solaris, netbsd, svr4, linux, next, ultrix, osf1, aux, bsdi. Полный список поддерживаемых систем можно получить, выполнив команду make без параметров. Каждая аббревиатура ассоциирована с конкретной операционной системой. Появление дополнительных параметров после дефиса указывает на специфику конкретной конфигурации в одной и той же ОС. Например, hp-cc и hp-gcc указывают на общий тип ОС - HP-UX, однако ориентированы на использование разных компиляторов - базового C - компилятора (cc) или GNU C (gcc). Для сборки сервера под ОС UnixWare необходимо использовать команду make svr4.

Ряд основных параметров сервера - пути файлов, режимы работы задаются по умолчанию на этапе сборки. В случае, если нужна их корректировка под конкретные условия, необходимо отредактировать файл src/config.h.

После сборки сервера необходимо разместить его компоненты в файловой системе. Исполняемый модуль сервера httpd размещается в каталоге серверных программ - /usr/local/sbin или /usr/sbin. Файлы конфигурации, журналы и стандартные cgi-программы размещаются в подкаталогах каталога, определяемого параметром ServerRoot. Обычно это /usr/local/etc/httpd, однако его можно изменить либо изменив параметр HTTPD_ROOT файла src/config.h, либо указав ключ -d при запуске сервера.

Например:
/usr/local/sbin/httpd -d /var/httpd

В каталоге, определяемом параметром ServerRoot, размещаются три подкаталога:

  • conf/ - содержащий файлы конфигурации сервера
  • logs/ - содержащий журналы работы сервера
  • cgi-bin/ - содержащий стандартные cgi-программы, поставляемые с сервером.

3.3.4 Конфигурационные файлы. Режимы работы сервера

Главный файл конфигурации (ГКФ) сервера содержит все параметры, необходимые серверу для начала работы, а также пути других конфигурационных файлов. По умолчанию, главный файл конфигурации сервера находится в подкаталоге conf/ каталога и имеет имя httpd.conf. При запуске серверу можно указать другой путь, используя ключ -f.

Например:
/usr/local/sbin/httpd -f /etc/httpd.config

Ниже приведены параметры, указываемые в главном файле конфигурации сервера, с необходимыми пояснениями. Значения параметров отделяются от названия одним или несколькими пробелами или табуляциями. Если одному параметру соответствуют несколько значений, они разделяются запятыми.

Параметры запуска серверных процессов

    ServerType

Определяет способ запуска сервера:

ServerType inetd серверный процесс запускается в ответ на каждое обращение клиента через механизм inetd. После обработки запроса, сервер прекращает свою работу.

ServerType standalone серверный процесс запускается один раз и находится в состоянии ожидания запросов клиентов. После обработки запроса, сервер остается запущенным.

    Port

Определяет порт tcp, по которому сервер принимает запросы клиентов. Этот параметр используется только для сервера типа standalone. При механизме старта inetd порт определяется конфигурационным файлом сервера inetd - inetd.conf. Стандартный порт для WWW - сервера - 80.

Пример:
Port 80

    StartServers и MaxServers

Для режима standalone определяют количество процессов сервера при многопоточной обработке. StartServers - указывает число процессов сервера, создаваемых при запуске httpd. MaxServers определяет максимальное число одновременно работающих процессов сервера.

Пример:
StartServers 3
MaxServers 5

    TimeOut

Определяет время (в секундах), которое серверный процесс, запущенный в режиме standalone, будет ожидать повторного обращения клиента. По умолчанию используется 1200 секунд.

Пример:
TimeOut 3600

    User и Group

Определяют имя пользователя и группу, права которого получает сервер при запуске в режиме standalone. Изменение прав сервера производится с целью предотвращения доступа WWW - клиентов к файлам операционной системы, не являющимися общедоступными. Например:

User nobody

Group nobody

Информационные параметры для WWW - клиентов