46356 (665518), страница 2
Текст из файла (страница 2)
Например:
клиент, обращающийся к 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 - клиентов
-
ServerName
Определяет имя сервера, которое пересылается клиенту вместе с другими параметрами запроса. Используется в случае, если сервер имеет несколько имен (синонимов).
Например:
ServerName Indy.cnit.nsu.ru
-
ServerAdmin
Определяет адрес электронной почты администратора сервера. При возникновении каких - либо ошибок в работе сервера, он выдает клиенту сообщение с просьбой проинформировать о них администратора сервера по указанному Email.
Например:
ServerAdmin fancy@nsu.ru
Расположение необходимых файлов и каталогов
-
-
ServerRoot
Определяет местоположение каталога ServerRoot. По умолчанию, это /usr/local/etc/httpd или измененное значение параметра HTTPD_ROOT файла src/config.h.
Например:
ServerRoot /var/httpd
-
ErrorLog
Определяет местоположение файла - журнала ошибок, в который заносятся все сообщения об ошибках, возникающих в процессе работы сервера. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
ErrorLog logs/errlog
Журналом ошибок является файл /var/httpd/logs/errlog
-
TransferLog
Определяет местоположение файла - журнала доступа, в который заносятся данные обо всех передачах данных между WWW - клиентом и WWW - сервером. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
TransferLog logs/translog
Журналом доступа является файл /var/httpd/logs/translog
-
AgentLog
Определяет местоположение файла - журнала клиентов, в который заносятся данные о программном обеспечении, используемом WWW клиентами при доступе к данному серверу. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
TransferLog logs/agentlog
Журналом клиентского программного обеспечения является файл /var/httpd/logs/agentlog
-
RefererLog
Определяет местоположение файла в который записываются все факты обращений к данным сервера в виде ссылок от клиентов к данным. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
RefererLog logs/reflog
Журналом ссылок является файл /var/httpd/logs/reflog
-
PidFile
Определяет местоположение файла, хранящего номер процесса запущенного WWW - сервера. Используется для остановки работы сервера путем посылки сигнала командой kill. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
PidFile logs/httpd.pid
Номер процесса - сервера записывается при старте в файл /var/httpd/logs/httpd.pid
-
AccessConfig
Определяет местоположение файла управления доступом. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
AccessConfig conf/access.conf
-
TypesConfig
Определяет местоположение файла, содержащего список соответствий расширений файлов ОС типам MIME. По умолчанию используется файл conf/mime.types в каталоге, определяемом ServerRoot. Если не начинается с backslash (/), подразумевается путь относительно ServerRoot.
Например:
TypesConfig /etc/mime.types
-
CoreDirectory
Определяет местоположение каталога, в который записывается файл дампа памяти при возникновении сбоя.
Например:
CoreDirectory /tmp
Параметры протоколирования
-
LogOptions
Определяет, будут ли несколько протоколов записываться в один файл (Combined) или каждый будет записан в свой файл (Separate).
Например:
LogOptions Separate
-
RefererIgnore
Определяет имена серверов, обращения от которых не будут протоколироваться.
Например:
RefererIgnore Indy.cnit.nsu.ru
Другие режимы работы
-
DNSMode
Определяет интенсивность обращений WWW сервера к серверу имен Интернет. Minimum означает, что сервер будет обращаться к DNS только при необходимости проверить ограничения доступа по домену. Standard означает, что сервер будет обращаться к серверу имен каждый раз при обработке запроса клиента. Maximum означает, что сервер будет дважды обращаться к серверу имен при каждой обработке запроса.
Например:
DNSMode Standard
Процедура определения конфигурации сервера














