Установка и администрирование WWW -сервера

  • Вид работы:
    Реферат
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    90,32 kb
  • Опубликовано:
    2009-01-12
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Установка и администрирование WWW -сервера

Установка и администрирование WWW -сервера

3.1 Введение

3.2Общая часть
3.2.1 Назначение WWW - сервера. Общая схема работы. Определение
3.2.2Непосредственные функции сервера. Базовые определения
3.2.3Протокол MIME
3.2.4 Протокол HTTP
3.2.5Интерфейс CGI

3.3Сервер NCSA
3.3.1 Требования к ресурсам
3.3.2 Состав дистрибутива сервера NCSA. Варианты дистрибуции
3.3.3Процедура установки сервера NCSA
3.3.4 Конфигурационные файлы. Режимы работы сервера
3.3.5 Выполнение основных операций администрирования
3.3.5.1 Контроль работоспособности сервера
3.3.5.2 Обработка журналов
3.3.5.3Управление доступом
3.3.6 Поддержка русскоязычных кодировок

3.1 ВВЕДЕНИЕ

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

3.2 ОБЩАЯ ЧАСТЬ

3.2.1 Назначение WWW - сервера. Общая схема работы. Определение

WWW сервер - это такая часть глобальной или внутрикорпоративной сети, которая дает возможность пользователям сети получать доступ к гипертекстовым документам, расположенным на данном сервере. Для взаимодействия с WWW сервером пользователь сети должен использовать специализированное программное обеспечение - броузер (от англ. browser), другое название - программа просмотра.

Схема работы

Рассмотрим более подробно, чем в предыдущих главах, схему работы WWW-сервера. В общем виде она выглядит так:

  1. Пользователь сети запускает пакет программного обеспечения, называемый броузером, в функции которого входит
    • Установление связи с сервером
    • Получение требуемого документа
    • Отображение полученного документа
    • Реагирование на действия пользователя - доступ к новому документу
    • После запуска броузер по команде пользователя или автоматически устанавливает связь с заданным WWW - сервером и передает ему запрос на получение заданного документа (см рис.3-1).

  1. WWW сервер ищет запрашиваемый документ и возвращает результаты броузеру (см. рис. 3-2).

  1. Броузер, получив документ, отображает его пользователю и ожидает его реакции. Возможные варианты:
    • Ввод адреса нового документа
    • Печать, поиск, другие операции над текущим документом
    • Активизация (нажатие) специальных зон полученного документа, называемых связями (link) и ассоциироваными с адресом нового документа.

В первом и третьем случае происходит обращение за новым документом.

Адрес

Как было описано в главе 2, адрес документа указывается в виде специальной строки, называемой URL. Для протокола HTTP, используемого при взаимодействии WWW клиента и WWW сервера, URL состоит из следующих компонент:

  1. Наименование протокола, по которому работает сервер (http).
  2. Имя машины - сервера в Internet или ее IP - номер.
  3. Порт TCP, обращение к которому обрабатывает сервер.
  4. Место (путь) документа на машине - сервере.

Например:
#"65506.files/image003.gif">

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

Таблица 3-1

Компьютер

Операционная Система

