This section presents a sample configuration of PMDF-DIRSYNC on a UNIX
system. The sample site is assumed to be named ACME.COM, with
PMDF-DIRSYNC system roadrnnr
. The directory
synchronization will be between an IDS (Innosoft LDAP) directory, a
Lotus Notes directory, and a cc:Mail directory. In this example, the
IDDS directory, and the PMDF-LAN Lotus Notes and cc:Mail channels, all
also run on the roadrnnr
system.
Example 36-29 and Example 36-30 show channel definitions and rewrite rules that must be included into the PMDF configuration file; (usually this is performed simply by uncommenting the references in the PMDF configuration file to these generated files).
Example 36-29 Sampledirsync.chans
file
for roadrnnr system
sync_ldap_idds defragment idds.dirsync.roadrnnr.acme.com sync_ldif_cc defragment cc.dirsync.roadrnnr.acme.com sync_ln_local defragment notes.dirsync.roadrnnr.acme.com sync_dirbot_local defragment master.dirsync.roadrnnr.acme.com
Example 36-30 Sampledirsync.rules
file
for roadrnnr system
idds.dirsync.roadrnnr.acme.com $U@idds.dirsync.roadrnnr.acme.com cc.dirsync.roadrnnr.acme.com $U@cc.dirsync.roadrnnr.acme.com notes.dirsync.roadrnnr.acme.com $U@notes.dirsync.roadrnnr.acme.com master.dirsync.roadrnnr.acme.com $U@master.dirsync.roadrnnr.acme.com
Example 36-31 shows the SYNC_DIRBOT channel option file---effectively the DIRBOT work order, that informs the DIRBOT which directories to synchronize.
Example 36-31
Samplesync_dirbot_local_option
file
directory_master=fred.bloggs@acme.com secret=mindyourownbusiness required_directories=idds,notes,cc ! [directory=idds] cook=/pmdf/table/cook_idds.rcp|diff diff=serve serve=/pmdf/table/serve_idds.rcp|apply|dirbot@idds.roadrnnr.acme.com ! [directory=notes] cook=/pmdf/table/cook_notes.rcp|diff diff=serve serve=/pmdf/table/serve_notes.rcp|apply|dirbot@notes.roadrnnr.acme.com ! [directory=cc] cook=/pmdf/table/cook_cc.rcp|diff diff=serve serve=/pmdf/table/serve_cc.rcp|apply|dirbot@cc.coyote.acme.com
Each of the individual channels has its own corresponding PMDF-DIRSYNC directory agent, hence its own channel with its own channel option file. The IDDS directory is handled by the SYNC_LDAP_IDDS channel, whose option file is shown in Example 36-32 . The cc:Mail directory is handled by the SYNC_LDIF_CC channel, whose option file is shown in Example 36-33 . The Lotus Notes directory agent is handled by the SYNC_LN_LOCAL channel, whose option file is shown in Example 36-34 . The Lotus Notes directory agent also requires:
Example 36-32
Samplesync_ldap_idds_option
file
directory_master=fred.bloggs@acme.com directory_robot=dirbot@dirsync.roadrnnr.acme.com secret=mindyourownbusiness cookie_file=/pmdf/dirsync/idds.cookie dirname=idds ldaphost=roadrnnr.acme.com password=qwertyuiop ldapuser=cn=Manager, o=acme, c=nz root=o=acme, c=nz ldaplimit=8
Example 36-33
Samplesync_ldif_cc_option
file
dirname=a1 directory_master=fred.bloggs@acme.com directory_robot=dirbot@dirbot.roadrnnr.acme.com secret=mindyourownbusiness cookie_file=/pmdf/dirsync/cc.cookie slave_file=/pmdf/dirsync/ccexp.ldif slave_command=pmdf dirsync -convert cc -fnf ldif=/pmdf/dirsync/ccexp.ldif master_command=pmdf dirsync -convert ldif=/pmdf/dirsync/cc.ldif cc
Example 36-34
Samplesync_ln_local_option
file
dirname=notes directory_master=fred.bloggs@acme.com directory_robot=dirbot@dirbot.roadrnnr.acme.com secret=mindyourownbusiness cookie_file=/pmdf/dirsync/notes.cookie notes_host=notes.acme.com notes_port=9921
Example 36-35 Sample LNSYNC service definition for inclusion in the Dispatcherconfiguration file
[SERVICE=LNDIRSYNC] PORT=9922 IMAGE=/pmdf/bin/sync_ln_slave LOGFILE=/pmdf/log/sync_ln_slave.log MIN_PROCS=0 MAX_PROCS=1 MIN_CONNS=1 MAX_CONNS=1 PARAMETER=channel=sync_ln_local
Example 36-36 Sample Lotus Notes directory agent PORT_ACCESS mapping entries forinclusion in the PMDF mapping file
PORT_ACCESS ! The Lotus Notes server system is here assumed to have IP address 1.2.3.7 ! TCP|*|9922|1.2.3.7|* $Y TCP|*|9922|*|* $N
A cron
job will also be needed to run periodically on a
desired schedule, for obtaining new information from the directories.
Example 36-37 shows a sample of the sort of entries which must be
submitted to the cron
daemon. Note that no such
crontabs
entries are required for the Lotus Notes
directory agent; instead the scheduling for extracting information from
the Lotus Notes directory is configured on the Lotus Notes server
itself, as described in Section 36.9.2.1 .
Example 36-37 Samplecron
entries
# Directory Synchronization cron entries 02 15 * * * pmdf run sync_ldap_idds slave > /dev/null 02 15 * * * pmdf run sync_ldif_cc slave > /dev/null
Each directory will also need its own cook and serve recipes, discussed in Section 36.9.2.3 .