Администрирование Lotus Notes 4.1x и Lotus Domino 4.5

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


Сервер Domino представляет собой задачу

с именем HTTP, запускаемую на сервере Notes

и позволяющую

клиентам, оснащенным Web-броузерами, получать доступ как к информации из баз данных, находящихся на сервере Notes, так и к HTML-файлам, находящимся в каталогах компьютера сервера Notes. Принцип работы задачи HTTP был рассмотрен в 3.2.16, а здесь уделяется внимание вопросам настройки и эксплуатации этой задачи.

Вопросы разработки в Notes Web-приложений - баз данных,

ориентированных на доступ с использованием Web-броузеров - не рассматриваются в этой книге. Ответы на них вы сможете найти в базе данных Lotus Notes and the Internet (вид Printed Book, категория Chapter 11 Domino Application Developer's Information).

Задача HTTP загружается командой Load http, a завершается командой Tell http quit. Чтобы задача автоматически запускалась при старте сервера, ее имя следует внести в список задач в переменной ServerTasks в файле NOTES.INI. Статистика работы сервера Domino может быть получена командой консоли Show stat domino.

Секция HTTP Server документа Server

Основные настройки задачи HTTP задаются в секции HTTP Server из документа Server

в адресной книге. Рассмотрим, группа за группой, многочисленные поля этой секции.

Рис.  10.5  Группы полей Basics и Operational Information из секции HTTP Server

Группа полей Basics определяет, как сервер контактирует с Web-броузерами.



·        TCP/IP port number (по умолчанию 80). Задает номер порта, на котором сервер Domino должен "ожидать" запросы по протоколу HTTP. Стандартно для протокола HTTP используется порт 80. Не используйте значений, меньших чем 1024 (кроме стандартного 80), поскольку они зарезервированы для других прикладных программ TCP/IP. Если задается нестандартный номер порта, клиенты будут вынуждены явно задавать этот номер порта в URL. Например, URL http://domino.lotus.com:8080/ "запрашивает" начальную страницу с хоста domino.lotus.com, который "ожидает" запросы по протоколу HTTP на порту 8080. После изменения номера порта, чтобы эти изменения "вступили в силу", сервер Notes следует перезапустить.


·        TCP/IP port status (по умолчанию Enabled). Выбор Enabled разрешает серверу Domino обслуживать запросы по протоколу HTTP, а выбор Disabled - запрещает. Должно быть разрешено обслуживание запросов хотя бы по одному из двух возможных протоколов:

HTTP или HTTPS (SSL). Если обслуживание запрещено по обоим протоколам, Domino не сможет функционировать. Если Domino должен обслуживать запросы только по протоколу HTTPS (SSL), выберите в этом поле Disabled.

·        SSL port number (по умолчанию 443). Задает номер порта, на котором сервер Domino должен "ожидать" запросы по протоколу HTTPS (SSL). После изменения номера порта, чтобы изменения "вступили в силу", сервер Notes следует перезапустить.

·        SSL port status (по умолчанию Enabled). Выбор Enabled разрешает серверу Domino обслуживать запросы по протоколу HTTPS (SSL), а выбор Disabled - запрещает. Должно быть разрешено обслуживание запросов хотя бы по одному из протоколов HTTP или HTTPS (SSL).

·         Host name (по умолчанию пусто).

Поле должно содержать хост-имя компьютера, на котором установлен Domino. Это может быть любое хост-имя, которое определено для вашего компьютера на используемом DNS-сервере. Имя, указанное в поле, "возвращается" броузеру. Если ваш компьютер не имеет зарегистрированного на сервере DNS хост-имени, можно задать в этом поле IP-адрес вашего компьютера. Но при этом случае клиенты будут вынуждены задавать его IP-адрес в URL, например, http://194.220.133.11. Если вы оставляете поле Host name пустым, Domino будет использовать хост-имя, определенное в стеке протокола TCP/IP операционной системы.

·        DNS lookup (по умолчанию Disabled). Выберите Enabled, если требуется, чтобы сервер Domino выполнял поиск хост-имени каждого своего клиента, обращаясь к серверам DNS. Выбор Enabled несколько ухудшает эффективность работы сервера Domino, однако в протоколах работы сервера Domino будут содержаться хост-имена клиентов, а не IP-адреса, и в фильтрах протоколирования вы сможете использовать как маски на основе хост-имен клиентов, так и маски на основе IP-адресов клиентов. Если же выбрано Disabled, сервер Domino не обращается к серверам DNS для определения хост-имени клиента.



Выбор Disabled улучшает эффективность работы сервера Domino, однако в протоколах работы Domino будут содержаться только IP-адреса клиентов и в фильтрах протоколирования вы сможете использовать маски только на основе IP-адресов клиентов.

·        Default home page (по умолчанию default.htm). Если в качестве начальной страницы (home page) должен использоваться файл в формате HTML, укажите в этом поле имя этого файла. Тогда при обращении клиента к серверу Domino без явного указания нужной страницы Domino

будет просто загружать клиенту этот файл. HTML-файл должен располагаться в каталоге domino\HTML, а поле Home

URL (в группе полей Mapping) должно быть пустым. Если же в качестве начальной страницы должен использоваться документ About или навигатор из базы данных Notes, оставьте в этом поле значение по умолчанию, но в поле Home

URL укажите соответствующий URL, например, что-то подобное http://domino.lotus.com/domino.nsf?OpenDatabase для документа About или http://domino.lotus.com/domino.nsf/Main+Navigator?OpenNavigator

для навигатора.

·        Maximum active threads (по умолчанию 40). Задает максимально возможное количество параллельно работающих подпроцессов (thread's), порождаемых задачей HTTP. Если заданный максимум достигнут, сервер Domino "отказывается отвечать" на новые запросы, пока уже принятые им запросы не будут обслужены и исполнявшие их подпроцессы не освободятся. Чем более мощный компьютер используется в качестве сервера, тем и большее максимально возможное количество подпроцессов должно задаваться в этом поле. Однако выбор слишком большого значения может привести к излишней трате ресурсов компьютера на "прокачку страниц" между оперативной памятью и файлом страниц. На платформе Windows NT рекомендуется экспериментально исследовать этот вопрос с применением приложения Performance Monitor.

·        Minimum active threads (по умолчанию 20). Задает минимальное количество подпроцессов, всегда поддерживаемых задачей HTTP. Сервер Domino не будет закрывать подпроцессы "ниже этого минимума", даже если они неактивны, т.е. не обслуживают запросы. Подпроцессы же "сверх этого минимума" при переходе в неактивное состояние будут закрываться задачей HTTP



и открываться снова, когда это требуется.

Группа полей Operational Information управляет кэшированием, определяет используемый формат и стиль отображения графики, отображение видов и используемый набор символов.

Управление кэшированием.

·        Cache directory (по умолчанию domino\cache). Определяет каталог, который сервер Domino должен использовать для сохранения графических и присоединенных файлов. Когда клиент запрашивает страницу с элементами графики, Domino преобразует каждый графический элемент в файл соответствующего графического формата, передает файл клиенту и сохраняет копию файла в каталоге кэша. Если Domino получает другой запрос на ту же самую страницу, он уже передает клиенту соответствующие файлы непосредственно из кэша. То же самое происходит и с присоединенными файлами - будучи "отсоединенными" из документа Notes для передачи клиенту, они "попадают" в кэш, а откуда в течение некоторого времени могут повторно использоваться Domino. Если в поле указывается не полный путь, то считается, что он был задан относительно каталога данных Notes.

·        Garbage collection (по умолчанию Enabled) и Garbage collection interval (по умолчанию 60 минут). Чтобы не допустить "разрастания" кэша сверх максимального размера, рекомендуется разрешить (выбором значения Enabled в поле Garbage collection) периодическое выполнение сервером Domino процесса "уборки мусора". Процесс "уборки мусора" удаляет файлы из кэша, начиная с наименее часто используемых. Период, с которым запускается процесс "уборки мусора", запускается в поле Garbage collection interval.

·        Maximum cache size (по умолчанию 50 MB). Максимальное количество дискового пространства, доступного для кэша (в МБ). Размер кэша обычно остается ниже заданного максимума, но может иногда становиться и немного большим. Когда максимальный размер кэша достигнут, автоматически запускается процесс "уборки мусора". Если никакое значение не задано (поле Maximum cache size пустое), сервер Domino вообще не применяет кэширование.



·        Delete cache on shutdown (по умолчанию Disabled). Если выбрано Enabled, Domino будет "очищать кэш" при остановке сервера Notes. Если же выбрано Disabled, при перезапусках сервера Notes кэш будет сохраняться.

Формат и стиль отображения графики.

·        Image conversion format (по умолчанию GIF). Domino может преобразовывать графические элементы из форм и документов Notes или в формат GIF, или в формат JPEG. В зависимости от того, какой из форматов был выбран вами в данном поле, будут присутствовать или отсутствовать следующие поля.

·        (Выбран GIF) Interlaced rendering (по умолчанию Enabled). Если выбрано Enabled, Domino создает GIF-файлы в "чередуемом" формате. В GIF-файле "чередуемого" формата строки изображения сохранены не в обычной последовательности (строка за строкой от первой

до последней), а, например, вначале каждая восьмая строка изображения, затем каждая четвертая строка изображения, затем каждая вторая строка... Поэтому GIF-файл "чередуемого" формата в процессе загрузки в броузер отображается в окне броузера, как бы "приобретая все более и более четкие очертания". Поскольку глаз человека обладает свойством "восстанавливать" отсутствующие части изображения, у клиента создается впечатление, что загрузка изображения происходит быстро. Если же выбрано Disabled, Domino создает файлы GIF в обычном формате - такое изображение в окне броузера появляется "сверху вниз строка за строкой".

·        (Выбран JPEG) Progressive rendering (по умолчанию Enabled). Если выбрано Enabled, Domino создает JPEG-файлы в "прогрессирующем" формате. Броузеры обычно загружают и отображают JPEG-файл обычного формата за один проход. JPEG-файл в "прогрессирующем" формате загружается и отображается за несколько проходов: изображение в окне броузера с каждым проходом приобретает "все более и более четкие очертания". В результате клиент может "идентифицировать" возникающее изображение прежде, чем оно полностью загружено в броузер.



·        (Выбран JPEG) JPEG image quality (по умолчанию 75). Целое число в диапазоне от 5 до 100 (процентов), определяющее "качество изображения" в создаваемом Domino JPEG-файле. Большие значения - больший по размеру файл и лучшее качество изображения, малые значения - меньший по размеру файл, меньшее количество времени на загрузку, но более низкое качество изображения.

Отображение информации из вида и используемый набор символов.

·        Default lines per view (по умолчанию 30). Количество "линий" из вида в базе данных Notes, "показываемое" сервером Domino в броузере на один запрос. Учтите, что эта установка используется для всех баз на сервере.

·        Default character set group (по умолчанию Western). Набор символов, в котором HTML-текст будет предоставляться клиенту. Такой же набор символов должен поддерживаться и на компьютере клиента. Возможные варианты: Western, Central European, Japanese, Traditional Chinese, Simplified Chinese, Korean, Cyrillic, Greek, Turkish, Thai и Multilingual. Чтобы обеспечить поддержку русских букв, выбирают Cyrillic.

·        Character set mapping (по умолчанию Latin1). Сервер Domino использует заданный в поле Default character set group набор символов и заданную в поле Character set mapping (Рис.  10.6) таблицу кодов символов при создании HTML-текста для броузера. Выбор в поле Character set mapping зависит от выбора в поле Default character set group. Если Default character set group

= Cyrillic, в поле Character set mapping можно выбрать таблицы кодов символов ISO-8859-5, CP1251 или KOI8-R.



Рис.  10.6  Группы полей Mapping, Logging, Timeouts и Character Set Mapping из секции HTTP Server

Группа полей Mapping задает местоположение HTML-файлов для сервера Domino. Учтите, что на одном компьютере "под одним сервером Notes" может функционировать несколько виртуальных серверов Domino (рассматривается ниже). В этом случае для каждого виртуального сервера Domino информация из группы полей Mapping "перекрывается" аналогичной информацией из документов Virtual Server базы данных DOMCFG.NSF.



·        HTML directory (по умолчанию domino\html). Каталог для HTML-файлов. Если указан не полный путь, он "отсчитывается" относительно каталога данных Notes.

·        Home URL

(по умолчанию /?Open). Укажите URL документа About, навигатора или иного элемента из базы данных Notes, HTML-образ которых Domino должен возвращать, когда клиенты "входят на сервер", не указывая явно (например, http://domino.lotus.com) требуемый им каталог или страницу. Использование значения по умолчанию /?Open влечет отображение списка баз данных на сервере (как по File - Database - Open в клиенте Notes). Для документа About

из базы данных URL выглядит подобно http://domino.lotus.com/domino.nsf?OpenDatabase, для навигатора из базы данных подобно http://domino.lotus.com/domino.nsf/Main+Navigator?OpenNavigator. Полное же описание

синтаксиса URL, поддерживаемого сервером Domino, вы сможете найти в базе данных Lotus Notes and the Internet

(вид:

Printed Book, категория: Chapter 11 Domino Application Developer's Information, документ: About the Domino URL commands). Но если вы используете начальную страницу (home page) непосредственно в формате HTML, очистите поле Home URL и укажите имя HTML-файла в поле Default home page.

·        CGI URL path (по умолчанию /cgi-bin). Укажите URL-путь к каталогу программ CGI на сервере Domino. Этот путь, указываемый клиентом в URL.

·        CGI directory (умолчанию domino\cgi-bin). Каталог для программ CGI. Если указан не полный путь, он "отсчитывается" относительно каталога данных Notes.

·        Icon URL Path

(по умолчанию /icons). Укажите URL-путь к каталогу пиктограмм Domino. Этот путь, указываемый клиентом в URL. В большинстве случаев вы не должны изменить значения этого поля. Только если вы имеете собственный существующий каталог пиктограмм, укажите в поле URL-путь для доступа к этому каталогу.



·        Path to icons (по умолчанию domino\icons). Каталог пиктограмм. Если указан не полный путь, он "отсчитывается" относительно каталога данных Notes.

Группа полей Timeouts задает временные ограничения для контактов между сервером Domino и Web-клиентом.

·        Idle thread timeout (по умолчанию 0 минут). Интервал времени в минутах, в течение которого сервер Domino не должен закрывать неактивный подпроцесс. Подпроцесс становится неактивным после того, как он выполнил свой последний запрос. Если текущее количество подпроцессов больше, чем указано в поле Minimum active threads, и сервер Domino не использует некоторый подпроцесс в течение заданного интервала времени, сервер закрывает этот подпроцесс. Чтобы Domino вообще не закрывал неактивные подпроцессы, в поле задают значение 0.

·        Input timeout

(по умолчанию 2 минуты). Максимальное время в минутах с момента установления клиентом HTTP-соединения с сервером Domino до посылки клиентом запроса на ресурс (GET URL). Если клиент не посылает запрос за заданное время, сервер Domino разрывает HTTP-соединение с ним.

·        Output timeout

(по умолчанию 20 минут). Максимальное время в минутах, отводимое на передачу данных сервером Domino клиенту. По истечении этого времени сервер Domino "разрывает" HTTP-соединение с клиентом. Ограничение касается запросов на получение локальных файлов и информации из баз данных Notes, но не касается запросов, выполнение которых влечет запуск программ CGI.

·        CGI timeout

(по умолчанию 5 минут). Максимальное время в минутах, отводимое на работу программе CGI, запущенной сервером Domino. Когда отведенное время истекает, сервер Domino

посылает программе CGI сообщение. Затем, еще через пять минут, сервер Domino "уничтожает" эту программу.

Протоколирование обращений к серверу Domino



По каждому HTTP-запросу, выполняемому броузером, сервер Domino способен протоколировать следующую информацию:

с какого IP-адреса (или DNS-имени) поступил запрос, какой броузер использует клиент, какой URL использовался для доступа, сколько байт передано, какие ошибки (если были) сгенерированны программами CGI. Протоколируемая информация может быть сохранена или в текстовом файле, или в базе данных Notes с именем DOMLOG.NSF, или в обоих местах сразу. Протоколирование в базу данных Notes обычно более удобно, но оно требует привлечения несколько больших ресурсов компьютера, чем протоколирование в текстовый файл.

Чтобы установить протоколирование в базу Notes, создайте базу данных DOMLOG.NSF в каталоге данных Notes по шаблону Domino Web Server Log (DOMLOG.NTF). Чтобы установить протоколирование в текстовый файл, заполните поля Access Log

(каталог для файлов протокола доступа) и Error Log (каталог для файлов протокола ошибок) в секции HTTP server документа Server (Рис.  10.6). Если установлены оба способа протоколирования, Domino записывает информацию в оба места. Поле Time stamp определяет формат, в котором записывается время обращения. Поле No Log

может содержать список тех IP-адресов, DNS-имен (если выбрана опция DNS Lookup) или их шаблонов, доступ с которых не должен протоколироваться.

Действие поля No Log распространяется как на протоколирование в базу Notes, так и на протоколирование в текстовый файл.

Чтобы отказаться от протоколирования в базу DOMLOG.NSF, удалите эту базу. Чтобы отказаться от протоколирования в текстовые файлы, "очистите" поля Access Log и Error Log в секции HTTP server документа Server.

Секция Security документа Server

Рассмотрим поля из секции Security

документа Server, относящиеся к вопросам безопасности сервера Domino.



Рис.  10.7  Секция Security документа Server

·        Allow anonymous HTTP connections (по умолчанию Yes). Если в поле выбрано Yes, сервер Domino допускает анонимные HTTP-подключения. Каждый анонимный HTTP-клиент "будет фигурировать" на сервере под именем Anonymous. Доступ такого анонимного HTTP-клиента в каждой базе Notes определяется прежде всего списком управления доступом этой базы: как Anonymous или, если в ACL отсутствует имя Anonymous, как -Default-, но не выше максимального уровня доступа для HTTP-клиентов (Maximum internet brouser access). Если же в поле выбрано "No", сервер Domino вообще не допускает анонимных подключений. Тогда все HTTP-клиенты получают запрос на ввод имени и пароля при обращении к серверу Domino



и получают к нему доступ, только если они правильно указали имя и пароль, определенные для них в документе Person (пароль задается в поле с меткой HTTP Password:). В этом случае для "авторизованных" HTTP-клиентов уровень доступа для Anonymous

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

·        Allow HTTP clients to browse databases (по умолчанию Yes). Если в поле выбрано Yes, HTTP-клиенты, указав URL http://host-name/?OpenServer, смогут получить список баз данных на сервере Notes. Когда же выбрано No, HTTP-клиенты не смогут получить список имеющихся на сервере баз, но смогут открывать конкретные базы данных, если знают их имена файлов и имеют к ним доступ.

·        SSL key file (default=keyfile.kyr). Если сервер Domino сконфигурирован для SSL-транзакций, он может шифровать данные, передаваемые между сервером и HTTP-клиентом. Если такая возможность выбрана, в процессе шифрования используется указанный в данном поле файл.

Виртуальные серверы Domino (hosting multiple sites on one server)

На одном компьютере, "несущем" один сервер Notes

и одну задачу HTTP, может функционировать несколько виртуальных серверов Domino. Каждый виртуальный сервер Domino имеет собственные IP-адрес, Home URL, начальную страницу и каталоги HTML, CGI и Icons, но при этом структура каталога данных Notes для всех виртуальных серверов Domino остается одинаковой.

Подчеркнем, что каждый из виртуальных серверов Domino должен иметь свой собственный уникальный IP-адрес. Недостаточно иметь много DNS-имен, "отображенных" на один и тот же IP-адрес. Количество виртуальных серверов Domino

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

На сервере Notes создается база данных DOMCFG.NSF по шаблону Domino Configuration (DOMCFG.NTF). В этой базе для каждого "очередного" виртуального сервера Domino создается документ Virtual Server. Чтобы выполненные изменения "вступили в силу", перезапускают задачу HTTP. Таким образом, настройки для "первого" сервера Domino задаются в секции HTTP Server из документа Server, а настройки "очередных" получаются из настроек "первого" сервера Domino



заменой значений одноименных полей на значения из соответствующего документа Virtual Server.



Рис.  10.8  Документ Virtual Server

Обратите внимание, что в базе DOMCFG.NSF

имеются еще три могущие оказаться полезными формы для создания документов:

·        Mapping URL ®

Directory
- для перемещения каталогов HTML, CGI, images и других в новое местоположение без изменения URL, используемых клиентами для доступа к ним;

·        Mapping URL ®

URL
- для автоматической замены входящего URL на другой, соответствующий реальному местоположению на этом же HTTP-сервере;

·        Redirection URL ®

URL
- для автоматической замены входящего URL на другой, в том числе и расположенный на другом HTTP-сервере.


Содержание раздела