Недавно пришлось переставлять драйвер IDM for Lotus v4.0.2 - у нас "со старых времён" использовалась неподдерживаемая ныне конфигурация, когда драйвер IDM работал на той же машине, что и сам сервер Lotus Domino. Кажется, что во время этой операции я понаступал на все возможные бережно разложенные вокруг грабли, поэтому делюсь составленной в итоге пошаговой инструкцией (можно закинуть в раздел "Грабли", у меня туда нет доступа). Местами курсивом отмечены мои комментарии, имена файлов и пути выделены подчёркиванием. Серым шрифтом отмечены вычеркнутые места.
Архитектура
Архитектура получается трёхзвенная, как проиллюстировано на рисунке в документации:
Т.е. имеем:
- сервер IDM (Metadirectory Engine), куда deploy-им из Designer-а драйвер for Lotus Notes со всеми его политиками;
- сервер Lotus Domino;
- рабочую станцию (не сервер!) с установленным на ней клиентом Lotus Notes, а также Remote Loader-ом (RL), который будет запускать IDM-овский драйвер для Лотуса удалённо.
Здесь собраны замечания по установке и настройке этого хозяйства (в предположении, что Lotus Domino server и Lotus Notes client работают на платформе Windows).
Сервер IDM (Metadirectory Engine)
Здесь всё стандартно: драйвер deploy-ится с помощью Designer-а. Настройки драйвера (используемые политики) имеют свои тонкости, поскольку стандартных политик из исходного пакета явно недостаточно. Возможно, опишу их позже.
Пока отмечу лишь следующее. Документация упоминает следующие места:
- "Notes Driver User ID File" parameter;
- "Default Certifier ID File" parameter;
- "User ID File Storage Location" parameter;
- zz_ndxml.id file.
Сервер Lotus Domino
Действия на машине с сервером Lotus Domino:
- Убедиться, что засинхронизированы часы.
- Убедиться, что данный сервер содержит копию адресной книги (база names.nsf), базы certlog.nsf и группы DenyAccess.
- Скопировать ndsrep и dsrepcfg.ntf из дистрибутива IDM (п.2.2 документации по драйверу for Lotus):
- - IDM4.0.2_Win:\products\IDM\windows\setup\drivers\lotusNotes\ndsrep\x64\windows\ndsrep.exe -> \Lotus\Domino (берётся из патча на след. шаге)
- - IDM4.0.2_Win:\products\IDM\windows\setup\drivers\lotusNotes\ndsrep\dsrepcfg.ntf -> \Lotus\Domino\Data
- Скопировать файл ndsrep.exe из патча IDM402_Notes_4004:
- - \notesappshimfp\ndsrep\windows\x64\ndsrep.exe -> \Lotus\Domino
- Use a Notes client or Domino Administrator to sign dsrepcfg.ntf with your Domino server’s server ID.
- Создать служебного пользователя, от имени которого будет работать драйвер IDM. (Note: важный момент, на самом деле. IDM-овский драйвер использует имя этого пользователя в качетсве фильтра на канале Publisher для предотвращения зацикливаний; в результате изменения в Лотусе, сделанные этим пользователем, обратно в IDM не попадают) Назначить ему права, перечисленные тут (см. ниже). Нужны все права из первого пункта, кроме последнего подпункта (который optional):
- - Assign manager-level ACL access to the target Notes database (usually names.nsf), the output database (ndsrep.nsf) created by ndsrep, and certlog.nsf. (Note: ndsrep.nsf будет создан чуть позже, после первого старта драйвера)
- - If you are synchronizing information from the Identity Vault to the Notes database (names.nsf), give the user all ACL roles (GroupCreator, GroupModifier, NetCreator, NetModifier, PolicyCreator, PolicyModifier, PolicyReader, ServerCreator, ServerModifier, UserCreator, UserModifier).
- - Assign access rights to the user account’s certifier ID file.
- - Assign access rights to the certifier ID files for the Notes certifiers that you want the driver to create users for.
- - кроме того, надо добавить этого пользователя в раздел серверного документа Create Database (иначе будет невозможно создать нового пользователя в Лотусе).
- The driver will now require a new ACL entry. You MUST add your driver authentication account to the "Sign or run unrestricted methods and operations" parameter in the security page of the Domino server configuration document. (это цитата из README к патчу, в документации этого по-прежнему нет)
После первого запуска драйвера нужно:
- Убедиться, что создалась база dsrepcfg.nsf (она создаётся на основе шаблона dsrepcfg.nsf);
- В консоли Lotus Domino запустить task ndsrep (в кавычках – имя IDM-овского драйвера для Lotus, как оно сконфигурировано в IDM-е; кавычки нужны, если это имя содержит пробел):
- Код: Выделить всё
load ndsrep "Lotus Notes-Domino"
- Для того, чтобы этот task впоследствии запускался автоматически, прописать его в файле notes.ini сервера Lotus Domino:ServerTasks=Update,Replica,Router,AMgr,AdminP,ndsrep "Lotus Notes-Domino",[...]
Рабочая станция с Remote Loader-ом
- Убедиться, что на рабочей станции часы засинхронизированы.
- Установить клиент Lotus Notes со всеми патчами.
- - Замечание 1: Windows-клиент Lotus Notes – это 32-битное приложение!
- - Замечание 2: устанавливать нужно в режиме Single User. (!) (иначе потом не будет работать как Windows service)
- Добавить к системной переменной PATH путь к бинарниками клиента Lotus Notes (обычно: C:\Program Files (x86)\IBM\Notes).
- Установить Remote Loader (из дистрибутива IDM: IDM4.0.2_Win:\products\IDM\windows\setup\idm_install.exe).
- - Замечание 1: поскольку он будет работать через 32-битного клиента Lotus Notes, то нужна только 32-битная версия RL.
- - Замечание 2: из всех компонентов нужны только сам RL (32-bit) и драйвер для Lotus Notes.
- Установить патч на Remote Loader (IDM402_Engine_RL_P7, из него install.bat).
- Установить патч на драйвер for Lotus (IDM402_Notes_4004):
- - скопировать \notesappshimfp\notesshim\windows\NotesDriverShim.jar -> C:\Novell\RemoteLoader\lib ;
- Скопировать notes.jar (п.2.2 документации по драйверу for Lotus):
- - C:\Program Files (x86)\IBM\Notes\jvm\lib\ext\Notes.jar -> \Novell\RemoteLoader\lib
- Убедиться в наличии файлов user.id и cert.id и доступности их "to the Notes client and NotesDriverShim.jar". Другими словами, кладём следующие файлы в папку C:\Novell\RemoteLoader\ :
- - idmdrv.id (у меня так называется ID-файл для служебного пользователя)
- - cert.id
- - zz_ndxml.id (по идее, он должен создаваться при первом старте драйвера, но у меня драйвер уже работал ранее, и я взял со старой конфигурации уже готовый)
- - idm-cert.b64 (у меня так называется заэкспортированный сертификат CA из IDM-овского дерева для SSL-соединений с IDM<->RL)
- Создать и "расшарить" для нужных админов папку C:\Novell\RemoteLoader\USERID, куда будут складываться ID-файлы для новых пользователей. (у нас она прописана в конфигурации драйвера)
- Запустить клиента Lotus Notes вручную и убедиться, что можно подключиться к нужному серверу нужным пользователем.
- Создать экземпляр процесса (сконфигурировать Remote Loader запускать драйвер в режиме "Windows Service").
- - Замечание: For the Notes driver to work properly, you should run the Remote Console utility as an administrator.