Sun ONE logo
Changing Messaging Server from Using Netscape Directory Server 4.16 to iPlanet Directory Server 5.1

Switching from Netscape Directory Server 4.16 to iPlanet Directory Server 5.1 for Messaging Servers

This document describes how to change Netscape and iPlanet Messaging Servers using Netscape Directory Server 4.16 to use iPlanet Directory Server 5.1. Though Messaging Server will run using Netscape Directory Server 4.16 or 5.1, the Netscape Directory Server 4.16 product is designated as “End of Support Life” and is obsolete. For this reason we recommend changing to iPlanet Directory Server 5.1. This document is also applicable if you wish to keep Messaging Server in place while upgrading from DS 5.1 to 5.2.


Note

Netscape Messaging Server product is also designated as “End of Support Life.” Users are encouraged to upgrade to latest messaging server. Refer to the iPlanet Messaging Server Migration Guide.


There is no direct upgrade path from Netscape Directory Server 4.16 to iPlanet Directory Server 5.1. That is, the iPlanet Messaging Server 5.x install program does not automatically upgrade your directory server. This document describes the steps required to make this switch.

This document assumes you are starting with either iPlanet Messaging Server 5.x or Netscape Messaging Server 4.x. Both upgrade procedures will be covered with with differences noted.


Note

If your messaging server uses a version of the Netscape Directory Server earlier than version 4.16, then you must first upgrade to 4.16 before proceeding with the steps described in this document.


This document consists of the following sections:


iPlanet Directory Server 5.1 Regressions and Changes


Switching from Netscape Directory Server 4.16 to iPlanet Directory Server 5.1 for Messaging Servers

Moving from Directory Server 4.16 to Directory Server 5.1 requires moving the following data:

Migrating user/group and PAB data from Directory Server 4.16 to Directory Server 5.1 is a relatively simple task of taking user and PAB LDIF data from the Directory Server 4.16 and loading it into the Directory Server 5.1. Migrating Messaging Server configuration data is much more problematic, and is the subject of this section.

Because each Messaging Server deployment is different—for example, all servers may be in a stand alone configuration, or they may be in a replicated configuration—we will only describe the general concepts, goals, and procedures in migrating Messaging Server configuration data from Directory Server 4.16 to Directory Server5.1. You may have to modify these procedures for your own messaging system.

Migration Assumptions and Considerations

The following is assumed:

Migration Procedures

