The Silence of the Installers

  • Published on
    16-Jul-2015

  • View
    178

  • Download
    3

Embed Size (px)

Transcript

<ul><li><p>The Silence of the Installers </p><p>How silent installers help you automate IBM Connec:ons </p><p>deployments </p></li><li><p>About me </p><p> IBM So&gt;ware Consultant at Fritz &amp; Macziol Specialized in the IBM Connec:ons and IBM Domino Infrastructure </p><p>Bavarian Linux and Scrip:ng Lover, Blogger Speaker at: </p><p>3 </p></li><li><p>About me </p><p>System Architect@WebGate Specialized in IBM Connec:ons and IBM Same:me </p><p>Swiss Bavarian Linux and Scrip:ng Lover, Blogger Speaker at: </p><p>4 </p></li><li><p>Goal Give you an idea on how to automate a single box installa:on (Linux) </p></li><li><p>Prerequisites for the Automa:on </p><p> Needed Linux libraries already installed </p><p> Create a well structured install folder with all needed source les </p></li><li><p>Connec:ons Prerequisites </p><p> IBM Installa:on Manager (IIM) IBM WebSphere Applica:ons Server 8.5.5.2 (including IHS and needed Fix) </p><p> Congure WAS (Dmgr, LDAP, security) IBM DB2 10.1 FP4 (import license) Create users and DBs (codepage 1208) IBM TDI 7.1.1 (including Fixpack 3) Congure LDAP-Prole mapping Populate Proles </p></li><li><p>Connec:ons Installa:on </p><p> IBM Connec:ons 5 IBM Connec:ons 5 CR1 </p></li><li><p>Post-Installa:on </p><p> Congure IHS Create keystores and certs Exchanging cer:cates Congure IHS for SSL Congure Connec:ons: Congure Admins IHS File downloads Dic:onaries </p></li><li><p>Silent Installs </p><p> Command Line Dene all install parameters through: Command line arguments/op:ons Templates/Response Files Combina:on </p><p>Example: ./imcl -input /opt/InstallFiles/ResponseFiles/install_conn5.xml -log /opt/InstallFiles/log/Conn5.xml -silent -acceptLicense -showProgress </p></li><li><p>How to install IIM silently </p><p> We only want to dene Installa:on Directory and log path </p><p> Can be easily done with command line arguments hap://www-01.ibm.com/support/knowledgecenter/api/content/SSDV2W_1.8.0/com.ibm.silen:nstall12.doc/topics/r_silent_inst_cmd_arg.html </p><p> ./installc -log /opt/InstallationFiles/log/IIM.log -acceptLicense -installationDirectory /opt/IBM/IIM showProgress </p><p>Always use the latest 32bit IIM version (1.8 as of today) </p></li><li><p>How to install WAS silently </p><p> Has to be installed with IIM A lot of parameters have to be dened (paths, install les, ) </p><p> Not all of them can be provided by command line arguments </p><p>-&gt; We will use a response le But rst we have to create the response le </p></li><li><p>Create a response le for WAS </p><p>Can only be done through GUI /opt/IBM/IIM/eclipse/IBMIM -record /opt/InstallFiles/ResponseFiles/install_WAS.xml -skipInstall /opt/InstallFiles/Skipped </p></li><li><p>Create a response le for WAS </p><p> Dene what should be installed (WAS will directly be installed with FP2) </p></li><li><p>Create a response le for WAS </p><p> Select the x </p></li><li><p>Create a response le for WAS Iden:fy all variables which should be customisable </p></li><li><p>Create a response le for WAS </p></li><li><p>Create a response le for WAS </p></li><li><p>Create a response le for WAS </p></li><li><p>Create a response le for WAS </p></li><li><p>Create a response le for WAS Replace all variables with placeholders and add them to the beginning of the response le </p></li><li><p>Run a silent install of WAS Now run a silent install with the template and provide all needed variables (one line) /opt/IBM/IIM/eclipse/tools/imcl -input /opt/InstallFiles/ResponseFiles/install_WAS.xml -acceptLicense -showProgress -variables HTTP=/opt/IBM/HTTPServer,WAS_DIR=/opt/IBM/WebSphere/AppServer,WAS_PLUGIN_DIR=/opt/IBM/WebSphere/Plugins,WAS_TOOL_DIR=/opt/IBM/WebSphere/Toolbox,IIM_SHARED=/opt/IBM/IMShared,INSTALL_PATH=/opt/InstallFiles/ </p></li><li><p>Congure WAS Create Cell (Dmgr, AppServer) Congure LDAP Dene Admin Enable Applica:on security Dene SSO domain Will be done with some python scripts and wsadmin -&gt; Use Connec:ons Community Scripts to speed up installa:on, congura:on and documenta:on </p></li><li><p>Congure - Example, create_dmgr.py print 'Create Deployment Manager' subprocess.call(WAS_DIR + '/bin/manageprofiles.sh -create -profileName ' + PROFILE_NAME +' -profilePath ' + WAS_PROFILE_DIR + '/' + PROFILE_NAME + ' -templatePath ' + WAS_DIR + '/profileTemplates/cell/dmgr -nodeName ' + NODE_NAME + ' -cellName ' + CELL_NAME + ' -hostName ' + HOST + ' -adminUserName ' + ADMIN_USER + ' -adminPassword ' + ADMIN_PASSWORD + ' -appServerNodeName ' + APP_NODE_NAME + ' -enableAdminSecurity true -nodeProfilePath ' + WAS_PROFILE_DIR + '/' + NODE_PROFILE_NAME + ' -omitAction "samplesInstallandConfig defaultAppDeployAndConfig"', shell=True) print 'Create Node' subprocess.call(WAS_DIR + '/bin/manageprofiles.sh -create -profileName ' + NODE_PROFILE_NAME + ' -profilePath' + WAS_PROFILE_DIR + '/' + NODE_PROFILE_NAME + ' -templatePath ' + WAS_DIR + '/profileTemplates/cell/default -nodeName ' + NODE_NAME + ' -cellName ' + CELL_NAME + ' -hostName ' + HOST + ' -adminUserName ' + ADMIN_USER + ' -adminPassword ' + ADMIN_PASSWORD + ' -appServerNodeName ' + APP_NODE_NAME + ' -dmgrProfilePath ' + WAS_PROFILE_DIR + '/' + PROFILE_NAME + ' -enableAdminSecurity true -omitAction "samplesInstallandConfig defaultAppDeployAndConfig"', shell=True) print 'Preparing the Scripts with variables' shutil.copy2(INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap_template.py', INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap.py') replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap.py','@LOGIN_PROPERTIES@', LOGIN_PROPERTIES) replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap.py','@LDAP_HOST@', LDAP_HOST) replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap.py','@LDAP_BIND_USER@', LDAP_BIND_USER) replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr_ldap.py','@LDAP_BIND_PASSWORDR@', LDAP_BIND_PASSWORD) shutil.copy2(INSTALL_PATH + 'InstallScripts/configure_dmgr_template.py', INSTALL_PATH + 'InstallScripts/configure_dmgr.py') replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr.py','@ADMIN_DN@', ADMIN_DN) replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr.py','@ADMIN_UID@', ADMIN_UID) replaceText(INSTALL_PATH + 'InstallScripts/configure_dmgr.py','@SSO_DOMAIN@', SSO_DOMAIN) print 'starting DMGR' subprocess.call(WAS_DIR + '/bin/startManager.sh', shell=True) subprocess.call(WAS_DIR + '/bin/wsadmin.sh -lang jython -username ' + ADMIN_USER + ' -password ' + ADMIN_PASSWORD + ' -f ' + INSTALL_PATH +'InstallScripts/configure_dmgr_ldap.py', shell=True) print 'stopping DMGR' subprocess.call(WAS_DIR + '/bin/stopManager.sh -username ' + ADMIN_USER + ' -password ' + ADMIN_PASSWORD, shell=True) print 'starting DMGR' subprocess.call(WAS_DIR + '/bin/startManager.sh', shell=True) subprocess.call(WAS_DIR + '/bin/wsadmin.sh -lang jython -username ' + ADMIN_USER + ' -password ' + ADMIN_PASSWORD + ' -f ' + INSTALL_PATH +'InstallScripts/configure_dmgr.py', shell=True) print 'stopping DMGR' subprocess.call(WAS_DIR + '/bin/stopManager.sh -username ' + ADMIN_USER + ' -password ' + ADMIN_PASSWORD, shell=True) print 'starting DMGR' subprocess.call(WAS_DIR + '/bin/startManager.sh', shell=True) subprocess.call(WAS_PROFILE_DIR + '/' + NODE_PROFILE_NAME + '/bin/syncNode.sh ' + HOST + ' -username ' + ADMIN_USER + ' -password ' + ADMIN_PASSWORD, shell=True) </p></li><li><p>Create a response les for DB2 </p><p>Can be done with DB2 Setup wizard Remark: Start with the Fixpack from the beginning (dont forget to import license key!) /opt/InstallFiles/DB2/universal/db2setup </p></li><li><p>Create a response le for TDI/Connec:ons </p><p>Can be done with TDI Setup wizard ./install_tdiv711_linux_x86_64.bin -r /opt/InstallFiles/ResponseFiles/install_TDI2.rsp Can be done with the IIM /opt/IBM/IIM/eclipse/IBMIM -record /opt/InstallFiles/ResponseFiles/install_Conn5.xml -skipInstall /opt/InstallFiles/Skipped </p></li><li><p>Run a silent install DB2 (one line): /opt/InstallFiles/DB2/universal/db2setup -r /opt/InstallFiles/ResponseFiles/install_DB2.rsp -l /opt/IBM/log/db2.log </p><p>TDI (one line): /opt/InstallFiles/TDI/Server/linux_x86_64/install_tdiv711_linux_x86_64.bin -i silent f /opt/InstallFiles/ResponseFiles/install_TDI.rsp </p><p>Connec:ons (one line): /opt/IBM/IIM/eclipse/tools/imcl -input /opt/InstallFiles/ResponseFiles/install_conn5_template.xml -log /opt/InstallFiles/log/Conn5.xml -silent -acceptLicense -showProgress </p></li><li><p>Congura:on of DB2/TDI </p><p> Create Connec:ons DBs Enable Online Backup Schedule Backups Extract TDIsol Create sync mapping Sync Schedule sync </p></li><li><p>Congura:on of IBM Connec:ons </p><p> Dene HIS File download through IHS Heap Sizes Max/Min datasources J2EE security roles </p></li><li><p>Let put this all together Combine Steps Create a Python script </p><p>for the menu which combines all scripts </p><p> Work with templates Replace placeholders in </p><p>these templates through scrip:ng and create an actual response le </p><p> Execute silent installers with command line arguments and response les </p></li></ul>