Мыкола Буряк
Lotus Notes на Windows 2K в *NIX-домене
Хотите разместить на home персональные файлы пользователей Lotus Notes? И при этом сохранить полную функциональность клиента? Ищете простой переход на безопасную схему? Тогда эта статья для вас!
Во многих крупных организациях стандарт де-факто для групповой работы в локальной, распределенной и глобальной сетях – комплексное решение Lotus Notes и Domino корпорации IBM. C момента появления первой версии Notes в конце 1989 года миллионы пользователей используют Lotus Notes и Domino как базовую корпоративную коммуникационную инфраструктуру для коллективного взаимодействия и совместного использования информационных ресурсов.
Требования к серверной части [2]
Платформа
|
Windows 2000
|
Windows NT
|
Windows 2003
|
AIX
|
Linux
|
Solaris
|
Поддерживаемые ОС
|
Windows 2000 Server;
Windows 2000 Advanced Server
|
Windows NT4 Intel
|
Windows 2003 Server Standard Edition;
Windows 2003 Server Enterprise Edition
|
AIX 5.1;
AIX 5.2;
AIX 5.3
|
Red Hat Enterprise Linux 2.1;
Red Hat Enterprise Linux 3.0;
SUSE LINUX Enterprise Server 8.0;
UnitedLinux 1.0;
Powered by UnitedLinux 1.0
|
Solaris 8;
Solaris 9
|
Поддерживаемые процессоры
|
Intel Pentium
|
PowerPC, POWER,
POWER2, POWER3 RS64,
POWER5
|
Intel x86
|
UltraSPARC and newer
|
ОЗУ
|
128 Мб минимум, рекомендуется
192 Мб или больше
|
256 Мб минимум
|
192 Мб минимум, рекомендуется
256 Мб или больше
|
128 Мб минимум, рекомендуется 192 Мб или больше
|
192 Мб минимум, рекомендуется
256 Мб или больше
|
Дисковое пространство
|
1 Гб минимум, рекомендуется 1.5 Гб или больше
|
1 Гб минимум, рекомендуется 1.5 Гб или больше
|
Дисковое пространство
для SWAP
|
В 2 раза больше физического ОЗУ
|
В 3 раза больше физического ОЗУ
|
Требования к клиентской части
Платформа
|
Windows 98
|
Windows 2000/ Windows XP
|
Windows NT
|
Поддерживаемые ОС
|
Windows 98
|
Windows 2000 Professional;
Windows XP Professional
|
Windows NT4 Workstation
|
Поддерживаемые процессоры
|
Intel Pentium
|
ОЗУ
|
64 Мб минимум, рекомендуется
256 Мб или больше
|
128 Мб минимум, рекомендуется
256 Мб или больше
|
64 Мб минимум, рекомендуется
256 Мб или больше
|
Дисковое пространство
|
Необходимо 275 Мб
|
Сегодня семейство клиент-серверных приложений Lotus Notes и Domino входит в число ведущих программных продуктов в отрасли, и многие компании считают это ПО основой для эффективной и продуктивной работы.
Приведу ориентировочные цены на некоторые продукты Lotus Software. Стоимость одной лицензии IBM Lotus Domino Messaging Server с поддержкой в течение 12 месяцев составляет 1225 долларов США за один процессор [3]. Стоимость одной лицензии IBM Lotus Notes with messaging с поддержкой в течение 12 месяцев составляет 96,11 доллара США. Минимальное количество клиентских лицензий ограничено в 100 единиц.
Стандартные возможности
Теперь перейдем к настройке многопользовательской среды на базе *NIX/Windows для оптимального функционирования Lotus Notes.
Пусть на рабочих станциях будет установлена ОС из линейки Windows, например, Windows 2K/XP, с клиентом версии Lotus Notes 6.5.х. Рабочие станции входят в домен под управлением *NIX-системы, с установленной SAMBA версии 2.2.x в том числе. Все пользователи имеют учетные записи и бюджет на доменном *NIX-сервере. Каждому предоставлен сетевой диск (home) и загрузочный bat-фалы (логонные скрипты). Также есть физически удаленный сервер Lotus Domino версии 6.5.х.
Для многопользовательской среды, когда за одним компьютером работают несколько пользователей, т.е. нет закрепленного рабочего места за каждым пользователем, предусмотрен такой вид инсталляции Lotus Notes, как multi-user install [4]. Этот вид установки предназначен только для Windows-систем и позволяет каждому пользователю сохранять свои персональные рабочий стол, адресную книгу, свойства и др. всегда обновленными. Программные файлы инсталлируются в общую директорию, например, в C:LotusNotes, а персональные файлы пользователей, включая конфигурационный notes.ini, хранятся в директории C:Documents and SettingsLocal SettingsApplication DataLotusNotesData. Если в конфигурации доменного *NIX-сервера нет возможности активизировать функцию записи поддиректории Local Settings вместе с профайлом пользователя на доменный сервер, а количество пользовательских файлов Lotus Notes и соответственно их объем остаются неограниченными, то данный вид инсталляции теряет свою функциональность. В гетерогенной среде *NIX/Windows всегда имеется большая вероятность частичной потери или повреждения профайла пользователя при загрузке и выгрузке профиля на рабочую станцию и с неё.
Картина будет неполной, если я не упомяну такой вид пользователя, как Roaming User. Чтобы перевести обычных пользователей в роуминг-пользователей, выберете на сервере Lotus Domino нужных вам пользователей и активизируйте им опцию Roaming User (см. рис. 1). Последнее позволит серверу Lotus Domino осуществлять и контролировать копирование персональных файлов пользователя Lotus Notes с рабочей станции каждого пользователя на серверы Lotus Domino и обратно. Роуминг-пользователи могут работать только с клиентом, установленным как multi-user install. Отмечу, что при конфигурации Roaming User копируются только базовые персональные настройки пользователя, что ограничивает функциональность Lotus Notes. Также к недостаткам можно отнести то, что ощутимо возрастает трафик между рабочими станциями и сервером. В случае когда количество пользователей несколько сотен человек, а пропускная способность канала весьма ограничена, то указанный вариант становится непрактичным.
Рисунок 1. Активация опции Roaming User на сервере Lotus Domino
Тонкая настройка
Явный вариант решения нашей задачи – разместить персональные файлы Lotus Notes на сетевых дисках пользователей. При этом в настройках Lotus Notes нужно прописать путь к персональным файлам. В домене, основанном на Active Directory, указанный выше вариант будет беспрепятственно работать без каких-либо ограничений [5]. При реализации этого решения в нашем сценарии *NIX-сервер будет блокировать множество сетевых запросов клиента Lotus Notes к персональным файлам пользователей. Вследствие этого корректное функционирование клиента Lotus Notes будет проблематичным или клиент вообще откажет в работе. Поэтому предлагаю схему настройки Lotus Notes и Domino в данной многопользовательской среде:
Учетные записи пользователей на сервере Lotus Domino настроены стандартным образом без активации опции Roaming User. На каждой рабочей станции устанавливается стандартный вид инсталляции для одного пользователя в директорию C:\Lotus\Notes. Далее необходимо на каждую рабочую станцию скопировать cmd- и vbs-скрипты в стандартную директорию Logoff-скриптов %windir%\system32\GroupPolicy\User\Scripts\Logoff и активировать только vbs-скрипт через оснастку Scripts(Logon/Logoff) Group Policy в Microsoft Management Console (MMC) (см. рис. 2).
logoff_script.vbs
set WSHShell = CreateObject("WScript.Shell")
WSHShell.Run "cmd /c lotus_copy.cmd",0
WScript.Sleep 5000
lotus_copy.cmd
xcopy "C:\Lotus\Notes\Data\cluster.ncf" "H:\Lotus\Notes\Data\" /d /c /h /r /y
xcopy "C:\Lotus\Notes\Data\jobsched.njf" "H:\Lotus\Notes\Data\" /d /c /h /r /y
xcopy "C:\Lotus\Notes\Data\pid.nbf" "H:\Lotus\Notes\Data\" /d /c /h /r /y
xcopy "C:\Lotus\Notes\Data\headline.nsf" "H:\Lotus\Notes\Data\" /d /c /h /r /y
xcopy "C:\Lotus\Notes\Data\desktop6.ndk" "H:\Lotus\Notes\Data\" /d /c /h /r /y
Рисунок 2. Активация vbs-скрипта на рабочей станции
Logoff_script.vbs в невидимом окне вызывает пакетный файл lotus_copy.cmd. После чего происходит задержка на 5 секунд для того, чтобы успел выполниться lotus_copy.cmd.
Lotus_copy.cmd при отключении пользователя с рабочей станции копирует часть персональных файлов на сетевой диск, например H:\.
На общедоступном ресурсе размещаем папку new_lotus, в корне которой находятся файлы logon_lotus.cmd, lotus_save_lite.cmd и lotus_notes_6_5.lnk.
Logon_lotus.cmd – пакетный файл, вызываемый из загрузочных bat-файлов каждого пользователя на доменном *NIX-сервере, копирующий файлы Lotus Notes с диска H:\ на C:\.
logon_lotus.cmd
xcopy "H:\Lotus\Notes\Data\cluster.ncf" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\jobsched.njf" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\bookmark.nsf" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\desktop6.ndk" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\names.nsf" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\pid.nbf" "C:\Lotus\Notes\Data\" /c /h /r /y
xcopy "H:\Lotus\Notes\Data\headline.nsf" "C:\Lotus\Notes\Data\" /c /h /r /y
С помощью утилиты BK ReplaceEm [6] в каждый загрузочный bat-файл пользователя на доменном *NIX-сервере нужно вставить строку копирования Lotus Notes при логоне, например, «call z:\new_lotus\logon_lotus.cmd», где диск Z:\ –общедоступный сетевой ресурс.
Lotus_save_lite.cmd применяется для сохранения ярлыков, локальных групп рассылок и других редко изменяемых настроек Lotus Notes. Этот файл следует запускать только при выгруженном Lotus Notes.
lotus_save_lite.cmd
xcopy "C:\Lotus\Notes\Data\bookmark.nsf" "H:\Lotus\Notes\Data\" /c /h /r /y
xcopy "C:\Lotus\Notes\Data\names.nsf" "H:\Lotus\Notes\Data\ " /c /h /r /y
pause
Lotus_notes_6_5.lnk – десктопный ярлык для запуска оптимизированного Lotus Notes, поле Target, в котором принимается за «C:\lotus\notes\notes.exe "=H:\Lotus\Notes\notes.ini"». С помощью этого ярлыка Lotus Notes запускается так, что он работает напрямую с файлом конфигурации notes.ini, размещенным на диске H:\.
В директории new_lotus создаем поддиректорию maintenance, предназначенную для перевода новых пользователей на новую схему работы и для текущего обслуживания указанного ПО. Эта поддиректория содержит в себе такие файлы: del_lotus_c_id.cmd, new_copy_lotus_h.cmd, sed.exe с динамическими библиотеками и notes.ini.
Del_lotus_c_id.cmd – сбрасывает персональные настройки пользователя Lotus Notes на диске C:\ с удалением ключевого файла user.id, после чего можно настраивать клиент для нового пользователя.
del_lotus_c_id.cmd
del /f C:\Lotus\Notes\Data\cache.ndk
del /f C:\Lotus\Notes\Data\desktop6.ndk
del /f C:\Lotus\Notes\Data\cluster.ncf
del /f C:\Lotus\Notes\Data\jobsched.njf
del /f C:\Lotus\Notes\Data\names.nsf
del /f C:\Lotus\Notes\Data\bookmark.nsf
del /f C:\Lotus\Notes\Data\pid.nbf
del /f C:\Lotus\Notes\Data\user.id
echo a| xcopy z:\new_lotus\maintenance\notes.ini C:\Lotus\Notes\notes.ini
New_copy_lotus_h.cmd – копирование персональных файлов Lotus с диска C:\ на H:\ и модификация notes.ini. Модификация позволяет Lotus Notes напрямую работать с ключевым файлом пользователя user.id на диске H:\. С помощью этого командного файла можно переводить на предложенную схему работы как существующих пользователей, так и новых сразу же после стандартной настройки для них клиента Lotus Notes на диске C:\.
new_copy_lotus_h.cmd
cd /d H:\
md Lotus
cd Lotus
md Notes
cd Notes
md Data
echo f|xcopy C:\Lotus\Notes\Data\bookmark.nsf H:\Lotus\Notes\Data\bookmark.nsf
echo f|xcopy C:\Lotus\Notes\Data\cluster.ncf H:\Lotus\Notes\Data\cluster.ncf
echo f|xcopy C:\Lotus\Notes\Data\desktop6.ndk H:\Lotus\Notes\Data\desktop6.ndk
echo f|xcopy C:\Lotus\Notes\Data\headline.nsf H:\Lotus\Notes\Data\headline.nsf
echo f|xcopy C:\Lotus\Notes\Data\jobsched.njf H:\Lotus\Notes\Data\jobsched.njf
echo f|xcopy C:\Lotus\Notes\Data\names.nsf H:\Lotus\Notes\Data\names.nsf
echo f|xcopy C:\Lotus\Notes\Data\pid.nbf H:\Lotus\Notes\Data\pid.nbf
echo f|xcopy C:\Lotus\Notes\Data\user.id H:\Lotus\Notes\Data\user.id
echo f|xcopy C:\Lotus\Notes\notes.ini H:\Lotus\Notes\notes.ini
call z:\new_lotus\maintenance\del_lotus_c_id.cmd
z:\new_lotus\maintenance\sed.exe -e s/"KeyFilename=user.id" /"KeyFileName=H:\\Lotus\\Notes\\Data\\user.id"/ notes.ini > notes2.ini
xcopy /f notes2.ini notes.ini /c /r /y
del /f /q notes2.ini
cd \
pause
Sed.exe с динамическими библиотеками – потоковый редактор [7], позволяющий модифицировать содержимое notes.ini.
Notes.ini – базовый конфигурационный файл для настройки Lotus Notes под нового пользователя.
Таким образом, порядок установки выглядит следующим образом:
- Установите на все рабочие станции logoff-скрипты и через MMC (Group Policy) активируйте их на каждой из них.
- Разместите папку new_lotus на общедоступном сетевом ресурсе.
- С помощью утилиты BK ReplaceEm в каждом загрузочном bat-файле на сервере домена добавьте вызов logon_lotus.cmd.
- С помощью скриптов в папках new_lotus/maintenance переместите персональные файлы пользователей Lotus Notes на сетевой диск каждого из них.
Приведенная схема соответствует общепринятым нормам безопасности информационных систем и ни в чем не ограничивает работу клиента. Надеюсь, что информация найдет у вас практическое применение и избавит вас от бессонных ночей.
Приложение
Серверы и клиенты
Семейство продуктов Domino Server состоит из трех основных видов серверов [1]:
- IBM Lotus Domino Messaging Server – предназначен только для доступа к функциям обмена сообщениями и планирования Domino. Этот вид сервера предусматривает поддержку разбиения на разделы, позволяющую иметь несколько экземпляров серверов Domino на одном и том же физическом сервере.
- IBM Lotus Domino Enterprise Server – предоставляет все функции коллективной работы в Domino, а также функции обмена сообщениями и планирования. В дополнение к поддержке разбиения на разделы сервер Enterprise предусматривает поддержку кластеризации.
- IBM Lotus Domino Utility Server – предоставляет неограниченный доступ к основанным на Domino приложениям без лицензии клиентского доступа Client Access License (CAL). Такие приложения могут бать расположены на Intranet-, Extranet- или интернет-сайте и доступны как авторизованным, так и неавторизованным пользователям через клиент Notes или браузер.
Семейство продуктов Lotus Notes состоит из следующих клиентских мест:
- IBM Lotus Notes – сочетает в едином клиенте интегрированные функции электронной почты, календаря, группового планирования и управления информацией в Web. Данный вид клиента имеет широкий спектр инструментов для организации коллективной работы и обмена сообщениями.
- IBM Lotus Domino Web Access – предлагает удобные способы для получения доступа к базовым функциям Lotus Domino в области организации коллективной работы и обмена сообщениями, инструментам PIM через веб-браузер. В отличие от пользователей Lotus Notes, пользователям Lotus Domino Web Access требуется только стандартный веб-браузер.
- IBM Lotus Domino Access for Microsoft Outlook – предоставляет пользователям Microsoft Outlook 2000/2002 среду Domino, доступ к функциям электронной почты и календаря и к другим возможностям Lotus Domino, в том числе к полнотекстовому поиску.
- IBM Lotus Domino WebMail – предоставляет пользователям экономичный доступ (через веб-браузер) к функциям электронной почты и календаря Lotus Domino.
- IBM Lotus Workplace Messaging – помогает легко и без значительных затрат расширить корпоративную систему обмена сообщениями для охвата сотрудников, не имеющих собственного рабочего стола и доступа к электронной почте.
- IBM Lotus Software: http://www.ibm.com/ru/software/lotus.
- IBM Lotus Notes/Domino 6.5.5 Release Notes: http://www-10.lotus.com/ldd/notesua.nsf.
- eQuality Solutions: продукты IBM/Lotus: http://www.equality.ru/products-ibm.shtml.
- Tommi Tulisalo, Edwin Kanis, Jean-Noel Koval,Cynthia Mamacos, Carol Sumner Upgrading to Lotus Notes and Domino 6. – IBM Redbook, 2004.
- Notes/Domino 6 and 7 Forum: http://lotus.com/ldd/nd6forum.nsf.
- ReplaceEm: http://orbit.org/replace.
- SED, the stream editor: http://student.northpark.edu/pemente/sed.