Instant Messaging client resources and multiplexor will be installed on two dedicated FE systems: fe-amer-11.example.com and fe-amer-12.example.com. Instant Messaging (server configuration) will be installed on a single BE system in Broomfield: phys-bedge6-2.us.example.com. A pre-requisite for installation of Instant Messaging and Web Server (for IM) is that the im-amer.example.com interface must be plumbed and ifconfig'd up as an entry in the /etc/rc3.d/S80loopbacks file on the FEs. Example entry:
ifconfig lo0:1 plumb ifconfig lo0:1 inet 10.1.82.193 netmask 255.255.255.255 up |
On the BE (phys-bedge6-2.us), the file /etc/hostname.ce1:10 must exist and contain im-amer-01. The ce1:10 interface must be plumbed and up. On all servers, update /etc/passwd, /etc/shadow and /etc/group with the following information:
/etc/passwd: iimuser:x:504:504::/home/iimuser:/bin/pfsh /etc/passwd: webservd:x:80:80::/home/webservd:/bin/pfsh /etc/shadow: iimuser:NP::::::: /etc/shadow: webservd:*LK*::::::: /etc/group: iimgroup::504: /etc/group: webservd::80: |
cd to the directory that contains the JES3 software
# cd /var/tmp/im/java_es_05Q1_im/Solaris_sparc |
Start JES installer
# ./installer -nodisplay |
Select the following options
Select all languages Select the software components: Sun Java(TM) System Web Server 6.1 SP4 2005Q1 (60.58 MB) Sun Java(TM) System Instant Messaging 7 2005Q1 (11.40 MB) Component Selection will be: 1. Instant Messaging Server Core 2. Instant Messenger Resources 3. Access Manager Instant Messaging Service Install directories: Instant Messaging: /opt Web Server: /opt/SUNWwbsvr Select: Configure Later |
Patch IM
# cd /var/tmp/im # /usr/sbin/patchadd -d T118786-05 # /usr/sbin/patchadd -d T118789-06/ |
Run the Instant Messaging configurator:
# cd /opt/SUNWwbsvr # ./configure Sun Java(TM) System Web Server 6.1 2005Q1 SP4 Enter the hostname for this machine [fe-amer-11.us.example.com]: im-amer.example.com Enter your Sun Java System Web Server server port [80]: 80 Enter a content root [/opt/SUNWwbsvr/docs]: Would you like the Web Server to start on system boot (n/y): [y] Enter a valid system user for the Administration Server [root]: (NOTE: USE THE SAME ADMIN PASSWD AS IN THE OTHER WEB INSTALLATIONS FOR EDGE3) Administration Server User Name [admin]: Enter your Administration Server Password : Enter (again) your Administration Server Password : Enter your Administration Server Port [8888]: |
Modify the /opt/SUNWwbsvr/https-im-amer.example.com/config/server.xml file for the newly created web server:
<PROPERTY name="docroot" value="/opt/SUNWwbsvr/docs/im"/> <LS id="ls1" port="80" servername="im-amer.example.com" defaultvs="https-im-amer.example.com" ip="10.1.82.193" security="false" acceptorthreads="1" blocking="false"> <PROPERTY name="docroot" value="/opt/SUNWwbsvr/docs/im"/> |
Create the new docroot for the IM client services:
# cd /opt/SUNWwbsvr/docs # ln -s /opt/SUNWiim/html/ im |
Start the webserver:
# /etc/init.d/webserver01 start |
Run the Instant Messaging configurator:
# cd /opt/SUNWwbsvr # ./configure Sun Java(TM) System Web Server 6.1 2005Q1 SP4 Enter the hostname for this machine [fe-amer-11.us.example.com]: im-amer-01.c entral.example.com Enter your Sun Java System Web Server server port [80]: 80 Enter a content root [/opt/SUNWwbsvr/docs]: Would you like the Web Server to start on system boot (n/y): [y] n Enter a valid system user for the Administration Server [root]: (NOTE: USE THE SAME ADMIN PASSWD AS IN THE OTHER WEB INSTALLATIONS FOR EDGE3) Administration Server User Name [admin]: Enter your Administration Server Password : Enter (again) your Administration Server Password : Enter your Administration Server Port [8888]: |
Modify the /opt/SUNWwbsvr/https-im-amer.example.com/config/server.xml file for the newly created web server:
<PROPERTY name="docroot" value="/opt/SUNWwbsvr/docs-im"/> <LS id="ls1" port="80" servername="im-amer-01.us.example.com" defaultvs="http s-im-amer-01.us.example.com" ip="10.1.82.137" security="false" acceptorth reads="1" blocking="false"/> <PROPERTY name="docroot" value="/opt/SUNWwbsvr/docs-im"/> |
Create the new docroot for the IM client services:
# cd /opt/SUNWwbsvr/ # ln -s /opt/SUNWiim/html/ docs-im |
Start the webserver:
# /etc/init.d/webserver01 start |
Configure Instant Messaging services on two of the FE systems, fe-amer-11.example.com and fe-amer-12.example.com.
Run the Instant Messaging configurator:
# cd /opt/SUNWiim # ./configure -nodisplay Components to configure: Sun Java System Instant Messaging Server Sun Java System Instant Messenger Resources Host name: im-amer DNS Domain name: example.com User ID: iimuser Group ID: iimgroup Instant Messaging Server runtime files directory: /var/opt/SUNWiim Instant Messaging Server Configuration: Domain Name: example.com IM Server port: 9999 Multiplexor port: 9909 Disable Server: yes Remote Server Hostname: im-amer-01.us.example.com Messenger Resources Code Base URL: http://im-amer.example.com:80 Start Instant Messaging Services after successful configuration: no Start Instant Messaging Services on system startup: yes |
Add the SSL certificates
# cd /usr/local/cert/SUN_PKI.cert/im-amer # cp cert8.db /opt/SUNWwbsvr/alias/https-im-amer-cert8.db # cp key3.db /opt/SUNWwbsvr/alias/https-im-amer-key3.db # cp secmod.db /opt/SUNWwbsvr/alias/secmod.db # cp cert8.db /etc/opt/SUNWiim/default/config/https-im-amer-cert8.db # cp key3.db /etc/opt/SUNWiim/default/config/https-im-amer-key3.db # cp secmod.db /etc/opt/SUNWiim/default/config/secmod.db # cp PW /etc/opt/SUNWiim/default/config/PW # cd /opt/SUNWwbsvr/alias # chmod 644 * # cd /etc/opt/SUNWiim/default/config # mv PW sslpassword.conf # chown iimuser:iimgroup * |
Edit the /etc/opt/SUNWiim/default/config/sslpassword.conf file and change it to the following format:
Internal (Software) Token:password_from_PW_file |
Edit the /etc/opt/SUNWiim/default/config/iim.conf file and verify the following parameters:
iim.smtpserver = "mail-amer-xfr.example.com" iim.instancedir = "/opt/SUNWiim" iim.instancevardir = "/var/opt/SUNWiim/default" iim.user = "iimuser" iim.group = "iimgroup" iim_ldap.host = "empldap1.us.example.com:389" iim_ldap.searchbase = "dc=example,dc=com" iim_ldap.usergroupbinddn = "" iim_ldap.usergroupbindcred = "" iim.log.iim_server.severity = "INFO" iim.log.iim_mux.severity = "INFO" iim.log.iim_wd.severity = "INFO" iim_server.domainname = "example.com" iim_server.useport = "True" iim_server.port = "5269" iim_server.usesslport = "False" iim_server.enable = "false" iim_server.clienttimeout = "15" iim_server.usesso = "0" iim.policy.modules = "iim_ldap" iim.userprops.store = "file" iim_mux.listenport = "im-amer.example.com:9909" iim_mux.serverport = "im-amer-01.us.example.com:9999" iim_mux.enable = "true" iim_mux.numinstances = "4" iim_mux.maxthreads = "10" iim_mux.maxsessions = "1000" ! SSL settings iim_mux.usessl = "on" iim_mux.secconfigdir = "/etc/opt/SUNWiim/default/config" iim_mux.keydbprefix = "https-im-amer-" iim_mux.certdbprefix = "https-im-amer-" iim_mux.secmodfile = "secmod.db" iim_mux.certnickname = "Server-Cert" iim_mux.keystorepasswordfile = "sslpassword.conf" iim_wd.enable = "true" iim_wd.period = "300" iim_wd.maxRetries = "3" ! Calendar agent stuff - disable on the FEs iim_agent.enable = "false" iim_agent.agent-calendar.enable = "false" |
Edit the IM client resources to force the use of SSL (all language files must be edited
Edit /opt/SUNWiim/html/index.html, search for and change all instances of the following:
im.html to imssl.html im.jnlp to imssl.jnlp |
Perform the same edits on the index.html files for all languages. The index.html file is found in the following directories:
/opt/SUNWiim/html/de /opt/SUNWiim/html/es /opt/SUNWiim/html/fr /opt/SUNWiim/html/ja /opt/SUNWiim/html/ko /opt/SUNWiim/html/zh /opt/SUNWiim/html/zh_TW |
Configure Instant Messaging on the BE server phys-bedge6-2.us.
Run the Instant Messaging configurator:
# cd to the IM installation directory # cd /opt/SUNWiim # ./configure -nodisplay |
Components to configure: Sun Java System Instant Messaging Server Sun Java System Instant Messenger Resources Host name: im-amer-01 DNS Domain name: central.example.com User ID: iimuser Group ID: iimgroup Instant Messaging Server runtime files directory: /var/opt/SUNWiim Instant Messaging Server Configuration: Domain Name: example.com IM Server port: 9999 Multiplexor port: 9909 Disable Server: no LDAP Host Name: empldap1.us.example.com LDAP Port Number: 389 Base DN: dc=example,dc=com Bind DN: cn=directory manager Bind Password: (enter directory manager password here) SMTP Server Host Name: mail-amer-xfr.example.com Messenger Resources Code Base URL: http://im-amer-01.us.example.com:80 Start Instant Messaging Services after successful configuration: no Start Instant Messaging Services on system startup: yes |
Edit the /etc/opt/SUNWiim/default/config/iim.conf file and verify the following parameters:
iim.smtpserver = "mail-amer-xfr.example.com" iim.instancedir = "/opt/SUNWiim" iim.instancevardir = "/var/opt/SUNWiim/default" iim.user = "iimuser" iim.group = "iimgroup" ! iim_ldap.host = "ds-amer-01.us.example.com:389" iim_ldap.host = "empldap1.us.example.com:389" iim_ldap.searchbase = "dc=example,dc=com" iim_ldap.usergroupbinddn = "" iim_ldap.usergroupbindcred = "" iim.log.iim_server.severity = "INFO" iim.log.iim_mux.severity = "INFO" iim.log.iim_wd.severity = "INFO" iim.log.agent-calendar.severity = "INFO" iim_server.domainname = "example.com" iim_server.useport = "True" iim_server.port = "5269" iim_server.usesslport = "False" iim_server.enable = "true" iim_server.clienttimeout = "15" iim_server.usesso = "0" iim.policy.modules = "iim_ldap" iim.userprops.store = "file" iim_mux.listenport = "im-amer-01.us.example.com:9909" iim_mux.serverport = "im-amer-01.us.example.com:9999" iim_mux.enable = "true" iim_mux.numinstances = "4" iim_mux.maxthreads = "10" iim_mux.maxsessions = "1000" iim_wd.enable = "true" iim_wd.period = "300" iim_wd.maxRetries = "3" |
If you are deploying EdgeMail complexes in multiple locations, each must have local calendar agent to communicate with the other complexes. For each remote complex, such as the one serving Asia located in Japan for this example, perform the following steps:
Create a directory for the calendar agent:
# cd /var/opt/SUNWiim # mkdir cal-agent2-jp |
Create the individual configuration files for the calendar agent:
# cd /etc/opt/SUNWiim/default/config # cp iim.conf cal2.conf |
Edit cal2.conf and change the following parameters:
iim_server.enable = "false" iim_wd.enable = "false" iim_mux.enable = "false" |
Now modify the calendar agent information in the cal2.conf file
iim.instancevardir = "/var/opt/SUNWiim/cal-agent2-jp" ! ! Calendar-IM integration Configuration ! iim_agent.enable="true" ! iim_agent.agent-calendar.enable="true" ! iim_server.components=agent-calendar agent-calendar.jid=calimbot.aedge3-cal1.jp.example.com agent-calendar.password=password agent-calendar.category=component ! JMS Consumers jms.consumers=cal_reminder jms.consumer.cal_reminder.destination=enp:///ics/customalarm jms.consumer.cal_reminder.provider=ens jms.consumer.cal_reminder.type=topic jms.consumer.cal_reminder.param="eventtype=calendar.alarm" jms.consumer.cal_reminder.factory=com.iplanet.im.server.JMSCalendarMessageListener ! JMS providers jms.providers=ens jms.provider.ens.broker=aedge3-cal1.jp.example.com:7997 jms.provider.ens.factory=com.iplanet.ens.jms.EnsTopicConnFactory |
Edit the iim.conf file to modify the Calendar Agent information:
! Calendar-IM integration Configuration iim_agent.enable="true" iim_agent.agent-calendar.enable="true" iim_server.components=agent-calendar,agent-calendar2[,...] agent-calendar.jid=calimbot.bedge5-cal1.us.example.com agent-calendar.password=netscape agent-calendar.category=component agent-calendar2.jid=calimbot.aedge3-cal1.jp.example.com agent-calendar2.password=netscape agent-calendar2.category=component [...] ! JMS Consumers jms.consumers=cal_reminder jms.consumer.cal_reminder.destination=enp:///ics/customalarm jms.consumer.cal_reminder.provider=ens jms.consumer.cal_reminder.type=topic jms.consumer.cal_reminder.param="eventtype=calendar.alarm" jms.consumer.cal_reminder.factory=com.iplanet.im.server.JMSCalendarMessageListener ! JMS providers jms.providers=ens jms.provider.ens.broker=bedge5-cal1.us.example.com:7997 jms.provider.ens.factory=com.iplanet.ens.jms.EnsTopicConnFactory |
Edit the /etc/init.d/sunwiim file to add the additional Calendar Agent information:
#!/bin/sh # # Copyright (c) 1991-2001, by Sun Microsystems, Inc. # #ident "@(#)sunwiim 1.7 96/10/02 SMI" case "$1" in 'start') /opt/SUNWiim/sbin/imadmin start # Start the JP calendar agent /opt/SUNWiim/sbin/imadmin -c /opt/SUNWiim/config/cal2.conf start agent-calendar # Start other calendar agents here if neccessary ;; 'stop') /opt/SUNWiim/sbin/imadmin stop # Stop the JP calendar agent /opt/SUNWiim/sbin/imadmin -c /opt/SUNWiim/config/cal2.conf stop agent-calendar # Stop other calendar agents here if neccessary ;; *) echo "Usage: /etc/init.d/sunwiim { start | stop }" ;; esac exit |