Search This Blog

Monday, November 7, 2011

Move a Lotus Domino server to a new certifier without a reinstall

Charles TANABAL
Suppose that there is a company name change and you must to move your Lotus Domino server to a new certifier, without changing any server settings. Learn step-by-step how to move your Lotus Domino server without having to reinstall it or change any settings using the Server1/ExistingCertifier will be moved to Server1/NewCertifier example.
  1. Create a new certifier (/Newcertifier).
  2. Be sure to cross-certify in both directions (/Newcertifier-> /ExistingCertifier and /ExistingCertifier->/Newcertifier).
  3. Create a new server registration with the new certifier (Server1/NewCertifier).
  4. In your "all servers documents" view, duplicate the Server1/ExistingCertifier server document.
  5. Related resources from SearchDomino.com:
    Securely connect Lotus Domino servers on different domainsLotus Domino Server performance-tuning pointers
    Top 10 Lotus Notes Domino administration tips of 2007
  6. Edit the duplicate document and change the server name to "Server1Temp/NewCertifier."
  7. Edit the server document for Server1/Newcertifer (the newly registered document) and copy the value of the field "Certified Public Key" to your clipboard, under the Administration tab.
  8. Next, paste in your new server document by replacing the
    • "Certified Public Key" value in the Server1Temp/NewCertifier server document.
    • Delete the Server1/NewCertifier server document.
    • Edit the document for Server1Temp/NewCertifier and change the name to Server1/Newcertifier. Save and close out.
    • Duplicate all connexion documents where Server1/ExistingCertifer is the source or destination server.
    • Next, change Server1/Existingcertifier to Server1/NewCertifier in all duplicated documents.
    • With your admin client, add Server1/NewCertifier in the access control list (ACL) of all Lotus Notes databases marked with 'Manager' access. Specify it as "Administration Server," using the advanced tab for MailFiles and other Lotus Notes databases, if needed.
    • Replicate names to all Lotus Domino servers.
    • Use a code-generated button to send an email to all Lotus Notes users with Server1 as their home server, so that they can change the Mailserver Field in their location document. Below is the LotusScript code to create this button. Note: Clicking this button will change the servername information in all location and connections documents of the local address book. Domino administrators should adapt this code to meet their own specifications.
      Sub Click(Source As Button) 
      Dim session As New NotesSession 
      Dim db As NotesDatabase 
      Dim view As NotesView 
      Dim doc As NotesDocument 
      Dim nextdoc As NotesDocument 
      Dim destLocation As Variant 
      Dim privnab As New NotesDatabase
      ("","names.nsf") 
              
      If Not (privnab.isopen) Then 
                      privnab.Open "","" 
      End If 
      Set view = db.GetView("($Connections)") 
      Set doc = view.GetFirstDocument 
      While Not doc Is Nothing 
      destServer = doc.GetItemValue("Destination") 
      Set nextdoc=view.GetNextDocument(doc) 
      'THE BELOW LINE MUST BE MODIFIED 
      TO SPECIFY THE RELATIVE SERVER NAME: 
      If destServer(0) = 
      "CN=serverName/O=ExistingCertifier" 
      Then 
      'If you want to remove the document include this line: 
      'Call doc.Remove(True) 
      'If you want to update the Destination
       field include the below instead: 
      Call doc.replaceitemvalue
       ("Destination","CN=servername/O=NewCertifier") 
      'If you want to update the Destination 
      Server Address entry include the below: 
      'Call doc.replaceitemvalue 
      ("OptionalNetworkAddress",
      "<IP address>") 
      'Include the line below if you've 
      included either of the ReplaceItemValue calls: 
      Call doc.save (True,True) 
      End If 
      Set doc=nextdoc 
      Wend 
              
      Set view = db.GetView("($Locations)") 
      Set doc = view.GetFirstDocument 
      While Not doc Is Nothing 
      destServer = Lcase
      (doc.GetItemValue("MailServer")) 
      Set nextdoc=view.GetNextDocument(doc) 
      'THE BELOW LINE MUST BE 
      MODIFIED TO SPECIFY THE 
      RELATIVE SERVER NAME: 
      If destServer(0) = 
      "cn=servername/o=existingcertifier" 
      Then 
      'If you want to remove the document
       include this line: 
      'Call doc.Remove(True) 
      'If you want to update the Destination 
      field include the below instead: 
      Call doc.replaceitemvalue ("Destination",
      "CN=Servername/O=NewCertifier") 
      'If you want to update the Destination 
      Server Address entry include the below: 
      'Call doc.replaceitemvalue 
      ("OptionalNetworkAddress","<IP address>") 
      'Include the line below if you've included 
      either of the ReplaceItemValue calls: 
      Call doc.save (True,True) 
      End If 
      Set doc=nextdoc 
      Wend 
      End Sub
      
    • Replace the "mailserver" field with "CN=Server1/O=NewCertifier" for all users specifying server1 as Homeserver. Stop the Lotus Domino server.
    • Replicate names to all Lotus Domino servers.
    • Stop Server1.
    • Rename the existing Server ID (Server.id) file under the Domino Directory to ExistingCertifier as the extension (Server.ExistingCertifier). Note: Place the ID file that was created during the registration of Server1/NewCertifer and change the name to Server.id to ensure that it corresponds with what is in your notes.ini file.
    • Copy the notes.ini file to Notes.ini.Existingcertifier.
    • Edit your notes.ini file, find Server1/ExistingCertifier and replace it with Server1/newCertifier, and then save and close.
    • Restart your Lotus Domino server.

No comments:

Post a Comment