5 Installing Indexing and Search Service

This chapter describes how to install and configure Oracle Communications Indexing and Search Service. If you are installing Indexing and Search Service in a highly available deployment, follow the instructions in "Configuring Indexing and Search Service for High Availability".

Before installing Indexing and Search Service, read these chapters:

Installation Assumptions

The instructions in this chapter assume that:

  • You are deploying Indexing and Search Service on a single host or Solaris zone, or multiple hosts or Solaris zones.

  • Oracle Communications Messaging Server is already installed and prepared for use by Indexing and Search Service.

  • Oracle Directory Server Enterprise Edition (Directory Server) is already installed.

  • You have installed, configured, and started Oracle GlassFish Server as the web container for Indexing and Search Service.

Installing Indexing and Search Service

The tasks to install Indexing and Search Service are as follows:

Downloading the Indexing and Search Service Software

  1. Download the Indexing and Search Service software from the Oracle software delivery website, located at:

    http://edelivery.oracle.com/

  2. Copy the Indexing and Search Service distribution ZIP file to a temporary directory on your Indexing and Search Service hosts and extract the files.

Installing the Indexing and Search Service Software

Choose one of the following methods to install Indexing and Search Service software:

Installing Indexing and Search Service Software in Interactive Mode

To install the Indexing and Search Service software in interactive mode:

  1. Go to the directory where you extracted the Indexing and Search Service files.

  2. Run the Installer.

    commpkg install
    

    For more information about running the Installer, see "commpkg Reference".

  3. Select Indexing and Search Service and proceed with the installation.

  4. Proceed to "Preparing Messaging Server for Indexing and Search Service Integration".

Installing Indexing and Search Service in Silent Mode

When you run the installer in silent mode, you are running a non-interactive session. The installation inputs are taken from the following sources:

  • A silent installation file (also known as a state file)

  • Command-line arguments

  • Default settings

You can use silent mode to install multiple instances of the same software component and configuration without having to manually run an interactive installation for each instance.

