Engineering Node Deployment

This document describes how to deploy the Search Service software contained in the search-service package, specifically for the Engineering Node environment. The following topics can be found in this section:

System Configuration

Machine Information

The following table describes the machines that require the installation of the Search Service, the purpose for the machine, and the URL with port for the Search Service once installation has been completed:

Machine NamePurposeSearch Service URL
pdsbetaDevelopment/Testhttp://pdsbeta:8080/search-service
pdsweb1Website Operationshttp://pdsweb1/search-service
pdsweb2Website Operationshttp://pdsweb1/search-service
pdssrv1Search Service Operationshttp://pdssrv1/search-service
pdssrv2Search Service Operationshttp://pdssrv2/search-service

Operations Apache Configuration

The following configuration needs to be completed on all Website Operations machines in order to properly map the URLs to the Search Service Operations. Open the Apache httpd.conf file and add the following:

ProxyPass /tools/search-service/ http://pdsops.jpl.nasa.gov/search-service/
ProxyPass /tools/search-service http://pdsops.jpl.nasa.gov/search-service/
ProxyPassReverse /tools/search-service/ http://pdsops.jpl.nasa.gov/search-service/
ProxyPassReverse /tools/search-service http://pdsops.jpl.nasa.gov/search-service/
        

Security

Changes need to be made to Apache Tomcat configuration in order to properly secure the application. The following configuration needs to be added to the Host section of the $TOMCAT_HOME/conf/server.xml file on all machines:

<Host name="localhost"  appBase="webapps"
      unpackWARs="true" autoDeploy="true">
  .
  .
  .
  <Context path="/search-service/pds/update" docBase="" >
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" />
  </Context>
</Host>
        

Deploying the Application

The following section details the deployment procedures for the Initial Installation and Upgrade of the Search Service software of the PDS Engineering machines noted above.

Initial Installation

  1. Create a symbolic link to the Search Service installation directory to provide an easier method of upgrade in the future. The following demonstrates how to create this symbolic link (requires root access):
    ln -s /usr/local/search-service-1.5.0 /usr/local/search-service
                
  2. Change the owner of all the Search Service configuration, software, and documentation to the pds4 user (requires root access):

    % chown -R pds4 /usr/local/search-service
                
  3. Create a Tomcat context file search-service.xml to refer to the Solr WA\ R file (found in the $SEARCH_SERVICE_HOME directory) and place it in the $TOMCAT_HOME/conf/Catal\ ina/{hostname} directory. The search-service.xml file should look something like\ this, with the paths modifed as needed:
    <?xml version="1.0" encoding="utf-8" ?>
    <Context docBase="/usr/local/search-service/solr.war" debug="0"
          crossContext="true">
      <Environment name="solr/home" type="java.lang.String"
    value="/usr/local/search-service" override="true" />
      <Parameter name="javax.xml.transform.TransformerFactory" type="java.lang.String"
            value="net.sf.saxon.TransformerFactoryImpl" override="true"/>
      <Loader className="org.apache.catalina.loader.VirtualWebappLoader"
    virtualClasspath="/usr/local/search-service/lib/*.jar;/usr/local/search-service/\
    log4j.properties"/>
    </Context>
                
  4. Append to the CATALINA_OPTS and JAVA_OPTS environment variables by adding the following line to the $TOMCAT_HOME/bin/setenv.sh script:

    CATALINA_OPTS="${CATALINA_OPTS} -Dsolr.pds.home=/usr/local/search-service"
    
    JAVA_OPTS="${JAVA_OPTS} -Dlog4j.configuration=file:///usr/local/search-service/log4j.properties"
    JAVA_OPTS="${JAVA_OPTS} -Dlog4j.debug=true"
                

    For more information on the $TOMCAT_HOME/bin/setenv.sh script, see the General Configuration section of the Tomcat Deployment document.

  5. Restart Tomcat server
  6. Test installation by going to http://localhost:8080/search-service/ (Domain and port will vary according to Tomcat configuration)

Upgrade To New Version

  1. Shutdown Tomcat.
  2. Change Search Service symbolic link to new location:
    rm /usr/local/search-service
    
    ln -s /usr/local/search-service-x.x.x /usr/local/search-service
                
  3. Change the owner of all the Search Service configuration, software, and documentation to the pds4 user (requires root access):

    % chown -R pds4 /usr/local/search-service
                
  4. Start Tomcat server.
  5. Test installation by going to the URLs noted in the table in System Configuration above.

Common Errors

See the Installation Common Errors