The document discusses automating IBM Connections deployments using silent installers on Linux. It provides an overview of the prerequisites, including required libraries and source files. It describes using a property file to define installation parameters and the overall workflow, from installing prerequisites to post-installation configuration. Silent installs allow defining all install parameters through command line arguments or templates to fully automate the process.
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
The Silence of the Installers
1. www.ics.ug
#icsug
The
Silence
of
the
Installers
How
silent
installers
help
you
automate
IBM
Connections
deployments
Klaus
Bild
WebGate
Consulting
AG
2. www.ics.ug
#icsug
About
me
» System
Architect@WebGate
» Specialized
in
IBM
Connections
and
Sametime
» Swiss
Bavarian
» Scripting
Lover,
Blogger
» Speaker
at:
3. www.ics.ug
#icsug
Goal
» Give
you
an
idea
on
how
to
automate
a
single
box
installation
(Linux)
4. www.ics.ug
#icsug
Prerequisites
for
the
Automation
» Needed
Linux
libraries
already
installed
» All
source
files
on
target
system
10. www.ics.ug
#icsug
How
to
install
IIM
silently
» We
only
want
to
define
Installation
Directory
and
log
path
» Can
be
easily
done
with
command
line
arguments
http://www-‐01.ibm.com/support/knowledgecenter/api/content/SSDV2W_1.8.0/
com.ibm.silentinstall12.doc/topics/r_silent_inst_cmd_arg.html
./installc -log /opt/InstallationFiles/log/IIM.log -acceptLicense
-installationDirectory /opt/IBM/IIM –showProgress
Always
use
the
latest
32bit
IIM
version
(1.8.2
as
of
today)
11. www.ics.ug
#icsug
How
to
install
WAS
silently
» Has
to
be
installed
with
IIM
» A
lot
of
parameters
have
to
be
defined
(paths,
install
files,
…)
» Not
all
of
them
can
be
provided
by
command
line
arguments
-‐>
We
will
use
a
response
file
» But
first
we
have
to
create
the
response
file
12. www.ics.ug
#icsug
Create
a
response
file
for
WAS
Can
only
be
done
through
GUI
/opt/IBM/IIM/eclipse/IBMIM -record /opt/InstallFiles/ResponseFiles/
install_WAS.xml -skipInstall /opt/InstallFiles/Skipped
Add
all
WAS,
FPs
and
Fixes
repos
13. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Define
what
should
be
installed
(WAS
will
directly
be
installed
with
FP3)
14. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Select
the
fix
15. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Define
all
paths…
in
the
following
screens
16. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Define
all
paths…
in
the
following
screens
17. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Open
the
response
file
and
identify
all
variables
which
should
be
customisable
<?xml version='1.0' encoding='UTF-8'?>
<agent-input>
<variables>
<variable name='sharedLocation' value='/opt/IBM/IMShared'/>
</variables>
<server>
<repository location='/opt/InstallFiles/extracted/WAS/Server'/>
<repository location='/opt/InstallFiles/extracted/WAS/FP0000003'/>
<repository location='/opt/InstallFiles/extracted/WAS_Suppl/Server'/>
<repository location='/opt/InstallFiles/extracted/WAS_Suppl/FP0000003'/>
<repository location='/opt/InstallFiles/8.5.0.0-WS-WASJavaSDK-LinuxX64-
IFPI28920.zip'/>
</server>
18. www.ics.ug
#icsug
Create
a
response
file
for
WAS
<profile id='IBM HTTP Server V8.5' installLocation='/opt/IBM/HTTPServer'>
<data key='eclipseLocation' value='/opt/IBM/HTTPServer'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='user.ihs.http.server.service.name' value='none'/>
<data key='user.ihs.httpPort' value='80'/>
<data key='user.ihs.installHttpService' value='false'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<install modify='false'>
<!-- 8.5.0.0-WS-WASJavaSDK-LinuxX64-IFPI28920 -->
<offering profile='IBM HTTP Server V8.5' id='8.5.0.0-WS-WASJavaSDK-LinuxX64-
IFPI28920'/>
<!-- IBM HTTP Server for WebSphere Application Server 8.5.5.3 -->
<offering profile='IBM HTTP Server V8.5' id='com.ibm.websphere.IHS.v85'
version='8.5.5003.20140730_1249' features='core.feature,arch.64bit' installFixes='none'/>
</install>
19. www.ics.ug
#icsug
Create
a
response
file
for
WAS
<profile id='IBM WebSphere Application Server V8.5' installLocation='/opt/IBM/
WebSphere/AppServer'>
<data key='eclipseLocation' value='/opt/IBM/WebSphere/AppServer'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<install modify='false'>
<!-- 8.5.0.0-WS-WASJavaSDK-LinuxX64-IFPI28920 -->
<offering profile='IBM WebSphere Application Server V8.5' id='8.5.0.0-WS-WASJavaSDK-
LinuxX64-IFPI28920'/>
<!-- IBM WebSphere Application Server Network Deployment 8.5.5.3 -->
<offering profile='IBM WebSphere Application Server V8.5'
id='com.ibm.websphere.ND.v85' version='8.5.5003.20140730_1249'
features='core.feature,ejbdeploy,thinclient,embeddablecontainer,com.ibm.sdk.6_64bit'
installFixes='none'/>
</install>
20. www.ics.ug
#icsug
Create
a
response
file
for
WAS
<profile id='Web Server Plug-ins for IBM WebSphere Application Server V8.5'
installLocation='/opt/IBM/WebSphere/Plugins'>
<data key='eclipseLocation' value='/opt/IBM/WebSphere/Plugins'/>
<data key='user.import.profile' value='false'/>
<data key='cic.selector.os' value='linux'/>
<data key='cic.selector.arch' value='x86'/>
<data key='cic.selector.ws' value='gtk'/>
<data key='cic.selector.nl' value='en'/>
</profile>
<install modify='false'>
<!-- 8.5.0.0-WS-WASJavaSDK-LinuxX64-IFPI28920 -->
<offering profile='Web Server Plug-ins for IBM WebSphere Application Server V8.5'
id='8.5.0.0-WS-WASJavaSDK-LinuxX64-IFPI28920'/>
<!-- Web Server Plug-ins for IBM WebSphere Application Server 8.5.5.3 -->
<offering profile='Web Server Plug-ins for IBM WebSphere Application Server V8.5'
id='com.ibm.websphere.PLG.v85' version='8.5.5003.20140730_1249'
features='core.feature,com.ibm.jre.6_64bit' installFixes='none'/>
</install>
22. www.ics.ug
#icsug
Create
a
response
file
for
WAS
» Replace
all
variables
with
placeholders
and
add
them
to
the
beginning
of
the
response
file
…<agent-input>
<variables>
<variable name='HTTP' />
<variable name='WAS_DIR' />
<variable name='WAS_PLUGIN_DIR' />
<variable name='WAS_TOOL_DIR' />
<variable name='IIM_SHARED' />
<variable name='INSTALL_PATH_EXT' />
<variable name='INSTALL_PATH' />
</variables>…
…<repository location='${INSTALL_PATH_EXT}WAS/Server'/>…
…<profile id='IBM HTTP Server V8.5' installLocation='${HTTP}'>
<data key='eclipseLocation' value='${HTTP}'/>…
… <profile id='IBM WebSphere Application Server V8.5' installLocation='${WAS_DIR}'>
<data key='eclipseLocation' value='${WAS_DIR}'/>…
23. www.ics.ug
#icsug
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_EXT=/opt/InstallFiles/extracted/,
INSTALL_PATH=/opt/InstallFiles/
24. www.ics.ug
#icsug
Configure
WAS
» Create
Cell
(Dmgr,
AppServer)
» Configure
LDAP
» Define
Admin
» Enable
Application
security
» Define
SSO
domain
» Sync
servers
Will
be
done
with
python
scripts
and
wsadmin
-‐>
Use
Connections
Community
Scripts
to
speed
up
installation,
configuration
and
documentation
25. www.ics.ug
#icsug
Configure
WAS
Workflow
WAS
Create
Cell
LDAP
Server
Configure
LDAP
Define
Admin
Enable
Application
Security
Define
SSO HTTP
Server
Sync
Servers
create_dmgr.py
configure_dmgr_ldap.py
configure_dmgr.py
27. www.ics.ug
#icsug
Create
a
response
files
for
DB2
» Can
be
done
with
DB2
Setup
wizard
» Remark:
Start
with
the
Fixpack
from
the
beginning
(don’t
forget
to
import
license
key!)
/opt/InstallFiles/DB2/universal/db2setup
28. www.ics.ug
#icsug
Create
a
response
files
for
DB2
*------------------------------------------------
-----
* Generated response file used by the DB2 Setup
wizard
* generation time: 10/22/14 9:56 AM
*------------------------------------------------
-----
* Product Installation
LIC_AGREEMENT = ACCEPT
PROD = ENTERPRISE_SERVER_EDITION
FILE = /opt/IBM/db2/V10.1
INSTALL_TYPE = TYPICAL
*-----------------------------------------------
* Das properties
*-----------------------------------------------
DAS_CONTACT_LIST = LOCAL
DAS_SMTP_SERVER = mail.localdomain
* DAS user
DAS_USERNAME = dasusr1
DAS_GROUP_NAME = dasadm1
DAS_HOME_DIRECTORY = /home/dasusr1
* ----------------------------------------------
* Instance properties
* ----------------------------------------------
INSTANCE = inst1
inst1.TYPE = ese
* Instance-owning user
inst1.NAME = db2inst1
inst1.GROUP_NAME = db2iadm1
inst1.HOME_DIRECTORY = /home/db2inst1
inst1.PASSWORD = IBMConnect14
inst1.AUTOSTART = YES
inst1.SVCENAME = db2c_db2inst1
inst1.PORT_NUMBER = 50000
inst1.FCM_PORT_NUMBER = 60000
inst1.MAX_LOGICAL_NODES = 4
inst1.CONFIGURE_TEXT_SEARCH = NO
* Fenced user
inst1.FENCED_USERNAME = db2fenc1
inst1.FENCED_GROUP_NAME = db2fadm1
inst1.FENCED_HOME_DIRECTORY = /home/db2fenc1
inst1.FENCED_PASSWORD = IBMConnect14
* Contact properties
CONTACT = contact1
contact1.CONTACT_NAME = db2inst1
contact1.EMAIL = db2inst1@mail.ch
contact1.PAGER = false
contact1.NEW_CONTACT = YES
contact1.INSTANCE = inst1
*-----------------------------------------------
* Installed Languages
*-----------------------------------------------
LANG = EN
29. www.ics.ug
#icsug
Run
a
silent
install
and
configure
DB2
» Install
DB2
(one
line):
/opt/InstallFiles/DB2/universal/db2setup
-r /opt/InstallFiles/ResponseFiles/install_DB2.rsp
-l /opt/IBM/log/db2.log
» Create
local
users
and
change
codepage
» Create
Connections
DBs
» Enable
Online
Backup
» Schedule
Backups
30. www.ics.ug
#icsug
Configure
DB2
Workflow
DB2Create
local
user
(lcuser)
Create
backup
dir
Create
Cron
Job
for
backups
create_DBs.py
createDBs.sh
cronjob_backup_DBs.sh
Run
offline
backups
Run
online
backups
Configure
online
backups
Create
DBs
configureDBs.sh
31. www.ics.ug
#icsug
Create
a
response
file
for
TDI
» Can
be
done
with
TDI
Setup
wizard
./install_tdiv711_linux_x86_64.bin -r /opt/InstallFiles/
ResponseFiles/install_TDI2.rsp
33. www.ics.ug
#icsug
Configure
TDI
Workflow
TDICopy
needed
DB2
jars
Extract
files
from
TDIsol.tar
to
dir
configure_populate.py
Configure
TDI
(ibmdisrv,
profiles_tdi.properties,
map_dbrepos_from_source.properties)
Sync
LDAP
&
Profiles
DB
Create
TDIsol
dir
34. www.ics.ug
#icsug
Create
a
response
file
for
Connections
» Can
be
done
with
the
IIM
/opt/IBM/IIM/eclipse/IBMIM -record /opt/InstallFiles/ResponseFiles/
install_Conn5.xml -skipInstall /opt/InstallFiles/Skipped
36. www.ics.ug
#icsug
Connections
Post
Install
Workflow
Connections
Create
Keystore
&
Certs
and
add
them
to
IHS
configure_postinstall.py
Enable
SSL HTTP
Server
Set
JVM
Heap
sizes
Add
IHS
certs
to
WAS/Plugin
configure_was.py
Add
IHS
to
WAS
and
generate/
distribute
plugin
39. www.ics.ug
#icsug
Let
put
this
all
together
Combine
Steps
» Create
a
Python
script
for
the
menu
which
combines
all
scripts
installmenu.py
» Work
with
templates
» Replace
placeholders
in
these
templates
through
scripting
and
create
an
actual
response
file
» Execute
silent
installers
with
command
line
arguments
and
response
files