To run a silent installation:

  1. Obtain the state file by one of the following means.

    • Use a state file that was previously created from an interactive installation session. State files are created in the /var/opt/CommsInstaller/logs/ directory. The state file name is similar to silent_CommsInstaller_20070501135358. A state file is automatically created every time you run the commpkg install command.

    • Create a silent state file without actually installing the software during the interactive session by running the commpkg install --dry-run command.

  2. Copy the state file to each host and modify the file as needed.

    The state file is formatted like a property file: blank lines are ignored, comment lines begin with a number sign (#), and properties are key/value pairs separated by an equals (=) sign. Table 5-1 lists the state file options.

    Table 5-1 State File Options

    Option Description Example

    VERB

    Specifies which function to perform. For a silent install, VERB is set to install.

    VERB=install

    ALTDISTROPATH

    Specifies an alternate distro path.

    ALTDISTROPATH=SunOS5.10_i86pc_DBG.OBJ/release

    PKGOVERWRITE

    Specifies a boolean indicating whether to overwrite the existing installation packages.

    PKGOVERWRITE=YES

    INSTALLROOT

    Specifies the installation root.

    INSTALLROOT=/opt/sun/comms

    ALTROOT

    Specifies a boolean indicating whether to use an alternate root install.

    ALTROOT=yes

    EXCLUDEOS

    Specifies to not upgrade operating system patches.

    EXCLUDEOS=YES

    EXCLUDESC

    Specifies to exclude shared component patches.

    EXCLUDESC=no

    COMPONENTS

    A space separated list of mnemonics of the components to be installed. You can precede the mnemonic with a ~ to indicate that only the shared components for that product be installed.

    To specify Indexing and Search Service:

    COMPONENTS=JISS

    To view a list of mnemonic product names, run the commpkg info --listPackages command.

    ACCEPTLICENSE

    This option is no longer used.

    NA

    UPGRADESC

    Specifies whether to upgrade all shared components without prompting.

    UPGRADESC=no

    INSTALLNAME

    The friendly name for the INSTALLROOT.

    INSTALLNAME=

    COMPONENT_VERSIONS

    This option is unused.

    NA


  3. Run the silent installation on each host.

    commpkg install --silent input_file
    

    where input_file is the path and name of the silent state file, for example /var/opt/CommsInstaller/logs/silent_CommsInstaller_20070501135358.

    For more information about the --silent option, see "install Verb Syntax".

    Note:

    Command-line arguments override the values and arguments in the state file.
  4. Proceed to "Preparing Messaging Server for Indexing and Search Service Integration".

Upgrading Shared Components in Silent Installation

By default, shared components that require user acceptance for upgrading are not upgraded when you run a silent installation. The option to upgrade shared components in the state file is automatically disabled (the UPGRADESC option is set to No.) This is true even if you explicitly asked to upgrade shared components when you ran the interactive installation that generated the state file. That is, you ran either commpkg install --upgradeSC y or you answered ”yes” when prompted for each shared component that needed upgrading.

Disabling upgrading shared components in the silent state file is done because the other hosts on which you are propagating the installation might have different shared components installed, or different versions of the shared components. Therefore, it is safer to not upgrade the shared components by default.

You can upgrade shared components when you run a silent installation by performing either of the following actions:

  • Use the --upgradeSC y option when you run the silent installation. (The command-line argument overrides the argument in the state file.)

  • Edit the UPGRADESC=No option in the silent state file to: UPGRADESC=Yes.

Caution:

If you do not upgrade shared components your installation might not work properly.

Installing Indexing and Search Service on Solaris Zones

This section explains how to install Indexing and Search Service on Solaris Zones.

Installing on Solaris Zones: Best Practices

You can install Indexing and Search Service components in the global zone, whole root non-global zones, and sparse non-global zones. Follow these guidelines:

  • Treat the global zone as an ”administration zone.”

    Install shared components and OS patches in the global zone that are to be shared among all zones. However, do not install and run products from the global zone.

  • Use whole root non-global zones to run Indexing and Search Service.

    Do not use the global zone or sparse zones. A whole root zone can have versions that are different from other whole root zones, thus giving it a measure of being ”self-contained.”

Be aware of the following zone aspects:

  • You can have different shared component versions in the whole root non-global zone, but it is not entirely insulated. If you do a packaging or patching operation in the global zone for a shared component, that operation is also attempted in the whole root zone. Thus, to truly have different shared component versions, use an alternate root.

  • To avoid affecting whole root zones you can attempt to never install and patch shared components in the global zone. However, it might not be realistic to never have to install or patch a shared component in the global zone. For example, Network Security Services (NSS) is a shared component, but it is part of Solaris. So to expect to never install and patch NSS in the global zone seems unrealistic, especially given it is a security component.

  • Although it is not a recommended best practice, you can use Indexing and Search Service in sparse non-global zones. Shared components cannot be installed into the default root because many of them install into the read-only shared file system (/usr). Thus, you must run the installer in the global zone to install shared components into the default root. Prepend your selection with ~ in the global zone to install only the dependencies (that is, shared components). You do not have to install in the global zone first before installing in the sparse zone. The installer enables you to continue even when you do not install all the dependencies. However, upgrading the shared components in the global zone affects the sparse non-global zones, thus requiring downtime for all affected zones simultaneously.

Note:

Sparse root zones are not available beginning with Oracle Solaris 11.

Installing into a Non-Global Whole Root Zone

The non-global whole root zone scenario is the equivalent of installing Indexing and Search Service on a single host with no zones. Simply install Indexing and Search Service as described in "Installing Indexing and Search Service".

Caution:

Any operations performed in the global zone (such as installations, uninstallations, and patching) affect the whole root zones.

Installing into a Non-Global Sparse Root Zone

Although it is not a recommended best practice, you can use Indexing and Search Service in a non-global sparse root zone on Solaris 10. To install Indexing and Search Service in a non-global sparse root zone, you first must install or upgrade the applicable operating system patches and shared components in the global zone. You are unable to do so in the sparse root zone, because the /usr directory (where the shared components reside) is a read-only directory in the sparse root zone.

  1. Follow the pre-installation requirements as described in "Indexing and Search Service Pre-Installation Tasks".

  2. Verify that you are about to install the shared components and operating system patches in the global zone and not the sparse root zone. To verify that you are in the global zone, run zonename. The output should be global.

  3. Run the installer in the global zone and only install or upgrade the operating system patches and the Shared Components. Do not install Indexing and Search Service components in the global zone. To install only the Shared Components in the global zone, add a ~ (tilde) to the component number you want to install in the sparse zone.

    For example, if you plan to install Indexing and Search Service in the sparse zone, you select ~1 during the global zone installation. The installer knows to only install dependencies and not the product itself.

  4. Once you have installed the shared components and operating system patches, install Indexing and Search Service components in the sparse root zone as described in "Installing Indexing and Search Service".

Configuring an Embedded Message Queue on the Indexing and Search Service Host

To configure an embedded Message Queue on the Indexing and Search Service host:

  1. Ensure that the Message Queue broker is running and is enabled to start at reboot. See the topic on updating the JMS service configuration in Oracle GlassFish Server 3.1 Administration Guide.

  2. If the config.properties file does not yet exist, it is generated the first time that the IMQ broker is started. You might need to restart GlassFish Server to cause the file to be generated. Some later versions of GlassFish Server require you to connect to the port before this file is generated, for example:

    telnet 0 7676
    
  3. Tune the Message Queue broker properties by editing the bottom of the GlassFish_home/glassfish/domains/domain1/imq/instances/imqbroker/props/config.properties file to contain the following information.

    imq.portmapper.backlog=-1
    imq.destination.DMQ.truncateBody=true
    imq.autocreate.reaptime=7200
    imq.log.level=WARNING
    imq.autocreate.destination.maxNumProducers=-1
    imq.jms.max_threads=2000
    
  4. Restart GlassFish Server to acquire the new settings:

    GlassFish_home/bin/asadmin stop-domain domain1
    GlassFish_home/bin/asadmin start-domain domain1
    
  5. Edit the IndexingSearch_home/etc/jiss.conf file, or a state file, to contain the following information.

    # Full path to the imqcmd imqusermgr binaries
    iss.imq.bin = GlassFish_home/mq/bin
    #Full path to the imq broker var directory (IMQ_DEFAULT_VARHOME)
    iss.imq.var = GlassFish_home/glassfish/domains/domain1/imq 
    
  6. Run the setup command:

    IndexingSearch_home/bin/setup [-c statefile]
    
  7. Restart GlassFish Server.

  8. Verify the broker:

    GlassFish_home/mq/bin/imqcmd list dst
    Listing all the destinations on the broker specified by:
    
    -------------------------
    Host         Primary Port
    -------------------------
    localhost    7676
    
    ---------------------------------------------------------------------------------------------
       Name      Type    State      Producers        Consumers                  Msgs
                                 Total  Wildcard  Total  Wildcard  Count  Remote  UnAck  Avg Size
    ---------------------------------------------------------------------------------------------
    AccountState.sca00agq  Topic  RUNNING  0      0         3      2         0      0       0      0.0
    Indexsca00agq          Queue  RUNNING  128    -         1      -         0      0       0      0.0
    Jmqcsca00agq           Topic  RUNNING  0      0         1      0         0      0       0      0.0
    SearchTopic            Topic  RUNNING  512    0         1      0         0      0       0      0.0
    mq.sys.dmq             Queue  RUNNING  0      -         0      -         0      0       0      0.0
     
    Successfully listed destinations.
    
  9. Add Oracle Solaris Service Management Facility (SMF) dependencies.

    When installing Indexing and Search Service with an embedded Message Queue, the SMF definitions for the Indexing and Search Service services are managed by the Indexing and Search Service setup utility. Consequently, Indexing and Search Service services do no start unless the GlassFish Message Queue broker is already running. Thus, ensure that GlassFish Server is running prior to starting Indexing and Search Service services.

    You can add this dependency to the SMF service definitions. For example:

    <dependency name='nab' grouping='optional_all' restart_on='none'type='service' >
         <service_fmri value='svc:/application/glassfish3/domain1:default'/></dependency>
    

Configuring a Standalone Message Queue on the Indexing and Search Service Host

To configure a standalone Message Queue on the Indexing and Search Service host:

  1. Ensure that the Message Queue broker is running and is enabled to start at reboot. Edit the imqbrokerd.conf file (/etc/imq/imqbrokerd.conf on Solaris and /etc/opt/sun/mq/imqbrokerd.conf on Linux) to contain the following information. Check the file permissions and change them to be writable if they are set to read-only.

    AUTOSTART=YES
    ARGS=-vmargs -Xmx1024m -vmargs -Xss256k -vmargs -d64
    RESTART=YES
    
  2. If the config.properties file (/var/imq/instances/imqbroker/props/config.properties on Solaris and /var/opt/sun/mq/instances/imqbroker/props/config.properties on Linux) does not yet exist, start the IMQ broker for the first time to generate it.

    nohup /etc/init.d/imq start
    
  3. Tune the Message Queue broker properties by editing the bottom of the config.properties file (/var/imq/instances/imqbroker/props/config.properties on Solaris and /var/opt/sun/mq/instances/imqbroker/props/config.properties on Linux) to contain the following information.

    You might need to check the file permissions and change them to be writable if set to read-only. The defaults for these settings appear in the default.properties file (/usr/share/lib/imq/props/broker/default.properties on Solaris and /opt/sun/mq/private/share/lib/props/broker/default.properties on Linux).

    imq.portmapper.backlog=-1
    imq.autocreate.destination.limitBehavior=REMOVE_OLDEST
    imq.autocreate.destination.maxNumProducers=-1
    imq.autocreate.reaptime=7200
    imq.destination.DMQ.truncateBody=true
    imq.jms.max_threads=2000
    
  4. Ensure that the Message Queue broker is restarted to acquire the new settings:

    /etc/init.d/imq stop
    nohup /etc/init.d/imq start
    

Preparing Messaging Server for Indexing and Search Service Integration

Preparing your Messaging Server hosts for Indexing and Search Service integration includes:

  • Assigning read-only store administrator privileges to the Indexing and Search Service proxy authentication user

  • Configuring Java Messaging Queue (JMQ) notifications

  • Configuring Messaging Server to forward some IMAP SEARCH queries to Indexing and Search Service

To prepare and configure Messaging Server for integration with Indexing and Search Service:

  1. Assign read-only store administrator privileges to the Indexing and Search Service proxy authentication user (by default named indexeradmin).

    The Indexing and Search Service proxy authentication user must exist in LDAP and must be a member of the store.admins group.

    • Legacy configuration:

      cd MessagingServer_home/bin
      configutil -o store.indexeradmins -v indexeradmin
      
    • Unified Configuration:

      cd MessagingServer_home/bin
      msconfig set store.indexeradmins indexeradmin
      
  2. Configure a Message Queue user.

    1. Use the imqusermgr command to create a Message Queue user, referred to later in this task as local.store.notifyplugin.index.jmquser in Messaging Server and mail.imq.user in Indexing and Search Service.

      • Solaris:

        /usr/bin/imqusermgr add -u jmquser -p jmquserpassword -g user
        
      • Linux:

        /opt/sun/mq/bin/imqusermgr add -u jmquser -p jmquserpassword -g user
        
    2. Reset the default account passwords, if not already reset:

      • Solaris:

        /usr/bin/imqusermgr update -u admin -p adminpassword
        /usr/bin/imqusermgr update -u guest -p guestpassword
        
      • Linux:

        /opt/sun/mq/bin/imqusermgr update -u admin -p adminpassword
        /opt/sun/mq/bin/imqusermgr update -u guest -p guestpassword
        
  3. Configure Java Messaging Queue (JMQ) notifications on Messaging Server to produce event notifications of real-time changes to the Messaging Server store for Indexing and Search Service to consume.

    Note:

    Indexing and Search Service requires JMQ software. If on your Messaging Server hosts you are currently running ENS for IMAP IDLE, you must run both ENS and JMQ. In other words, ENS and JMQ are independent. You can use ENS for IMAP IDLE and JMQ for Indexing and Search Service. Prior to Messaging Server 7 Update 4, you can use JMQ for both IMAP IDLE and Indexing and Search Service. Starting with Messaging Server 7 Update 4, IMAP IDLE only supports ENS.
    1. Set the local.store.notifyplugin parameter (legacy configuration) or notifytarget option (Unified Configuration) to include a JMQ notification plug-in named index.

      If you have already enabled local.store.notifyplugin, add the following entry for Indexing and Search Service to what is already specified so that you do not overwrite the existing setting. For example, if local.store.notifyplugin is already set, run the following commands.

      • Legacy configuration:

        cd MessagingServer_home/bin
        configutil -o local.store.notifyplugin
        lib/libibiff$ms-internal$
        configutil -o local.store.notifyplugin -v 'lib/libibiff$ms-internal$lib/libjmqnotify$index'
        

        You may receive a response such as the following:

        libibiff$ms-internal$
        

        If this is the case, append the new JMQ notification to existing one:

        configutil -o local.store.notifyplugin -v 'libibiff$ms-internal$libjmqnotify$index'
        

        If local.store.notifyplugin is not already set, set it as follows:

        cd MessagingServer_home/bin
        configutil -o local.store.notifyplugin
        configutil -o local.store.notifyplugin -v 'lib/libjmqnotify$index'
        
      • Unified Configuration:

        msconfig set notifytarget:index.notifytype jmq
        

        For more information about the syntax of local.store.notifyplugin, consult Messaging Server Reference or run the configutil -o local.store.notifyplugin -H command.

    2. Configure the following settings for the index JMQ notification plugin, replacing jmquser with the JMQ user and jmquserpassword with the JMQ user password. Time values are in milliseconds.

      • Legacy configuration:

        cd MessagingServer_home/bin
        configutil -o local.store.notifyplugin.index.annotatemsg.enable -v 0
        configutil -o local.store.notifyplugin.index.changeflag.enable -v 1
        configutil -o local.store.notifyplugin.index.copymsg.enable -v 1
        configutil -o local.store.notifyplugin.index.debuglevel -v 0
        configutil -o local.store.notifyplugin.index.deletemsg.enable -v 0
        configutil -o local.store.notifyplugin.index.destinationtype -v queue
        configutil -o local.store.notifyplugin.index.expungemsg.enable -v 1
        configutil -o local.store.notifyplugin.index.jmqhost -v ISS_host_FQDN
        configutil -o local.store.notifyplugin.index.jmqport -v 7676
        configutil -o local.store.notifyplugin.index.jmqpwd -v jmquserpassword
        configutil -o local.store.notifyplugin.index.jmqtopic -v INDEXMS
        configutil -o local.store.notifyplugin.index.jmquser -v jmquser
        configutil -o local.store.notifyplugin.index.loguser.enable -v 0
        configutil -o local.store.notifyplugin.index.maxbodysize -v 262144
        configutil -o local.store.notifyplugin.index.maxheadersize -v 16384
        configutil -o local.store.notifyplugin.index.msgflags.enable -v 0
        configutil -o local.store.notifyplugin.index.msgtypes.enable -v 0
        configutil -o local.store.notifyplugin.index.newmsg.enable -v 1
        configutil -o local.store.notifyplugin.index.noneinbox.enable -v 1
        configutil -o local.store.notifyplugin.index.overquota.enable -v 0
        configutil -o local.store.notifyplugin.index.persistent -v 0
        configutil -o local.store.notifyplugin.index.priority -v 4
        configutil -o local.store.notifyplugin.index.purgemsg.enable -v 0
        configutil -o local.store.notifyplugin.index.readmsg.enable -v 0
        configutil -o local.store.notifyplugin.index.underquota.enable -v 0
        configutil -o local.store.notifyplugin.index.updatemsg.enable -v 1
        configutil -o local.store.notifyplugin.index.ttl -v 3600000
        
      • Unified Configuration:

        msconfig set notifytarget:index.annotatemsg 0
        msconfig set notifytarget:index.changeflag 1
        msconfig set notifytarget:index.copymsg 1
        msconfig set notifytarget:index.deletemsg 0
        msconfig set notifytarget:index.destinationtype queue
        msconfig set notifytarget:index.expungemsg 1
        msconfig set notifytarget:index.jmqhost ISS_host_FQDN
        msconfig set notifytarget:index.jmqport 7676
        msconfig
        ## The JMQ password can only be set using the msconfig interactive mode.
        msconfig> set notifytarget:index.jmqpwd jmquserpassword
        msconfig# write
        msconfig set notifytarget:index.jmqtopic INDEXMS
        msconfig set notifytarget:index.jmquser jmquser
        msconfig set notifytarget:index.loguser 0
        msconfig set notifytarget:index.maxbodysize 262144
        msconfig set notifytarget:index.maxheadersize 16384
        msconfig set notifytarget:index.msgflags 0
        msconfig set notifytarget:index.msgtypes 0
        msconfig set notifytarget:index.newmsg 1
        msconfig set notifytarget:index.noninbox 1
        msconfig set notifytarget:index.overquota 0
        msconfig set notifytarget:index.persistent 0
        msconfig set notifytarget:index.priority 4
        msconfig set notifytarget:index.purgemsg 0
        msconfig set notifytarget:index.readmsg 0
        msconfig set notifytarget:index.underquota 0
        msconfig set notifytarget:index.updatemsg 1
        msconfig set notifytarget:index.ttl 3600000
        

        If you are deploying multiple Indexing and Search Service back- end hosts to connect to the same INDEXMS destination, set the local.store.notifyplugin.index.destinationtype parameter (legacy configuration), or notifytarget:index.destinationtype option (Unified Configuration) to topic rather than queue.

        The local.store.notifyplugin.index.overquota.enable and local.store.notifyplugin.index.underquota.enable parameters (legacy configuration), or notifytarget:index.overquota and notifytarget:index.underquota (Unified Configuration) are "newer" parameters that older versions of the configutil command do not support. If this is the case, you see a warning about setting an unknown parameter. This only means that the over and under quota events have not been disabled. These events are still sent to Indexing and Search Service but are ignored.

    3. Important: For Messaging Server 7 Update 3 or earlier versions, if you have changed the guest password for the IMQ broker from its default value and you do not have ENS enabled for IDLE, you might also need to either disable IDLE and imkill over JMQ, or provide a valid JMQ user name and password for their configuration.

      • To disable IDLE and KILL over JMQ, run the following commands:

        cd MessagingServer_home/bin
        configutil -o service.imap.ensidle -v 1
        

        This setting does not enable ENS. Instead, it disables IDLE and imkill over JMQ.

      • To provide a valid JMQ user name and password for IDLE and JMQ, run the following commands:

        cd MessagingServer_home/bin
        configutil -o service.imap.idle.jmquserid -v jmquser
        configutil -o service.imap.idle.jmqpassword -v jmquserpassword
        configutil -o local.store.notifyplugin.idle.jmquser -v jmquser
        configutil -o local.store.notifyplugin.idle.jmqpwd -v jmquserpassword
        

        Starting with Messaging Server 7 Update 4, the service.imap.idle.jmquserid and service.imap.idle.jmqpassword parameters might be obsolete and might send a warning message if you attempt to set them. Beginning with Messaging Server 7 Update 5, run these commands instead:

        cd MessagingServer_home/bin
        configutil -o local.store.notifyplugin.idle.jmquser -v jmquser
        configutil -o local.store.notifyplugin.idle.jmqpwd -v jmquserpassword
        
      • If you skip this step, but the following messages appear in the IMAP log after you restart Messaging Server, you must perform one of the previous two options.

        [09/Apr/2009:22:59:05 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker: invalid login
        [09/Apr/2009:22:59:16 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker: invalid login
        [09/Apr/2009:22:59:26 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker: invalid login
        [09/Apr/2009:22:59:37 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker: invalid login
        [09/Apr/2009:22:59:47 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker: invalid login
        [09/Apr/2009:22:59:58 +0000] mailhost imapd[26954]: General Error: JMQ Error: Broker connection is closed
        
    4. Restart Messaging Server to make the changes take effect:

      cd MessagingServer_home/bin
      stop-msg
      start-msg
      
    5. Verify that the JMQ index plugin is working by checking for an entry such as the following in the MessagingServer_home/log/imap log:

      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: JMQ notifica tions enabled: index
      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: jmqNotify JM Q initialization MQCreateConnection [dest : index] [host : 127.0.0.1]
      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: jmqNotify JM Q initialization MQCreateSession [dest : index] [host : 127.0.0.1]
      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: jmqNotify JM Q initialization MQCreateDestination [dest : index] [host : 127.0.0.1] [topic :  INDEXMS]
      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: jmqNotify JM Q initialization MQCreateMessageProducerForDestination [dest : index] [host : 12 7.0.0.1]
      [28/May/2013:22:35:35 +0000] mailhost imapd[13996]: General Notice: jmqNotify JM Q initialization MQCreateTextMessage [dest : index] [host : 127.0.0.1]
      [88/May/2013:15:11:07 -0700] mailhost imapd[19507]: General Warning: Oracle Communications Messaging Server IMAP4 7u5-28.21(7.0.5.28.0) 64bit (built Apr 8 2013) starting up
      

      Messaging Server 7 Update 4 and later may require that the NSS shared component be updated before JMQ notifications works properly. If the MessagingServer_home/log/imap log contains an error at start up similar to the following:

      [26/Jun/2012:18:55:00 +0000] bco44 imapd[5471]: General Error: jmqNotify JMQ initialization error The library is incompatible
      

      Then consult the patch README for Messaging Server to determine the corresponding required patch level for the NSS/NSPR/JSS patch. For example, Messaging Server 7 Update 4 Patch 25 requires the 3.12.8 version of NSS shared component.

    6. On the GlassFish Server host, verify that no login errors have occurred on the IMQ broker by checking the /var/imq/instances/imqbroker/log/log.txt file. For example:

      [06/Apr/2009:19:51:32 PDT] [B1065]: Accepting: jmquser@127.0.0.1:65220->jms:63268. Count: service=1 broker=1
      [06/Apr/2009:19:51:33 PDT] [B1065]: Accepting: jmquser@127.0.0.1:65223->jms:63268. Count: service=2 broker=2
      [06/Apr/2009:19:51:34 PDT] [B1065]: Accepting: jmquser@127.0.0.1:65226->jms:63268. Count: service=3 broker=3
      [06/Apr/2009:19:51:34 PDT] [B1065]: Accepting: jmquser@127.0.0.1:65228->jms:63268. Count: service=4 broker=4
      [06/Apr/2009:19:51:35 PDT] [B1065]: Accepting: jmquser@127.0.0.1:65232->jms:63268. Count: service=5 broker=5
      
    7. On the GlassFish Server host, verify that Messaging Server has producers connected to the INDEXMS destination:

      imqcmd list dst
      Username: admin
      Password:
      Listing all the destinations on the broker specified by:
      
      -------------------------
      Host         Primary Port
      -------------------------
      localhost    7676
      
      ---------------------------------------------------------------------------------------------
         Name      Type    State      Producers        Consumers                  Msgs
                                   Total  Wildcard  Total  Wildcard  Count  Remote  UnAck  Avg Size
      ---------------------------------------------------------------------------------------------
      INDEXMS      Queue  RUNNING  9     -         0      -         0      0       0      0.0
      mq.sys.dmq   Queue  RUNNING  0     -         0      -         0      0       0      0.0
      
      Successfully listed destinations.
      
    8. For more information, see the topic on JMQ notification in Messaging Server System Administrator's Guide.

  4. Prepare, but do not enable, Messaging Server to forward some IMAP SEARCH queries to Indexing and Search Service.

    After you have enabled Indexing and Search Service, bootstrapped user accounts, and verified that search works, this step is revisited to enable redirecting of IMAP SEARCH queries to Indexing and Search Service by setting service.imap.indexer.enable to 1. At this point in the installation, enabling IMAP SEARCH queries to be redirected to Indexing and Search Service would result in search errors.

    Indexing and Search Service processes search operations based on words rather than substrings. Consequently, results might not follow IMAP standards and might differ from a search performed by the IMAP server. For more information about Indexing and Search Service search scenarios, see "How Indexing and Search Service Performs Searches".

    If an error occurs from Indexing and Search Service, then the search might fall back to processing by the IMAP server. See Indexing and Search Service System Administrator's Guide for details on what searches Indexing and Search Service supports, because it might not support all combinations of AND, OR and NOT operations that IMAP supports.

    1. Before Indexing and Search Service is enabled, apply the following settings:

      • Legacy configuration:

        cd MessagingServer_home/bin
        configutil -o service.imap.indexer.hostname -v glassfish_hostname
        configutil -o service.imap.indexer.port -v glassfish_port
        configutil -o service.imap.indexer.enable -v 0
        
      • Unified Configuration:

        msconfig set imap.indexer.server_host glassfish_hostname
        msconfig set imap.indexer.port glassfish_port
        msconfig set imap.indexer.enable 0
        

      Where:

      glassfish_hostname is the GlassFish Server host upon which Indexing and Search Service web component is configured

      glassfish_port is the port number of the GlassFish Server host upon which Indexing and Search Service web component is configured

    2. Restart the Messaging Server IMAP server to make the changes take effect:

      cd MessagingServer_home/bin
      refresh imap
      

Configuring Indexing and Search Service

You must configure Indexing and Search Service to complete the installation. You use the Indexing and Search Service configuration command-line script, setup, to perform this initial run-time configuration.

The setup script generates configuration files required to run the Indexing and Search Service services. The script uses the IndexSearch_home/etc/jiss.conf.template file for default values but you are prompted for various configuration settings about the Messaging Server messaging store install, local system services, and so on.

Running the Indexing and Search Service Initial Configuration Script

Before you begin running the initial configuration script, ensure that the Directory Server, JMQ broker, GlassFish Server, and Messaging Server components are running.

To run the Indexing and Search Service initial configuration:

  1. Log in as or become the superuser (root).

  2. Change to the IndexSearch_home/bin directory.

    The default installation directory is /opt/sun/comms/jiss.

  3. Run the initial configuration script and respond to the prompts. The prompts might change depending on your selections.

    For more information about options to the setup script, see "setup Script".

    setup -b IndexSearch_home -t type
    

    Note:

    Refer to "Information Requirements" for information about the values you must provide during initial configuration.
  4. When prompted, enter the Indexing and Search Service cluster settings:

    • Cluster configuration

    • Node type (appears if you chose multimachine, cluster, or clusterv2 for cluster configuration)

  5. Enter the Indexing and Search Service Settings.

    • Host name of this system

    • Instance name of the installation for an indexing node

    • Run-time user ID under which Indexing and Search Service runs

    • Run-time group to contain Indexing and Search Service run-time user ID

    • Location to store the Lucene indexes

    • Location of attachment data

    • Location of Indexing and Search Service log files

    • Location of Java

  6. Enter the Message Server Message Store Settings.

    • User/Group Directory Server

    • User/Group Default Domain

    • User/Group Directory Manager DN

    • Directory manager password

    • Messaging Server store host name

    • IP addresses corresponding to Message Server message store host

    • Read-only message store administrative user

    • Read-only message store administrative password

    • Messaging Server IMAP port

    • Messaging Server JMQ broker host

    • JMQ notification user

    • JMQ notification user's password

  7. Enter the GlassFish Server Settings.

    • GlassFish Server installation directory

    • GlassFish Server web port

    • GlassFish Server administration server port

    • GlassFish Server domain

    • GlassFish Server administrator user

    • GlassFish Server administrator user password

    • Deploy the SearchUI web application

    • Enable the iss.user to manage services by using the svcadm command

  8. Enter the Message Queue Settings.

    • Indexing and Search Service JMQ broker host

    • Indexing and Search Service JMQ broker user

    • Indexing and Search Service JMQ broker user's password

    • Indexing and Search Service JMQ broker administrative user's password

  9. Enter the Directory Server JNDI Settings.

    • Directory Server host enabled

    • File-based or Directory Server-based JNDI lookups

    • Directory Server host and port (required for multiple machine and cluster deployments)

    • Indexing and Search Service Directory Manager DN

    • Indexing and Search Service Directory Server password

  10. Enter the Run-time Information Settings.

    • Storeui access method

  11. Enter the Watcher Information Settings.

  12. Enter the ishttpd Information Settings.

  13. When prompted whether to proceed with configuring Indexing and Search Service, answer Y.

    The configurator displays messages indicating its actions and progress. The last messages indicate the location where the installation log file was written.

  14. Restart GlassFish Server.

Troubleshooting Indexing and Search Service Installation Problems

This section provides troubleshooting topics if you experience installation problems.

Troubleshooting the Initial Configuration

If you encounter problems during the initial Indexing and Search Service configuration, you can run the setup uninstall command, adjust the initial configuration, and re-attempt the setup. For more information, see "setup Script".

Troubleshooting Configuration Problems

This section describes how to troubleshoot installation problems without using the setup script.

To troubleshoot configuration problems:

  1. Change to the IndexSearch_home/bin directory.

  2. Make a copy of the example configuration file.

    cp ../etc/jiss.conf.example myfile.conf
    
  3. Edit the myfile.conf with your configuration details.

  4. Move the existing configuration files.

    mv ../etc/jiss.conf ../etc/jiss.conf.backup
    mv ../etc/keystore.jks ../etc/keystore.jks.backup
    mv ../etc/stowg ../etc/stowg.backup
    
  5. Run the configure_etc.pl script to create new jiss.conf and jiss.password files.

    configure_etc.pl -c myfile.conf -A
    
  6. Run the verify_data.pl script to check the IndexSearch_home/etc/jiss.conf and IndexSearch_home/etc/jiss_passwd.conf files for all required parameters and formatting.

  7. Run the verify_conf.pl script to check if needed services are running and can be authenticated with provided credentials.

  8. If all these steps passed, run setup to configure the system.

    setup -b basedir
    

For more information about troubleshooting your deployment, see the troubleshooting topic in Indexing and Search Service System Administrator's Guide.

Next Steps

After configuring Indexing and Search Service, continue with the following chapters: