Lotus what? Nah mate, the world has moved on.

Friday, 11 April 2014

LND Best Practice - Configuring servers with an extract script and applying your standards

I have decided to share some admin stuff on Domino. This may be controversial and many will disagree with my methods. See if I care. No really, I don't.

In my last post I moaned about IBM and how little they care about Domino but from the comments Domino is doing OK outside of IBM so this is just to help those folks in the know out with setting up new systems properly from day 1 or to bring wayward systems back into line.

The biggest issue you have when auditing or setting up a Domino system, that will serve more than 1 person of course, is keeping track of documents in the Domino Directory such as server docs, config docs, connection docs, etc. I have more sophisticated audit tools that I may share later on and of course there are third party utilities out there that can help for a small cost but what about initially or if you don't have budget?

My method is as follows:
  1. Install an extraction agent (lotus script) in the Domino Directory.
  2. Run this against a document.
  3. Analyse the extracted document and create a template document (formula).
  4. Apply this standard to a document.
  5. Customise the document.
  6. Test, test, test.

The added bonus of this method is when you want a customer to send you the Domino Directory and they start mentioning security and privacy you could simply send this extract and just get a copy of the raw extract for the document.

You will then be able to recreate the directory without any bother.
You could almost use it as a form of disaster recovery as well. It is best that I show how to make this process clearer.

The Extract routine.
(I am testing some new css so I hope this will work ok)
%REM 
 Agent:        IBM Field Extraction Agent V2
 Description:  An agent that reads each field on a form and dumps the field name
               and field value to a txt file specifically formatted to be used as a formula
               button to recreate the document exactly or to selectively replace values based
               on the extracted field values.  
 Created:      Feb, 2002 by Adrian Randall - Web Networks24
 Updated:      Dec, 2004 by Ray Davies - Atnetix
 Updated:      Nov 25, 2011 by Adrian Randall - adrian@aprconsulting.biz 
 Updated:      Dec 4, 2011 by Ray Davies IBM Lab Services - ray.davies@my.ibm.com
 Updated:      Apr 11, 2014 by Ray Davies - ray@a2any.com 
   
%END REM 
Option Public 
Option Declare 

Sub Initialize 
        
        '============================================== 
        ' Error Handling 
        '============================================== 
        On Error GoTo ErrorHandler 
        
        '============================================== 
        ' Declarations 
        '==============================================         
        Dim session As New NotesSession 
        Dim dbThis As NotesDatabase 
        Dim dcSelected As NotesDocumentCollection 
        Dim docSelected As NotesDocument 
        Dim form As NotesForm 
        Dim intFileNum As Integer 
        Dim strFileName As String 
        Dim strPrintRecord As String 
        Dim itmField As NotesItem 
        Dim intCount As Integer 
        Dim strMsg As String 

        '==============================================         
        ' Set Objects 
        '==============================================         
        Set dbThis = session.CurrentDatabase 
        Set dcSelected = dbThis.UnprocessedDocuments 
        Set docSelected = dcSelected.GetFirstDocument() 
        
        '============================================== 
        ' Process each document selected 
        '============================================== 
        While Not(docSelected Is Nothing)         
                Set form = dbThis.GetForm(docSelected.Form(0)) 

                '-- Does the docSelected have any fields? 
                If IsEmpty(form.Fields) Then 
                        MessageBox form.Name & " has no fields. This process cannot continue.", 16, {No fields on selected document} 
                Else 
                        
                        '-- Prompt user for the text file name and path to be created 
                        strFileName$ = InputBox$({Please enter the file path and name to be created?}, {File Path and File Name?}) 
                        If Trim(strFileName$) = {} Then 
                                MessageBox {File directory and name was not supplied. Cannot process selected documents}, 16, {File Path & Name Error} 
                                Exit Sub 
                        End If 
                        
                        '-- Get handle to file 
                        intFileNum% = FreeFile() 
                        Open strFileName For Output As intFileNum% 
                        
                        '-- Process all fields on the selected document 
                        ForAll Field In form.Fields 
                                
                                intCount = 0 
                                strPrintRecord = {@SetField("} & Field & {";} 
                                
                                '-- Process all items within current field 
                                Set itmField = docSelected.Getfirstitem(Field) 
                                If Not (itmField Is Nothing) Then 
                                        If Not Trim(itmField.Text) = {} Then 
                                                
                                                ForAll vals In itmField.Values 
                                                        If intCount >= 1 Then  strPrintRecord = strPrintRecord & { : } 
                                                        
                                                        Select Case itmField.Type 
                                                        Case NUMBERS 
                                                                strPrintRecord = strPrintRecord & vals 
                                                        Case Else 
                                                                strPrintRecord = strPrintRecord & {"} & vals & {"}                                                         
                                                End Select 
                                                        
                                                        intCount = intCount + 1 
                                                End ForAll 
                                        Else 
                                                strPrintRecord = strPrintRecord & {""}                                                         
                                        End If 
                                End If 
                                
                                '-- Complete command 
                                strPrintRecord = strPrintRecord & {);} & Chr(10) 
                                Print #intFileNum%, strPrintRecord                                 
                        End ForAll 
                        
                        '-- Write final @Formula command   
                        Print #intFileNum%, "SELECT @ALL" 
                        
                        ' Close file 
                        Close intFileNum% 
                End If 
                
                Set docSelected = dcSelected.GetNextDocument(docSelected) 
        Wend 
        
        '============================================== 
        ' Inform user everything completed 
        '============================================== 
        MessageBox {Document extraction process completed normally.}, 64, {Document Extract Completed} 
        
SingleExit: 
        Exit Sub 
        
ErrorHandler: 
        strMsg = {An unexpected error occurred:- } & Chr(10) & {Error No. } & CStr(Err) & ". " & Error$ & { on line } & CStr(Erl) 
        MessageBox strMsg, 16, {Extraction Failed} 
        Close intFileNum%         
        Resume SingleExit 
        
