PMDF System Manager's Guide
36.9.2 Sample Configuration on unix
This section presents a sample configuration of PMDF-DIRSYNC on a unix 
system. The sample site is assumed to be named EXAMPLE.COM, with 
PMDF-DIRSYNC system sample. The directory synchronization 
will be between an 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 
sample 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 Sample 
    dirsync.chans File for sample System | 
  
  
    
       
      
sync_ldap_idds defragment 
idds.dirsync.sample.example.com 
 
sync_ldif_cc defragment 
cc.dirsync.sample.example.com 
 
sync_ln_local defragment 
notes.dirsync.sample.example.com 
 
sync_dirbot_local defragment 
master.dirsync.sample.example.com 
 
 
 | 
  
    Example 36-30 Sample 
    dirsync.rules File for sample System | 
  
  
    
       
      
idds.dirsync.sample.example.com     $U@idds.dirsync.sample.example.com 
cc.dirsync.sample.example.com       $U@cc.dirsync.sample.example.com 
notes.dirsync.sample.example.com    $U@notes.dirsync.sample.example.com 
master.dirsync.sample.example.com   $U@master.dirsync.sample.example.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 Sample 
    sync_dirbot_local_option File | 
  
  
    
       
      
directory_master=fred.bloggs@example.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.sample.example.com 
! 
[directory=notes] 
cook=/pmdf/table/cook_notes.rcp|diff 
diff=serve 
serve=/pmdf/table/serve_notes.rcp|apply|dirbot@notes.sample.example.com 
! 
[directory=cc] 
cook=/pmdf/table/cook_cc.rcp|diff 
diff=serve 
serve=/pmdf/table/serve_cc.rcp|apply|dirbot@cc.taurus.example.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:
  - a service definition, shown in Example 36-35, to be included in 
  the Dispatcher configuration;
  
 - entries in the PORT_ACCESS mapping table, as shown in 
  Example 36-36, where such a mapping table needs to be included in the 
  PMDF mapping file; and
  
 - some configuration on the Lotus Notes server side, which will be 
  discussed below in Section 36.9.2.1.)
 
  
    Example 36-32 Sample 
    sync_ldap_idds_option File | 
  
  
    
       
      
directory_master=fred.bloggs@example.com 
directory_robot=dirbot@dirsync.sample.example.com 
secret=mindyourownbusiness 
cookie_file=/pmdf/dirsync/idds.cookie 
dirname=idds 
ldaphost=sample.example.com 
password=qwertyuiop 
ldapuser=cn=Manager, o=example, c=nz 
root=o=example, c=nz 
ldaplimit=8 
 
 | 
  
    Example 36-33 Sample 
    sync_ldif_cc_option File | 
  
  
    
       
      
dirname=a1 
directory_master=fred.bloggs@example.com 
directory_robot=dirbot@dirbot.sample.example.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 Sample 
    sync_ln_local_option File | 
  
  
    
       
      
dirname=notes 
directory_master=fred.bloggs@example.com 
directory_robot=dirbot@dirbot.sample.example.com 
secret=mindyourownbusiness 
cookie_file=/pmdf/dirsync/notes.cookie 
notes_host=notes.example.com 
notes_port=9921 
 
 | 
  
    | Example 36-35 Sample LNSYNC Service 
    Definition for Inclusion in the Dispatcher Configuration 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 for Inclusion 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 Sample cron 
    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.