IBM PC

  • Unix (UnixWare, Open Server, Solaris, BSD, Linux и т.д.
  • Microsoft Windows NT
  • IBM OS/2
  • Novell NetWare

Sun SparcStation и SparcServer

  • SunOS
  • Solaris

Silicon Graphics

IRIS

3.2.2 Непосредственные функции сервера. Базовые определения

В простейшем случае гипертекстовый документ представляет собой совокупность файлов. Представление этих файлов как единого документа производится броузером. По каждому файлу документа броузер делает запрос к WWW - серверу. Таким образом, сервер не имеет представления о структуре и составе документов, он отвечает только за выдачу локальных файлов по запросам.

На различных платформах, в различных операционных системах пути файлов выглядят по разному.

Например:
D:\DOCUMENTS\HTML\INDEX.HTM - в Windows,
/u/data/www/html/index.html - в Unix - системах,
USR:WWW/HTML - в NetWare и т.д.

Путь файла, указываемый в URL, имеет стандартный вид:

/<имя_каталога>/ ... /<имя_каталога>/<имя_файла>

Таким образом, в функции WWW - сервера входит преобразование адреса из внешнего единого формата в платформенно ориентированный внутренний формат. Появляется ряд понятий, специфичных для такого преобразования, необходимых для него.

  1. Исходный каталог документов

Это каталог реальной файловой системы сервера, от которого идет вычисление пути, указанного в URL.

Например, если исходным каталогом документов является D:\Documents\HTML\, то на запрос к этому серверу документа по URL

#"../../../bibl_temp_new/Программированиестатьи_и_учебникиИнформационные_технологии_WWW_для_доступа_к_БД%22%20l">об управлении доступом).

Пример:

AccessFileName .htaccess

3.3.5 Выполнение основных операций администрирования

3.3.5.1 Контроль работоспособности сервера

Проверка работоспособности сервера может осуществляться различными способами. На Unix - платформе, в режиме standalone, можно посмотреть список процессов, выделив среди них процессы с именем httpd:

# ps -aef | grep httpd
root 28816 1 0 Nov 14 ? 7:42 /usr/local/sbin/httpd
nobody 28817 28816 0 Nov 14 ? 5:50 /usr/local/sbin/httpd
nobody 28818 28816 0 Nov 14 ? 5:32 /usr/local/sbin/httpd
nobody 28819 28816 0 Nov 14 ? 4:49 /usr/local/sbin/httpd
nobody 28820 28816 0 Nov 14 ? 5:24 /usr/local/sbin/httpd
nobody 28821 28816 0 Nov 14 ? 5:42 /usr/local/sbin/httpd
root 19150 19145 0 14:57:58 pts/4 0:00 grep httpd
#

Мы увидим несколько процессов, у одного из которых собственником является root, а у других - пользователь, определенный параметром User главного конфигурационного файла (ГКФ). Процесс с собственником root запускается первым. Он контролирует работу остальных процессов - серверов. По использованному процессорному времени (колонка 8 примера) можно судить о загруженности серверов.

Если сервер работает в режиме inetd или необходимо проверить работоспособность сервера извне, нужно выполнить команду telnet, указав ей имя машины - сервера и номер порта. После установления соединения наберите команду GET /. Сервер должен выдать содержимое корневого каталога документов или индексного файла, находящегося в этом каталоге. Номер порта обычно равен 80. В режиме standalone он определяется параметром Port ГКФ. Для режима inetd он определяется парой файлов - services и inetd.conf, определяющих соответствие между входными tcp - портами и сервисами Unix.

Например:

$ telnet www.cnit.nsu.ru 80
Trying 193.124.209.70...
Connected to Indy.
Escape character is '^]'.
GET /
<HTML>
<HEAD>
<TITLE>Novosibirsk Center of New Information Technologies</TITLE>
</HEAD>
<BODY
. . .
</BODY>
</HTML>
Connection closed by foreign host.
$

3.3.5.2 Обработка журналов

Время от времени возникает необходимость уменьшить размер файлов статистики путем их удаления или переноса в другое место. Если сервер находится в режиме inetd, можно свободно удалять и переносить файлы статистики. Они снова создадутся по указанным в ГКФ путям. Если же сервер работает в режиме standalone, эти файлы постоянно открыты процессами - серверами. Удаление или перенос их не освободят место на диске и не приведут к созданию новых файлов. Для корректной работы с журналами в этом случае, необходима остановка работы сервера. Необходимо "убить" процессы - серверы, перенести файлы журналов и перезапустить сервер. "Убить" процессы - серверы можно послав команду kill процессу с номером, указанном в файле PidFile (см. параметры ГКФ). Пример последовательности команд для выполнения такой операции:

kill `cat /usr/local/etc/httpd/logs/httpd.pid`
mv /usr/local/etc/httpd/logs/*.log /otherdir
/usr/local/sbin/httpd

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

Управление доступом с использованием пар имя/пароль

Для введения ограничений на доступ ко всем документам определенного каталога необходимо создать в этом каталоге файл управления доступом. Этот файл имеет фиксированное имя, определяемое параметром AccessFileName файла конфигурации доступа. По умолчанию, это файл .htaccess.

Пример содержимого файла .htaccess

AuthUserFile /otherdir/.htpasswd
AuthGroupFile /dev/null
AuthName ByPassword
AuthType Basic

<Limit GET>
require user pumpkin
</Limit>

AuthUserFile указывает путь файла паролей, который должен находиться вне данного каталога.

Limit GET ограничивает доступ по методу GET, предоставляя его только пользователю pumpkin. Для ограничения других методов доступа (например, в каталогах CGI) используется перечисление всех методов:

<Limit GET POST PUT>
require user pumpkin
</Limit>

Для создания файла паролей необходимо воспользоваться утилитой htpasswd, входящей в состав дистрибутива сервера:

htpasswd -c /otherdir/.htpasswd pumpkin

После запуска она дважды запросит пароль для пользователя pumpkin и создаст файл паролей /otherdir/.htpasswd.

Использование нескольких пар имя/пароль

Использование нескольких пар имя/пароль достигается путем описания группы, в которую входят несколько пользователей, и указания имени группы в операторе Limit.

  1. Необходимо создать несколько записей в файле паролей. Этого можно достичь, не указывая ключа -c (create) для htpasswd:

htpasswd /otherdir/.htpasswd peanuts
htpasswd /otherdir/.htpasswd almonds
htpasswd /otherdir/.htpasswd walnuts

  1. Создать файл описания группы, назвав его, например, /otherdir/.htgroup со следующим содержимым:

my-users: pumpkin peanuts almonds walnuts

где my-users - имя группы,

pumpkin, peanuts, almonds, walnuts - список пользователей, входящих в группу.

  1. Изменить файл .htaccess следующим образом:

AuthUserFile /otherdir/.htpasswd
AuthGroupFile /otherdir/.htgroup
AuthName ByPassword
AuthType Basic
<Limit GET>
require group my-users
</Limit>

Все документы данного каталога будут доступны всем членам группы my-users после проведения процедуры аутентификации (ввода пароля).

Ограничение доступа по сетевому имени

В этом случае управление доступом осуществляется на основе сравнения сетевого имени машины - клиента с заранее заданным образцом. Если выявится совпадение, начинают действовать специальные правила доступа.

Содержимое файла .htaccess:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName ExampleAllowFromCNIT
AuthType Basic

<Limit GET>
order deny, allow
deny from all
allow from .cnit.nsu.ru
</Limit>

Оператор order указывает порядок определения требований к доступу:

сначала ограничения, затем разрешения.

deny from all - сначала запрещает доступ для всех,

allow from .cnit.nsu.ru - затем разрешает доступ для машин домена cnit.nsu.ru.

Оператор AuthName задает имя данного ограничения доступа - произвольную комбинацию букв и цифр.

Пример запрета на доступ для всех машин домена nstu.nsk.su:

Содержимое файла .htaccess:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName ExampleAllowFromCNIT
AuthType Basic

<Limit GET>
order allow, deny
deny from .nstu.nsk.su
allow from all
</Limit>

3.3.6 Поддержка русскоязычных кодировок

Исторически сложилось, что в России распространены несколько русскоязычных кодировок, в основном ориентированных на разные платформы. Наиболее известные из них:

  • КОИ - 8 8 - битовая кодировка по ГОСТ
  • Microsoft Code Page 866 ("Альтернативная") - кодировка, используемая в MS-DOS
  • ISO-8859-5 - кодировка, утвержденная международной организацией по стандартизации
  • Microsoft Code Page 1251 ("Windows") - кодировка, используемая в Microsoft Windows.

Специалисты утверждают что всего в России имеют хождение 11 кодировок русского алфавита.

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

Сложности возникают, когда Вы захотите расширить круг клиентов сервера. Вам необходимо будет организовать поддержку нескольких кодовых страниц для русскоязычных документов. Приведенный выше список из четырех кодировок удовлетворит более 99% всех возможных абонентов сервера.

Вообще говоря, в составе языка HTML имеются теги, определяющие кодировку документа и должные позволить корректно прочитать документ в любой кодировке. Однако в связи с тем, что эти теги не поддерживаются ни одним из известных броузеров, надеяться на них не стоит. Возможно, в будущем эта ситуация изменится, и проблема с кодировками будет решена.

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

  • использование файлов - копий одного документа в разных кодировках
  • динамическое преобразование документов из кодировки, в которой они лежат на сервере, в кодировку, поддерживаемую WWW - клиентом.

В первом случае, на сервере физически присутствуют все файлы во всех поддерживаемых кодировках. Документы в различных кодировках отличаются между собой по правилам образования путей и имен.

Например:
indexw.html, indexa.html - добавление суффиксов, определяющих кодировку. Или

.../koi8/index.html, .../win/index.html - различные базовые каталоги для разных кодировок.

При этом выделяется одна мастер - кодировка, в которой новые документы располагаются на сервере, а все остальные варианты документов получаются после работы специальной программы - перекодировщика. Программа - перекодировщик может запускаться вручную - администратором WWW сервера или автоматически, с использованием команд cron, at.

Во втором случае, доступ к документам осуществляется через дополнительную программу - перекодировщик, динамически перекодирующую документы сервера в кодировку WWW - клиента. Эта программа может быть CGI - программой, через которую всегда осуществляется доступ к русскоязычной части сервера. На вход такой программе передается реальный путь документа и кодировка WWW - клиента, в которую нужно перекодировать указанный документ (см. рис. 12.1)

Программа - перекодировщик может также располагаться между WWW - клиентом и сервером (см.рис.12.2). В таком варианте она называется PROXY.

Однако здесь возникает проблема с перекодировкой всех данных, включая графику, видео, аудио и других нетекстовых материалов. Для ее решения PROXY придается дополнительный интеллект - определять тип передаваемых данных по заголовку MIME и решать, перекодировать документ или нет, на основе его типа. Программы - перекодировщики с различными кодировками обрабатывают обращения к разным портам tcp сервера. Клиенту работа с PROXY видна в URL.

Например:
http://www.nsu.ru:80/index.html - для кодировки КОИ-8,
http://www.nsu.ru:8000/index.html - для кодировки ISO-8859-5 и т.д.

Похожие работы на - Установка и администрирование WWW -сервера

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!