End Sub

Add this agent to the Domino directory.

If you do not know how to this then please navigate away from the site and go and play with outlock and microsnot products.

Select a single server document for this example. The script is platform natural so for us Linux people the out directory will be something like /home/rayd/customera/baseaudit/adminserver-extract.txt. The output is as below but I have removed the extra spacing. This format is now ready to be pasted into a Domino Directory as a formula agent. All you need to do is create a blank server document and apply this agent and it will recreate the sever document you extracted. Very neat. Did I mention this was my idea? Thanks to uber dev Adrian for the actual code.


@SetField("$Server_MTA_Tabs";0);
@SetField("$Server_InetProt_Tabs";0);
@SetField("$Server_Tasks_Tabs";0);
@SetField("$Server_Ports_Internet2_Tabs";0);
@SetField("$Server_Ports_Tabs";0);
@SetField("$ServerMain";0);
@SetField("DAOSWarned";"0");
@SetField("IsVirDir";"0");
@SetField("DB2AccessServer";"0");
@SetField("ASPServer";"0");
@SetField("ServerPlatform";"");
@SetField("BookmarkDB";"bookmark.nsf");
@SetField("$LocationVersion";"2");
@SetField("DocumentAccess";"[ServerModifier]");
@SetField("AreaCode";"");
@SetField("ChangeRequest";"");
@SetField("Certificate";"");
@SetField("PKOldKeyDays";365);
...............................
This is not the only way to dump a document. Stephan has create a script that extracts even more info. It can not be used to recreate the document as above but you see more info.

Here is Stephan's code. (YMMV)



%REM
 Agent Export
 Created Nov 11, 2011 by Stephan H Wissel/Singapore/IBM
 Description: Comments for Agent
%END REM
Option Public
Option Declare

Sub Initialize
 Dim session As New NotesSession 
 Dim db As NotesDatabase 
 Dim collection As NotesDocumentCollection 
 Dim doc As NotesDocument 
 Dim out As NotesStream
 Dim resultMsg As String
 Dim FileName As String
 Dim curItem As NotesItem
 
 ' Activate RTE handler 
 On Error GoTo ShitHappened 
 
 ' Initialise variables 
 Set db = session.CurrentDatabase 
 Set collection = db.UnprocessedDocuments 
 Set doc = collection.GetFirstDocument() 
 ' For each document selected 
 Do Until doc Is Nothing
  FileName = InputBox$("File Path & Name?") 
  If Trim(FileName) <> "" Then
   Set out = session.Createstream()
   Call out.Open(FileName)
   
   ForAll item In doc.Items
    Set curItem = item
    'Based on data types
    Select Case curItem.Type 
    Case NUMBERS, DATETIMES
     Call out.Writetext(|FIELD |& curItem.Name & |:=@Explode(| & curItem.Text & |);| ,EOL_PLATFORM)
    Case Else
     Call out.Writetext(|FIELD |& curItem.Name & |:=@Explode("| & curItem.Text & |");| ,EOL_PLATFORM) 
   End Select
   End ForAll
   
   Call out.Writetext(|SELECT @ALL| ,EOL_PLATFORM)
   Call out.Close()
  End If     
  Set doc = collection.GetNextDocument(doc)
 Loop    

 resultMsg = "Script extract complete"

WeAreDoneHere:
 On Error Resume Next
 Call out.close
 MsgBox resultMsg, 64, "Extract Agent" 
 Exit Sub 
 
 ' RTE handler - report error to user, close handle to text file & exit         
ShitHappened: 
 resultMsg = "Error No. " & CStr(Err) & ". " & Error$
 Resume WeAreDoneHere
 
End Sub

Here is the same output using Stephan's method.


FIELD $Revisions:=@Explode(08/04/2014 12:29:18);
FIELD $EncryptionStatus:=@Explode("0");
FIELD $SignatureStatus:=@Explode("0");
FIELD Type:=@Explode("Server");
FIELD $HTMLAttributes:=@Explode("");
FIELD FltRcvryMD:=@Explode("");
FIELD DisplayName:=@Explode(": test1");

The next step is to put some controls and comments around the interpreted output. Yes, I am afraid you have to sit down and do the work but seeing that we are all a bit lazy I will add my file for you to use. This is a standard server configuration file that comments the server document as "Domino Server Customisation applied - Level 1" Think of this method in the same ways as cascaded style sheets  CSS. You can then have another agent that is customised for hub servers for instance that changes the fields you need for a hub server for example "Domino HUB Server Customisation applied - Level 1" Go nuts really. I will post the server config file and others in a later post.

Remember that you can add as many or remove as many settings as you want and my settings may not be perfect for your environment but it sure helps when you have to deal with a big directory or create a new one that follow some standards.

The easiest way to test this is to simply create a throwaway server document and apply the values.


REM {--------------------------------------------------------------------};
REM {Formula Button: DominoServerDocumentCustomLevel1                    };
REM {Used inconjunction with FieldExtractionAgentV3 to dump all field };
REM {values from a reference Server Document to be applied to new Server };
REM {documents to ensure consistancy and apply agreed standards.         };
REM {Created: October 28, 2011 by Ray Davies, IBM Lab Services           };
REM {Updated: 14 December, 2011 by Ray Davies, IBM Lab Services          };
REM {Updated: 8 April, 2014 by Ray Davies                                };
REM {ray-d123@gm-ail.com                                                   };
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Tab - Basic:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

REM {ServerTitle};
@SetField("ServerTitle";"Domino Server Customisation applied - Level 1");
REM {Load Internet configurations from Server Internet Sites documents:};
@SetField("SMTPFullHostDomain";"ChangeThis.yourdomain.com");
REM {Load Internet configurations from Server Internet Sites documents:};
@SetField("LdISite";"Enabled");
REM {Maximum formula execution time default is 120 - confirm with client:};
@SetField("FormulaTimeout";"120");


