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 Name | Purpose | Search Service URL |
pdsbeta | Development/Test | http://pdsbeta:8080/search-service |
pdsweb1 | Website Operations | http://pdsweb1/search-service |
pdsweb2 | Website Operations | http://pdsweb1/search-service |
pdssrv1 | Search Service Operations | http://pdssrv1/search-service |
pdssrv2 | Search Service Operations | http://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
- 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.3.0 /usr/local/search-service
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
- 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>
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.
- Restart Tomcat server
- Test installation by going to http://localhost:8080/search-service/ (Domain and port will vary according to Tomcat configuration)
Upgrade To New Version
- Shutdown Tomcat.
- 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
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
- Start Tomcat server.
- Test installation by going to the URLs noted in the table in System Configuration above.