Глава 3. Установка и администрирование WWW -сервераЕвгений Фаддеенков 3.1 Введение 3.2Общая часть
3.3Сервер NCSA
3.1 ВВЕДЕНИЕ
Широкие возможности WWW - технологии по представлению пользователям
Internet информации, включая текст, картинки, графики, видео и звуковые дорожки,
обусловили процесс бурного роста сети WWW - серверов и Internet
в целом. Целью данного пособия является освещение технологии работы
и процессов установки и администрирования WWW - сервера, т.е.
той части сети, которая отвечает за предоставление гипертекстовой
информации по запросам пользователей сети. 3.2 ОБЩАЯ ЧАСТЬ3.2.1 Назначение WWW - сервера. Общая схема работы. ОпределениеWWW сервер - это такая часть глобальной или внутрикорпоративной сети, которая дает возможность пользователям сети получать доступ к гипертекстовым документам, расположенным на данном сервере. Для взаимодействия с WWW сервером пользователь сети должен использовать специализированное программное обеспечение - броузер (от англ. browser), другое название - программа просмотра.
Рассмотрим более подробно, чем в предыдущих главах, схему работы WWW-сервера. В общем виде она выглядит так:
В первом и третьем случае происходит обращение за новым документом.
Как было описано в главе 2, адрес документа указывается в виде специальной строки, называемой URL. Для протокола HTTP, используемого при взаимодействии WWW клиента и WWW сервера, URL состоит из следующих компонент:
Например:
Здесь http означает протокол работы с WWW - сервером
Из общей схемы работы видно, что функции WWW сервера заключаются в следующем:
В общем случае, WWW - сервером будем называть программно - аппаратный комплекс, предназначенный для выполнения вышеперечисленных действий.
В настоящее время все известные WWW - серверы представляют собой компьютер общего назначения с многозадачной операционной системой. Один или несколько процессов такой системы отвечают за поддержку специфических для WWW - сервера функций. Другие процессы ОС отвечают за обеспечение других функций, не обязательно связанных с поддержкой технологии WWW (см. рис. 3-3).
Такая структура приводит к тому, что под WWW сервером начинают подразумевать только часть программного обеспечения, единственными функциями которой являются функции WWW сервера, а остальную часть - компьютер, операционную систему, другие процессы, сетевую структуру называют средой работы WWW сервера или платформой. Ниже приведена таблица 3-1, содержащая список наиболее распространенных платформ для WWW - сервера. Таблица 3-1
3.2.2 Непосредственные функции сервера. Базовые определенияВ простейшем случае гипертекстовый документ представляет собой совокупность файлов. Представление этих файлов как единого документа производится броузером. По каждому файлу документа броузер делает запрос к WWW - серверу. Таким образом, сервер не имеет представления о структуре и составе документов, он отвечает только за выдачу локальных файлов по запросам. |
Определяет местоположение файла в который записываются все факты обращений к данным сервера в виде ссылок от клиентов к данным. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
Журналом ссылок является файл /var/httpd/logs/reflog Определяет местоположение файла, хранящего номер процесса запущенного WWW - сервера. Используется для остановки работы сервера путем посылки сигнала командой kill. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
Номер процесса - сервера записывается при старте в файл /var/httpd/logs/httpd.pid Определяет местоположение файла управления доступом. Если значение не начинается со slash (/), подразумевается путь относительно ServerRoot.
Например:
Определяет местоположение файла, содержащего список соответствий расширений файлов ОС типам MIME. По умолчанию используется файл conf/mime.types в каталоге, определяемом ServerRoot. Если не начинается с backslash (/), подразумевается путь относительно ServerRoot.
Например:
Определяет местоположение каталога, в который записывается файл дампа памяти при возникновении сбоя.
Например:
Параметры протоколирования
Другие режимы работы
Процедура определения конфигурации сервера После запуска основного серверного процесса сервер пытается открыть главный конфигурационный файл. Этот файл ищется по умолчанию в каталоге /usr/local/etc/http/conf с именем httpd.conf. Умолчание можно изменить при сборке системы редактированием файла src/config.h. За каталог отвечает параметр HTTPD_ROOT, за имя файла - параметр SERVER_CONFIG_FILE. Изменить значения по умолчанию можно при запуске сервера, указав ключи -h и-f (см. выше).
Местоположение файлов конфигурации доступа, документов, типов
MIME, а также файлов журналов сервер получает из главного конфигурационного
файла. Если каких - либо параметров там нет, их значения берутся
по умолчанию (см. src/config.h). Конфигурация ресурсов
Расположение файлов данных, их интерпретация сервером и поведение
сервера при обращении к разным типам файлов определяются параметрами
файла конфигурации ресурсов. Ниже приведен список основных параметров
с пояснениями.
3.3.5 Выполнение основных операций администрирования3.3.5.1 Контроль работоспособности сервераПроверка работоспособности сервера может осуществляться различными способами. На Unix - платформе, в режиме standalone, можно посмотреть список процессов, выделив среди них процессы с именем httpd:
#
ps -aef | grep httpd
Мы увидим несколько процессов, у одного из которых собственником является root, а у других - пользователь, определенный параметром User главного конфигурационного файла (ГКФ). Процесс с собственником root запускается первым. Он контролирует работу остальных процессов - серверов. По использованному процессорному времени (колонка 8 примера) можно судить о загруженности серверов. Если сервер работает в режиме inetd или необходимо проверить работоспособность сервера извне, нужно выполнить команду telnet, указав ей имя машины - сервера и номер порта. После установления соединения наберите команду GET /. Сервер должен выдать содержимое корневого каталога документов или индексного файла, находящегося в этом каталоге. Номер порта обычно равен 80. В режиме standalone он определяется параметром Port ГКФ. Для режима inetd он определяется парой файлов - services и inetd.conf, определяющих соответствие между входными tcp - портами и сервисами Unix. |
Оператор AuthName задает имя данного ограничения доступа - произвольную комбинацию букв и цифр. Пример запрета на доступ для всех машин домена nstu.nsk.su: Содержимое файла .htaccess:
AuthUserFile /dev/null
3.3.6 Поддержка русскоязычных кодировокИсторически сложилось, что в России распространены несколько русскоязычных кодировок, в основном ориентированных на разные платформы. Наиболее известные из них:
Специалисты утверждают что всего в России имеют хождение 11 кодировок русского алфавита. Если Ваш WWW сервер ориентирован на использование внутри организации или его пользователями будет являться ограниченный круг людей с однотипными рабочими местами, Вы можете ограничиться одной кодировкой русскоязычной информации на сервере. Сложности возникают, когда Вы захотите расширить круг клиентов сервера. Вам необходимо будет организовать поддержку нескольких кодовых страниц для русскоязычных документов. Приведенный выше список из четырех кодировок удовлетворит более 99% всех возможных абонентов сервера. Вообще говоря, в составе языка HTML имеются теги, определяющие кодировку документа и должные позволить корректно прочитать документ в любой кодировке. Однако в связи с тем, что эти теги не поддерживаются ни одним из известных броузеров, надеяться на них не стоит. Возможно, в будущем эта ситуация изменится, и проблема с кодировками будет решена. Для поддержки нескольких кодовых страниц применяется множество методов, которые можно разбить на две группы:
|