REM {--------------------------------------------------------------------};
REM {Section - Basic2:};
REM {--------------------------------------------------------------------};

REM {Routing tasks - SMTP for MIME is required:};
@SetField("Tasks";"Mail Routing; SMTP Mail Routing");
REM {SMTP listener task start automatically:};
@SetField("SMTPListenerEnabled";"Enabled");

REM {--------------------------------------------------------------------};
REM {Section - Directory Information:};
REM {--------------------------------------------------------------------};

REM {Directory assistance database name:};
@SetField("MasterAddressBook";"da.nsf");
REM {Name of condensed directory catalog on this server:};
@SetField("LEDName";"dircat.nsf");
REM {Trust the server based condensed directory catalog for authentication with internet protocols:};
@SetField("TrustDircat";"1");

REM {--------------------------------------------------------------------};
REM {Section - Automatic Server Recovery:};
REM {--------------------------------------------------------------------};

REM {Run This Script After Server Fault/Crash - NO NSD:};
@SetField("FltRcvryScrpt";"");
REM {Run NSD To Collect Diagnostic Information:};
@SetField("NSDEnbld";"1");
REM {Automatically Restart Server After Fault Crash:};
@SetField("FREnbld";"Enabled");
REM {Cleanup Script / NSD Maximum Execution Time Default is 600 - recommended is 1800 KB1257546 - Confirm with client:};
@SetField("FltRcvryMax";"1800");
REM {Server Shutdown Timeout:};
@SetField("FltRcvryHng";"300");
REM {Maximum Fault Limits:};
@SetField("FltRcvryCrsh";"3");
REM {Within:};
@SetField("FltRcvryMin";"5");
REM {Mail Fault Notification to:};
@SetField("FltRcvryNot";"Administrators");

REM {--------------------------------------------------------------------};
REM {Tab - Security:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Administrators};
REM {--------------------------------------------------------------------};

REM {Full Access administrators - NO GROUPS!!!!:};
@SetField("FullAdmin";"CN=Ray Davies/OU=MGMT/O=yourdomain" : "CN=Anz/OU=another/O=yourdomain" : 
"CN=PP/OU=MGMT/O=yourdomain");

REM {Administrators - Groups OK:};
@SetField("Administrator";"$AAdmins" : "LocalDomainServers" : "HQDomainServers");

REM {Database Administrators - No WEBADMIN.NSF access or remote access:};
@SetField("DBAdmin";"$DBAdmins");

REM {Full Remote Console Administrators - Very important:};
@SetField("RemoteAdmin";"$Admin" : "$Security");

REM {View-only Administrators - Set as a wild card:};
@SetField("VOAdmin";"$ViewAdmins" : "*/Support/yourdomain");

REM {System Administrator - Can issue OS Commands from the console:};
@SetField("SysAdmin";"$SysAdmins");

REM {Restricted System Administrator - Can only issue commands in the restricted list:};
@SetField("ResSysAdmin";"$RestrictedAdmin");

REM {Restricted System Commands allowed:};
@SetField("ResSystemCmds";"Show tasks only" : "show users");

REM {--------------------------------------------------------------------};
REM {Section - Programmability  Restrictions Who can };
REM {--------------------------------------------------------------------};

REM {Run unrestricted methods and operations:};
@SetField("UnrestrictedList";"$Admins" : "LocalDomainServers" : "HQDomainServers" : "BlackBerryAdmins");

REM {Sign agents to run on behalf of someone else:};
@SetField("OnBehalfOfLst";"$AAdmins, LocalDomainServers");

REM {Sign agents or xpages to run on behalf of the invoker of the agent:};
@SetField("OnBehalfOfInvokerLst";"$AAdmins, LocalDomainServers");

REM {Run restricted LotusScript/Java agents};
@SetField("RestrictedList";"*/yourdomain" : "$Admins" : "LocalDomainServers" : "HQDomainServers" : "BlackBerryAdmins");

REM {Run Simple and Formula agents:};
@SetField("PrivateList";"*/O=yourdomain": "$AAdmins" : "LocalDomainServers");

REM {Sign script libraries to run on behalf of someone else:};
@SetField("LibsLst";"$AAdmins, LocalDomainServers");

REM {Run restricted Java/Javascript/COM:};
@SetField("NOIRestrictedList";"*/O=yourdomain" : "$Admins" : "BlackBerryAdmins");

REM {Run unrestricted Java/Javascript/COM:};
@SetField("NOIUnrestrictedList";"*/O=yourdomain" : "$Admins" : "BlackBerryAdmins");

REM {--------------------------------------------------------------------};
REM {Section - Security Settings };
REM {--------------------------------------------------------------------};

REM {Compare Notes public keys against those stored in Directory:};
@SetField("WhiteList";"No");

REM {Allow anonymous Notes connections:};
@SetField("AnonymousAccess";"No");

REM {Check passwords on Notes IDs:};
@SetField("ServerCheckPasswords";"1");

REM {--------------------------------------------------------------------};
REM {Section - Server Access Who can };
REM {--------------------------------------------------------------------};

REM {Access server: };
@SetField("AddressBookAccess";"1");

REM {Access server };
@SetField("AllowAccess";"*/yourdomain" : "*/IBM" : "*/IBS" : "LocalDomainServers" : "HQDomainServers");

REM {Access server- confirm };
@SetField("AccessServerInput";"*/yourdomain" : "*/IBM" : "*/IBS" : "LocalDomainServers" : "HQDomainServers");


REM {Not access server:};
@SetField("DenyAccess";"#Termination" : "#Suspended" : "#DenyAccess2" : "#DenyAccess3" : "#DenyAccess4" : "#Dormant Ids");

REM {Create databases & templates:};
@SetField("CreateAccess";"$Admins" : "LocalDomainServers" : "$Security" : "HQDomainServers");

REM {Create new replicas:};
@SetField("ReplicaAccess";"$Admins" : "LocalDomainServers" : "$Security" : "HQDomainServers");