Migrating requires the following procedures. Note that these are generic procedures and concepts. Your particular deployment may require modifications.

  1. Install iPlanet Directory Server 5.1.
  2. See iPlanet Directory Server Installation Guide.

  3. Find the location of the iPlanet Messaging Server configuration data from Directory Server 4.16.
  4. The configuration parameters are stored under the distinguished name defined by the local.ldapsiedn parameter in instance_root/config/msg.conf. This value is depicted in Figure 1.

    Figure 1  Location of Messaging Server Configuration Data on Old Server

    Example:

    dn: cn=msg-sesta, cn=iplanet messaging suite, cn=Server Group, cn=messaging1.siroe.com, ou=AdminDomain, o=netscapeRoot

  5. Extract the iPlanet Messaging Server configuration data from Directory Server 4.16.
    1. Put configuration data into an LDIF file:

      /usr/iplanet/server4/slapd-siroe/db2ldif -s /var/tmp/nsroot.ldif

    1. Unfold the wrapped lines in the nsroot.ldif file and replace server_group_name and replace with MIGRATED SERVER GROUP.

      ldapsearch wraps lines at 78 characters. Unwrap the lines and replace the server group name using the utility shown in . Save the output to a file, for example mods.ldif.

      Code Example 1  Unwrap Lines

      #!/usr/bin/perl

      $USAGE          = "Usage: $0 your_ldif_input_file [ldif_output_file]\n";
      $input_file     = shift || die $USAGE ;
      $output_file      = shift || ’-’;    # write to STDOUT by default

      local $/ = "";   # set the record separator to paragraph mode

      open(OUTFH, ">$output_file")
            || abort("ERROR: Unable to open $output_file for writing");

      open(LDIFFILE, "$input_file")
            || abort("ERROR: Unable to open $input_file for reading ");

        while (defined($_ = <LDIFFILE>)) {
            s/\n //g;                             # unfold the lines
            next unless ( $_ =~ /o=NetscapeRoot\n/);             
      # skip unless o=netscaperoot
            next if (s/slapd-//g);            
      # skip slapd entries
            s/\nuniquemember: cn=Netscape Directory Server//g;
      # rm this unique member
            next if (s/Netscape Directory Server//g);            
      # skip Dir Server entries
            s/Server Group/Migrated Server Group/g;              
      # change the server group
            print OUTFH "$_" ;             # print to the output file
        }

        close (LDIFFILE);
        close (OUTFH);

      undef $/;

      If you saved the above perl code as unwrap.pl, then you could run it as follows:

      perl unwrap.pl /var/tmp/file.ldif /var/tmp/mod.ldif

  6. Modify the Server Group name in the local.conf, msg.conf and the adm.conf files of each of your messaging server installations.
  7. You could use something similar to this:

    # cd /usr/msgserver/msg-marsupial/config/
    # perl -i.bak -p -e ’s/Server Group/Migrated Server Group/g’ \ msg.conf local.conf /usr/msgserver/admin-serv/config/adm.conf

    This changes the value of the local.ldapsiedn to now say Migrated Server Group instead of the old value it had for Server Group.

  8. Add update schema on newly installed directory server.
  9. Get the dssetup.zip from the Messaging Server 5.2 distribution disk and unpack it to a temporary directory. Run perl ims_dssetup.pl against the newly installed Directory Server. (Make sure that the new Directory Server is running.)

  10. Import the Messaging Server configuration data into the newly installed iPlanet Directory Server 5.1.
  11. Run ldapmodify -a -c -f mods.ldif to add that new information into the new directory server.

    Figure 2  Location of Messaging Server Configuration Data on New Server

  12. Run migrateinstance5 utility on the new directory server.
  13. This is a Directory Server utility. See the Install Guide for the Directory Server.

  14. If this directory is a user/group and PAB directory server then migrate this data from the old directory server.
  15. Migrating user/group and PAB data from Directory Server 4.16 to Directory Server 5.1 is a simple task consisting of taking user and PAB LDIF data from the 4.16 server and loading it into the iPlanet Directory Server 5.1.

  16. Hobble the Messaging Server group from Directory Server Admin Console.
  17. The Admin Console for Messaging is managed by a set of jar files that were written for Netscape Console 4.2, but do not work with the iPlanet Console 5.x. If you log into the iPlanet Console you will see two server groups (Figure B-1).

    Figure 3  iPlanet Console with Two Server Groups

    The first server group is for the iPlanet Directory Server 5.1 SLAPD instances and the iPlanet Directory Server 5.1 Administration Server. The second server group is for the 5.2 Messaging Server and its Administration Server. The second server group (Messaging Server) should not be modified on this console. To enforce that the second group not be modified, hobble the server by creating a set of dummy jar files under the <server-root>/java/jars/ directory. This can be done using the UNIX touch command to create a zero length file. The following script is used:

    Code Example 2  Script for Creating Create Dummy Jar Files

    /bin/sh
    JARLIST="admserv42.jar admserv42_en.jar admserv51.jar"
    JARLIST="$JARLIST admserv51_en.jar ds51.jard s51_en.jar ens.jar"
    JARLIST="$JARLIST ds51_en.jar ens.jar msgadmin52.jar" JARLIST="$JARLIST msgadmin52_en.jar"

    MSG_SERVERROOT=/usr/msgserver
    LDAP_SERVERROOT=/usr/ldapserver

    for N in $JARLIST
    do
          touch $MSG_SERVERROOT/java/jars/$N 2>/dev/null
          touch $LDAP_SERVERROOT/java/jars/$N 2>/dev/null
    done


    Note

    While this step avoids the problem of confusing the consoles, it also has a harmless side effect. When the user clicks on the Server Group (2), two “Class Loader Error” messages will appear. These can be ignored.


  18. Startup Messaging Server.
  19. msg_server_root/msg-instance/start-msg ha

  20. Start up the iPlanet Directory Server 5.1 and iPlanet Messaging Server 5.2 consoles:
  21. ldap_server_root/startconsole
    msg_server_root/startconsole

  22. Now install iPlanet Delegated Administrator for Messaging on top of the new iPlanet Directory Server 5.1.
  23. See the iPlanet Delegated Administrator for Messaging and Collaboration 1.2 Installation and Administration Guide.




Copyright 2003 Sun Microsystems, Inc. All rights reserved.