REM {Create master templates:};
@SetField("TemplateAccess";"$Admins" : "LocalDomainServers" : "$Security" : "HQDomainServers");

REM {Allowed to use monitors:};
@SetField("AllowMonitors";"$Admin" : "$Security" : "*/yourdomain");

@SetField("TrustedSrvrs";"HQDomainServers");

REM {--------------------------------------------------------------------};
REM {Section - Server Access Who can };
REM {--------------------------------------------------------------------};

REM {Passthru Access this server:};
@SetField("PTAccess";"$AAdmins, LocalDomainServers");

REM {Passthru Route through:};
@SetField("PTClients";"$AAdmins, LocalDomainServers");

REM {Passthru Cause calling:};
@SetField("PTCallers";"$AAdmins, LocalDomainServers");

REM {Passthru Destinations allowed:};
@SetField("PTTargets";"$AAdmins, LocalDomainServers");

REM {--------------------------------------------------------------------};
REM {Section - Internet Access };
REM {--------------------------------------------------------------------};

REM {Internet authentication:};
@SetField("HTTP_AuthView";"($Users)");

REM {--------------------------------------------------------------------};
REM {Tab - Ports:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Notes Network Ports:};
REM {--------------------------------------------------------------------};

REM {Port:};
@SetField("Port_0";"TCPIP");

REM {Protocol:};
@SetField("Protocol_0";"TCP");

REM {Notes Network:};
@SetField("NetName_0";"yourdomain");

REM {Net Address:};
@SetField("NetAddr_0";"yourdomain.com");

REM {Enabled};
@SetField("Enabled_0";"1");

REM {Port:};
@SetField("Port_1";"TCPIP2");

REM {Protocol:};
@SetField("Protocol_1";"TCP");

REM {Notes Network:};
@SetField("NetName_1";"yourdomain");

REM {Net Address:};
@SetField("NetAddr_1";"yourdomain.com");

REM {Enabled};
@SetField("Enabled_1";"1");

REM {--------------------------------------------------------------------};
REM {Sub Tab - Internet ports:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - SSL Settings:};
REM {--------------------------------------------------------------------};

REM {SSL key file name:};
@SetField("HTTP_SSLKeyFile";"keyfile.kyr");

REM {SSL protocol version for use with all protocols except HTTP:};
@SetField("SSLProtocolVersion";"0");

REM {Accept SSL site certificates:};
@SetField("SSLSiteCerts";"0");

REM {Accept expired SSL certificates:};
@SetField("SSLExpiredCerts";"1");

REM {SSL ciphers - Popup:};
@SetField("SSLCipherList";"04");

REM {SSL ciphers popup:};
@SetField("SSLStrongEncryption";"03040506090A");

REM {Enable SSL V2: SSL V3 is always enabled};
@SetField("SSLV2Enabled";"1");

REM {--------------------------------------------------------------------};
REM {Section - Web:};
REM {--------------------------------------------------------------------};

REM {TCP/IP port number:};
@SetField("HTTP_Port";"80");

REM {TCP/IP port status:};
@SetField("HTTP_NormalMode";"1");

REM {Enforce server access settings: Check };
@SetField("HTTP_EnforceAccess";"1");

REM {Name & password:};
@SetField("HTTP_TCPNP";"1");

REM {Anonymous:};
@SetField("HTTP_AllowAnonymous";"0");

REM {SSL port number:};
@SetField("HTTP_SSLPort";"443");

REM {SSL port status:};
@SetField("HTTP_SSLMode";"1");

REM { Client certificate:};
@SetField("HTTP_SSLCert";"1");

REM { Name & password:};
@SetField("HTTP_SSLNP";"1");

REM {Anonymous:};
@SetField("HTTP_SSLAnonymous";"0");

REM {--------------------------------------------------------------------};
REM {Section - Directory:};
REM {--------------------------------------------------------------------};

REM {TCP/IP port number:};
@SetField("LDAP_Port";"389");

REM {TCP/IP port status:};
@SetField("LDAP_PortStatus";"1");

REM {Enforce server access settings: Check };
@SetField("LDAP_EnforceAccess";"0");

REM {Name & password:};
@SetField("LDAP_TCPNP";"1");

REM {Anonymous:};
@SetField("LDAP_AllowAnonymous";"1");

REM {SSL port number:};
@SetField("LDAP_SSLPort";"636");

REM {SSL port status:};
@SetField("LDAP_SSLStatus";"0");

REM { Client certificate:};
@SetField("LDAP_SSLCert";"0");;

REM { Name & password:};
@SetField("LDAP_SSLNP";"0");

REM {Anonymous:};
@SetField("LDAP_SSLAnonymous";"1");

REM {--------------------------------------------------------------------};
REM {Section - Mail:};
REM {--------------------------------------------------------------------};

REM {TCP/IP port number:};

@SetField("IMAP_Port";"143");
@SetField("IMAP_PortStatus";"1");
@SetField("IMAP_EnforceAccess";"0");
@SetField("IMAP_TCPNP";"1");
@SetField("IMAP_SSLPort";"993");
@SetField("IMAP_SSLStatus";"0");
@SetField("IMAP_SSLCert";"0");
@SetField("IMAP_SSLNP";"1");

@SetField("POP3_Port";"110");
@SetField("POP3_PortStatus";"1");
@SetField("POP3_EnforceAccess";"0");
@SetField("POP3_TCPNP";"1");

@SetField("SMTP_SSLAnonymous";"1");
@SetField("SMTP_SSLNP";"0");
@SetField("POP3_SSLNP";"1");
@SetField("POP3_SSLPort";"995");
@SetField("POP3_SSLStatus";"0");
@SetField("POP3_SSLCert";"0");

@SetField("SMTP_Port";"25");
@SetField("SMTP_PortStatus";"1");

@SetField("Router_SSLStatus";"0");
@SetField("SMTP_SSLStatus";"0");
@SetField("SMTP_EnforceAccess";"0");
@SetField("SMTP_TCPNP";"0");
@SetField("SMTP_SSLPort";"465");

@SetField("Router_Port";"25");
@SetField("Router_PortStatus";"1");
@SetField("SMTP_AllowAnonymous";"1");
@SetField("Router_SSLPort";"465");

REM {--------------------------------------------------------------------};
REM {Section - DIIOP:};
REM {--------------------------------------------------------------------};

@SetField("IIOP_Port";"63148");
@SetField("IIOP_PortStatus";"1");
@SetField("IIOP_EnforceAccess";"0");
@SetField("IIOP_TCPNP";"1");
@SetField("IIOP_AllowAnonymous";"1");
@SetField("IIOP_SSLPort";"63149");
@SetField("IIOP_SSLStatus";"0");
@SetField("IIOP_SSLNP";"0");
@SetField("IIOP_SSLAnonymous";"1");

REM {--------------------------------------------------------------------};
REM {Section - Remote Debug Manager:};
REM {--------------------------------------------------------------------};

@SetField("RDM_Port";"60000");
@SetField("RDM_PortStatus";"1");
@SetField("RDM_EnforceAccess";"0");
@SetField("RDM_SSLPort";"60001");
@SetField("RDM_SSLStatus";"0");

REM {--------------------------------------------------------------------};
REM {Section - Server Controller:};
REM {--------------------------------------------------------------------};

@SetField("DC_IP_Address";"");
@SetField("DC_Port";"2050");

REM {--------------------------------------------------------------------};
REM {Sub Tab - Proxies:};
REM {--------------------------------------------------------------------};

@SetField("Proxy_HTTP";"");
@SetField("Proxy_FTP";"");
@SetField("Proxy_Gopher";"");
@SetField("Proxy_SSL";"");
@SetField("Proxy_NotesHTTP";"");
@SetField("Proxy_SOCKs";"");
@SetField("No_Proxy";"");

REM {--------------------------------------------------------------------};
REM {Tab - Server Tasks:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Administration Process:};
REM {--------------------------------------------------------------------};

@SetField("AdminPMaxThreads";8);
@SetField("AdminPMailfileDelInt";"");
@SetField("AdminPInterval";"");
@SetField("AdminPWeekDays";"1");
@SetField("AdminPDailyTime";"");
@SetField("AdminPDelayedTime";"");
@SetField("AdminPNameChangeExpiration";21);
@SetField("InboxTrimDays";"7");
@SetField("AdminPLogSetting";"0");
@SetField("InboxTrimTime";"1:00:00 AM");
@SetField("AdminPSuspendStart";"");
@SetField("InboxTrimLoc";"2");
@SetField("AdminPSuspendEnd";"");
@SetField("InboxTrimUsers";"");
@SetField("AdminPSuspendRange";"");

REM {--------------------------------------------------------------------};
REM {Section - Agent Manager:};
REM {--------------------------------------------------------------------};

@SetField("gracedays";90);
@SetField("MaxRemDocs";500);
@SetField("SaveUnread";"");
@SetField("ReloadTime";"12:00:00 AM");
@SetField("StartTime";"8:00:00 AM");
@SetField("MaxStartTime";"8:00:00 PM");
@SetField("EndTime";"8:00:00 PM");
@SetField("MaxEndTime";"8:00:00 AM");
@SetField("ConcurrentAgents";1);
@SetField("MaxConcurrentAgents";2);
@SetField("MaxExecution";600);
@SetField("MaxMaxExecution";60);
@SetField("PercentTime";50);
@SetField("MaxPercentTime";70);

REM {--------------------------------------------------------------------};
REM {Section - Domain Catalog:};
REM {--------------------------------------------------------------------};

@SetField("CatalogType";"0");
REM {Limit domain cataloging to the following servers:};
@SetField("CatalogDomainScope";"");
REM {Catalog Schedule:};
@SetField("CatalogEnabled";"0");
@SetField("CatalogSchedule";"7:00:00 AM" : "8:00:00 PM");
@SetField("CatalogInterval";360);
@SetField("CatalogWeekDays";"1" : "2" : "3" : "4" : "5" : "6" : "7");
REM {Limit domain wide indexing to the following servers:};
@SetField("CatalogIndexerScope";"");

REM {--------------------------------------------------------------------};
REM {Section - Directory Cataloger:};
REM {--------------------------------------------------------------------};

@SetField("EDFilenames";"");
@SetField("Enabled";"0");
@SetField("Schedule";"8:00:00 AM" : "10:00:00 PM");
@SetField("Interval";60);
@SetField("WeekDays";"1" : "2" : "3" : "4" : "5" : "6" : "7");

REM {--------------------------------------------------------------------};
REM {Section - Internet Cluster Manager:};
REM {--------------------------------------------------------------------};

@SetField("ICMClusterName";"");
@SetField("ICMNotesPort";"");
@SetField("ICMSSLKeyfile";"keyfile.kyr");
@SetField("ICM_BrowseDatabases";"0");
@SetField("ICMConfiguration";"1");
@SetField("ICMHostname";"");
@SetField("ICMRemoteServerName";"");
@SetField("ICMHTTP_Port";80);
@SetField("ICMHTTP_PortStatus";"1");
@SetField("ICMHTTP_SSLPort";443);
@SetField("ICMHTTP_SSLStatus";"0");

REM {--------------------------------------------------------------------};
REM {Section - Web Retriever:};
REM {--------------------------------------------------------------------};

@SetField("WebDbName";"web.nsf");
@SetField("WebAllow";"*");
@SetField("WebServices";"HTTP" : "FTP" : "GOPHER");
@SetField("WebDeny";"");
@SetField("WebRetrievers";50);
@SetField("WebLogLevel";"0");
@SetField("WebUpdateCache";"1");
@SetField("SMTP_Domain";"");

REM {--------------------------------------------------------------------};
REM {Section - Remote Debug Manager:};
REM {--------------------------------------------------------------------};

@SetField("RDMgrEnbld";"0");
@SetField("RDOff";24);
@SetField("RDWait";0);

REM {--------------------------------------------------------------------};
REM {Tab - Internet Protocols:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

@SetField("HTTP_HostName";"tobechanged.yourdomain.com");
@SetField("HTTP_HomeURL";"/homepage.nsf?Open");
@SetField("HTTP_BindToHostName";"1");
@SetField("HTTP_HTMLDir";"domino\html");
REM {DNS lookup:};
@SetField("HTTP_DNSLookup";"0");
@SetField("HTTP_IconsDir";"domino\icons");
@SetField("HTTP_DNSLookupCache";"1");
@SetField("HTTP_IconsPath";"/icons");
@SetField("HTTP_DNSCacheSize";256);
@SetField("HTTP_CGIDir";"domino\cgi-bin");
@SetField("HTTP_DNSCacheFoundTimeout";120);
@SetField("HTTP_CGIPath";"/cgi-bin");
@SetField("HTTP_DNSCacheNotFoundTimeout";240);
@SetField("HTTP_MaxActiveThreads";40);
@SetField("HTTP_DatabaseBrowsing";"0");
REM {Access log format:};
@SetField("HTTP_AccessLogFormat";"0");
@SetField("HTTP_MaxRequests";1);
@SetField("HTTP_LogTime";"0");
@SetField("HTTP_MinActiveThreads";20);
REM {Log file duration:};
@SetField("HTTP_LogFileDuration";"0");
@SetField("HTTP_Welcome";"default.htm");
@SetField("HTTP_MaxLogEntrySize";10);
@SetField("HTTP_MaxCachedCommands";"128");
@SetField("HTTP_MaxLogFileSize";0);
@SetField("HTTP_Audience";"2");
@SetField("HTTP_LogToFiles";"0");
@SetField("HTTP_FilterLibrary";"");
REM {Domlog.nsf:};
@SetField("HTTP_LogToDomLog";"1");
REM {Directory for log files:};
@SetField("HTTP_LogDirectory";"");
@SetField("HTTP_ExcludeURLs";"");
@SetField("HTTP_AccessLog";"access");
@SetField("HTTP_ExcludeMethods";"");
@SetField("HTTP_AgentLog";"agent");
@SetField("HTTP_ExcludeMIMETypes";"");
@SetField("HTTP_RefererLog";"referer");
@SetField("HTTP_ExcludeUserAgents";"");
@SetField("HTTP_ErrorLog";"error");
@SetField("HTTP_ExcludeReturnCodes";"");
@SetField("HTTP_CGIErrorLog";"cgi-error");
@SetField("HTTP_NoLog";"");
@SetField("HTTP_11Connections";"1");
@SetField("HTTP_InputTimeout";2);
@SetField("HTTP_Max11Requests";5);
@SetField("HTTP_OutputTimeout";20);
@SetField("HTTP_PersistentTimeout";180);
@SetField("HTTP_ScriptTimeout";5);
@SetField("HTTP_RequestTimeout";60);
@SetField("HTTP_IdleThreadTimeout";0);
@SetField("HTTP_RNInputTimeout";15);
@SetField("HTTP_RNOutputTimeout";180);
@SetField("HTTP_RNCGITimeout";180);
@SetField("HTTP_ListenQueueSize";512);
@SetField("HTTP_MaxURLBytes";4);
@SetField("HTTP_MaxConcurrentNetwkSessions";2000);
@SetField("HTTP_MaxURLPathSegments";64);
@SetField("HTTP_AllowDenyPriority";"1");
@SetField("HTTP_MaxHeaderLines";48);
@SetField("HTTP_AllowIPList";"");
@SetField("HTTP_MaxHeaderBytes";16);
@SetField("HTTP_DenyIPList";"");
@SetField("HTTP_MaxContentLength";10000);
@SetField("HTTP_Comp";"0");
@SetField("HTTP_CompEUA";"");
@SetField("HTTP_CompMinS";1);
@SetField("HTTP_CompMaxS";128);
@SetField("HTTP_CompMM";20);
@SetField("HTTP_CompIMT";"text/*" : "application/*");
@SetField("HTTP_CompEMT";"");
@SetField("HTTP_EnableSessionAuth";"1");
@SetField("HTTP_JavaServletSupport";"0");
@SetField("HTTP_IdleSessionTimeout";30);
@SetField("HTTP_SSOCfg";"");

REM {--------------------------------------------------------------------};
REM {Section - Java Servlets:};
REM {--------------------------------------------------------------------};

@SetField("HTTP_ServletPath";"/servlet");
@SetField("HTTP_ForceLoginOnSSL";"0");
@SetField("HTTP_JSClasspath";"domino\servlet");
@SetField("HTTP_MaxActiveSessions";1000);
@SetField("HTTP_JSFileExtensions";"");
@SetField("HTTP_EnableJSessions";"1");
@SetField("HTTP_CompanionStack";"0");
@SetField("HTTP_IdleJSTimeout";15);
@SetField("HTTP_RedirectUseHTTPS";"0");
@SetField("HTTP_MaxActiveJSessions";1000);

REM {--------------------------------------------------------------------};
REM {Section - Generating References:};
REM {--------------------------------------------------------------------};
@SetField("HTTP_RedirectServerName";"");
@SetField("HTTP_EnableJSPersistence";"0");
@SetField("HTTP_RedirectPortNo";81);
@SetField("HTTP_MaxCachedDesigns";"128");
@SetField("HTTP_MaxPostDataLength";"0");
@SetField("HTTP_MaxCachedUsers";"64");
@SetField("HTTP_CompressUploadedFiles";"0");
@SetField("HTTP_ExpireCachedUsers";"120");
@SetField("HTTP_PrfCookieOption";"2");
@SetField("HTTP_ResourceLang";"en");
@SetField("HTTP_useUserLocale";"1");
@SetField("HTTP_AltResourceLang";"");
@SetField("HTTP_ImageFormat";"0");
@SetField("HTTP_UTF8";"0");
@SetField("HTTP_ImageProgressive";"1");
@SetField("HTTP_NoUTF8Forms";"0");
@SetField("HTTP_ImageQuality";75);
@SetField("HTTP_DefViewRows";30);
@SetField("HTTP_CSDefault";"1");
@SetField("HTTP_CS5Default";"2");
@SetField("HTTP_MaxViewRows";300);
@SetField("HTTP_CSWestern";"32");
@SetField("HTTP_DefSearchMax";250);
@SetField("HTTP_CSCentralEuropean";"80");
@SetField("HTTP_MaxSearchMax";500);
@SetField("HTTP_CSJapanese";"18");
@SetField("HTTP_GenBangUrls";"0");
@SetField("HTTP_CSTaiwanese";"26");
@SetField("HTTP_EnableRedirectCmd";"0");
@SetField("HTTP_CSChinese";"27");
@SetField("HTTP_CSKorean";"24");
@SetField("HTTP_CSCyrillic";"3308");
@SetField("HTTP_CSGreek";"83");
@SetField("HTTP_CacheDir";"domino\cache");
@SetField("HTTP_CSTurkish";"84");
@SetField("HTTP_MaxCacheSize";50);
@SetField("HTTP_CSThai";"144");
@SetField("HTTP_DeleteCache";"0");
@SetField("HTTP_CSBaltic";"87");
@SetField("HTTP_EnableGC";"1");
@SetField("HTTP_CSArabic";"86");
@SetField("HTTP_GCInterval";60);
@SetField("HTTP_CSHebrew";"3356");
@SetField("HTTP_CSVietnamese";"3310");
@SetField("HTTP_Version";1);
@SetField("HTTP_CSIndic";"171");
@SetField("HTTP_AutoDetect";"0");

REM {--------------------------------------------------------------------};
REM {Section - Web Agents and Web Services:};
REM {--------------------------------------------------------------------};

@SetField("HTTP_asynchronizeAgents";"0");
@SetField("HTTP_webAgentTimeout";0);

@SetField("HTTP_HeaderCharset";"1");
@SetField("HTTP_MetaCharset";"0");

REM {--------------------------------------------------------------------};
REM {Section - Domino XML Services:};
REM {--------------------------------------------------------------------};

@SetField("HTTP_DomWSAppSpace";"1");
@SetField("HTTP_DomWSAddinMaxThreads";20);
@SetField("HTTP_DomWSForceFromValue";"1");

REM {--------------------------------------------------------------------};
REM {section - DIIOP:};
REM {--------------------------------------------------------------------};

@SetField("IIOP_HtmlDir";"");
@SetField("IIOP_IdleMinsAllowed";60);
@SetField("IIOP_IORHost";"");
@SetField("IIOP_ThreadPoolSize";10);

REM {--------------------------------------------------------------------};
REM {Tab - OS Monitors:};
REM {--------------------------------------------------------------------};

@SetField("DiskC";"");
@SetField("SpndlCtC";"1");
@SetField("DiskO";"");
@SetField("SpndlCtO";"1");
@SetField("DiskD";"");
@SetField("SpndlCtD";"1");
@SetField("DiskP";"");
@SetField("SpndlCtP";"1");
@SetField("DiskE";"");
@SetField("SpndlCtE";"1");
@SetField("DiskQ";"");
@SetField("SpndlCtQ";"1");
@SetField("DiskF";"");
@SetField("SpndlCtF";"1");
@SetField("DiskR";"");
@SetField("SpndlCtR";"1");
@SetField("DiskG";"");
@SetField("SpndlCtG";"1");
@SetField("DiskS";"");
@SetField("SpndlCtS";"1");
@SetField("DiskH";"");
@SetField("SpndlCtH";"1");
@SetField("DiskT";"");
@SetField("SpndlCtT";"1");
@SetField("DiskI";"");
@SetField("SpndlCtI";"1");
@SetField("DiskU";"");
@SetField("SpndlCtU";"1");
@SetField("DiskJ";"");
@SetField("SpndlCtJ";"1");
@SetField("DiskV";"");
@SetField("SpndlCtV";"1");
@SetField("DiskK";"");
@SetField("SpndlCtK";"1");
@SetField("DiskW";"");
@SetField("SpndlCtW";"1");
@SetField("DiskL";"");
@SetField("SpndlCtL";"1");
@SetField("DiskX";"");
@SetField("SpndlCtX";"1");
@SetField("DiskM";"");
@SetField("SpndlCtM";"1");
@SetField("DiskY";"");
@SetField("SpndlCtY";"1");
@SetField("DiskN";"");
@SetField("SpndlCtN";"1");
@SetField("DiskZ";"");
@SetField("SpndlCtZ";"1");

REM {--------------------------------------------------------------------};
REM {Tab - Transaction Logging:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

REM {Transactional logging:};
@SetField("TRANSLOG_Status";"1");
REM {Transaction log paths:};
@SetField("TRANSLOG_Path";"logdir");
@SetField("TRANSLOG_Style";"0");
@SetField("TRANSLOG_UseAll";"0");
REM {Transactional logging size:};
@SetField("TRANSLOG_MaxSize";4096);
@SetField("TRANSLOG_AutoFixup";"1");
@SetField("TRANSLOG_Performance";"2");

REM {--------------------------------------------------------------------};
REM {Tab - Miscellaneous:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Contact Info:};
REM {--------------------------------------------------------------------};

@SetField("Location";"");
@SetField("Department";"");
@SetField("Comment";"");
@SetField("ServerDescription";"");

REM {--------------------------------------------------------------------};
REM {Section - Quotas:};
REM {--------------------------------------------------------------------};

@SetField("QtaMthd";"1");

REM {--------------------------------------------------------------------};
REM {Tab - Sametime Server - Only for ST Community servers:};
REM {--------------------------------------------------------------------};

@SetField("STVPClientPort";1533);
@SetField("STPort_T120";8081);
@SetField("STPort_VP";1516);
@SetField("STPort_T123";1503);
@SetField("STCommunityHTTPSPort";1533);
@SetField("STMeetingHTTPSPort";8081);
@SetField("STCommunityHTTPTunneling";"1");
@SetField("STCommunityHTTPTunnelingPort";8082);
@SetField("STMeetingHTTPTunnelingPort";8081);
@SetField("STMaxCommunityConnections";8000);
@SetField("ST_HostName";"");
@SetField("STDirChunkSize";100);
@SetField("ST_BindToHostName";"0");
@SetField("STDirRefreshInterval";60);
@SetField("STActiveMeetingsLimitEnabled";"");
@SetField("STActiveMeetingsLimit";100);
@SetField("STConfigRefreshInterval";60);
@SetField("STTotalUsersLimitEnabled";"");
@SetField("STTotalUsersLimit";500);
@SetField("STMeetingUsersLimitEnabled";"");
@SetField("STMeetingUsersLimit";50);
@SetField("STAutoExtendMeetingEnabled";"1");
@SetField("STMeetingExtendTime";15);
@SetField("STLogTime";"0");
@SetField("STCommunityLogin";"1");
@SetField("STCommunityLoginFailed";"");
@SetField("STCommunityTotalConnections";"");
@SetField("STLogHistory";30);
@SetField("STCommunityLogUsageFrequency";10);
@SetField("STLogToFiles";"0");
@SetField("STMeetingLogEvents";"1");
@SetField("STMeetingLogParticipants";"1");
@SetField("STLogToNSF";"1");
@SetField("STLogFileName";"sametime.log");

REM {--------------------------------------------------------------------};
REM {Tab - Shared Mail - DO NOT USE:};
REM {--------------------------------------------------------------------};

@SetField("SHARED_MAIL";"");

REM {--------------------------------------------------------------------};
REM {Tab - DAOS:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

@SetField("DAOSEnable";"0");
@SetField("DAOSMinObjSize";"64000");
@SetField("DAOSBasePath";"DAOS");
@SetField("DAOSObjDelete";30);

REM {--------------------------------------------------------------------};
REM {Tab - DB2:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - DB2:};
REM {--------------------------------------------------------------------};

@SetField("DB2Host";"");
@SetField("DB2Port";"");
@SetField("DB2Inst";"");
@SetField("DB2Db";"");
@SetField("DB2Dir";"");
@SetField("DB2Def";"1");
@SetField("DB2UDFSrv";"");
@SetField("DB2UDFPath";"");
@SetField("DB2GroupMax";10);
@SetField("DB2DefUser";"");
@SetField("DB2QVRows";500);
@SetField("DB2AcWrn";15);

REM {--------------------------------------------------------------------};
REM {Tab - Lotus Traveler:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Basic:};
REM {--------------------------------------------------------------------};

@SetField("tsMaxMem";512);
@SetField("tsIPCPort";50125);
@SetField("tsIPCPort2";50126);
@SetField("tsExternalURL";"");

REM {--------------------------------------------------------------------};
REM {Section - Lotus Traveler Access:};
REM {--------------------------------------------------------------------};

@SetField("tsAddressBookAccess";"1");
@SetField("tsAccessServerInput";" ");
@SetField("tsAllowAccess";"*");
@SetField("tsDenyAccess";"");
@SetField("tsUserCMD";"0");
@SetField("tsUserWipe";"1");

REM {--------------------------------------------------------------------};
REM {Section - Log Settings:};
REM {--------------------------------------------------------------------};

@SetField("tsLogLevel";"3");
@SetField("tsTrcLevel";"0");
@SetField("tsTrcCmp";"*");
@SetField("tsTrcSize";50);
@SetField("tsTrcFiles";10);
@SetField("tsTrcPriv";"2" : "4" : "8" : "16");

REM {--------------------------------------------------------------------};
REM {Section - Auto Sync Settings:};
REM {--------------------------------------------------------------------};

@SetField("tsPollTime";3);
@SetField("devPTCPP";8642);
@SetField("tsPHBeatAlg";"2");
@SetField("tsPHBFixed";55);
@SetField("tsPHBInitial";30);
@SetField("tsPHBAmim";30);
@SetField("tsPHBAmaxsec";15);
@SetField("tsPHBAmax";900);
@SetField("tsPHBAretry";30);
@SetField("tsPofflinehr";24);
@SetField("tsPoffline";1440);
@SetField("tsPcleanup";30);

REM {--------------------------------------------------------------------};
REM {Tab - Administration:};
REM {--------------------------------------------------------------------};

REM {--------------------------------------------------------------------};
REM {Section - Administration:};
REM {--------------------------------------------------------------------};

@SetField("Owner";"$Admins");
@SetField("LocalAdmin";"$Admins");
@SetField("PKMinWidth";"0");
@SetField("PKMaxWidth";"1024");
@SetField("PKDefWidth";"1024");
@SetField("PKMaxAge";36500);
@SetField("PKMinDate";"08/01/1977");
@SetField("PKDueDate";"11/28/2106");
@SetField("PKOldKeyDays";365);
SELECT @All




That's it for now. Have fun!

PS. If you think you can do better with scripts then post it here and I will update my methods.

0 comments :

Post a Comment

Thank you for taking the time to comment. Your opinion is important and of value and we appreciate the positive feedback! If you are "Negative Nancy" then please do us, and humanity, a favor, and piss off.

Total Pageviews

Google+ Followers

Pages

Blog Archive

Popular Posts

Recent Comments

Rays Twitter feed

Ads

Web sites come and go and information is lost and therefore some pages are archived. @rayd123 . Powered by Blogger.