210 likes | 217 Views
Learn about the architecture of Hyrax, how to configure and customize it, and important considerations for installation and security.
E N D
Hyrax Installation and Customization Dan Holloway James Gallagher
Outline • Hyrax Architecture • Example Configuration of Hyrax • Hyrax Customization
OLFS BES Data Hyrax Architecture • Two (or more) cooperating processes: • Front-end provides DAP interface • Back-end(s) read(s) data • Both parts can be customized • Front-end: different network protocols • Back-end: different data formats/systems • N-Tier design is flexible, secure
BES Commands DAP2 OLFS BES THREDDS HTML XML- encapsulated object Java Servlet Engine Unix Daemon Optional THREDDS catalogs File system with data files, SQL Database, … Hyrax Architecture
Hyrax Architecture Summary • Hyrax can be installed on one machine or several • Installation security merits serious consideration • Authentication & Authorization are handled by the web servers (Tomcat and Apache)
Hands on: Hyrax Configuration • Choices: • Single or Multiple machine • Single or Multiple back-end servers • Tomcat or Apache web server • Data formats • Catalog customization • Security • Testing • Command line tools for system administrators • Web browser
Workshop Configuration • Run a single BES and the OLFS on one host (the virtual machine running Linux) • Use Tomcat running on port 8080 • Data formats: HDF4 and FreeForm • No custom THREDDS catalogs • No firewall
The Virtual Machine • Linux VMware Virtual Appliance • All the software needed has been built, installed and configured • Start the virtual machine now…
Installing the Software • Already present on the virtual machine • But, if it wasn’t, you’d go to the OPeNDAP web site* and download: • Binaries or source for the BES and the data handlers needed. • Get the OLFS web archive file (which is a compiled java servlet). • You also need the Tomcat servlet engine * http://opendap.org/download/hyrax
Location of Server Files on the Virtual Machine • On your virtual machine: • We’ll use the root directory of the shrew/hyrax checkout often and refer to it as $prefix • The value of $prefix on you VM is /home/opendap/src/hyrax-1.9 • The Tomcat servlet engine is in $prefix/tomcat • The BES, data handlers and related source files are in $prefix/src. The BES has been built and installed in $prefix/{bin,lib,…} • The OLFS web archive file is $prefix/tomcat/webapps/opendap.war • BES: bes.conf, found at $prefix/etc/bes/bes.conf • OLFS: olfs.xml and catalog.xml, found at $prefix/tomcat/content/opendap
Background: Starting the Server • Start the BES (back-end data processing component) • Use bescmdln to verify it’s working • Start Tomcat: This automatically starts all installed servlets • Servlets are installed by copying the .war file to the servlet’s webapps directory • Verify it’s working using a web browser
Start the BES One quirk of the shrew project is that we have built it with the assumption that $PATH contains $prefix/bin. Use source spath.sh to set this. Take a quick look at the spath.sh script to see what else it does.
Start Tomcat & the OLFS • Typical steps: • Unpack the olfs jar-file • Copy the opendap.war file to Tomcat’s webapps directory • Start Tomcat • Since all but the last step has been done already, start Tomcat: • $prefix/tomcat/bin/startup.sh
Verify Tomcat is running http://localhost:8080
…and Hyrax http://localhost:8080/opendap
Complete the Configuration • Steps you would typically perform: • Security: Set up a firewall! Limit access to port 10022 to this host only • Custom catalogs: Edit the catalog.xml configuration file. By default automatic catalogs are generated • Logging: Edit the log4j.xml file. By default all accesses are logged
Stopping Hyrax First, stop Tomcat using ‘shutdown.sh’ …then stop the BES using ‘besctl’
Hyrax Configuration Summary • For our chosen configuration, we used only Tomcat, plus the Hyrax web application which consists of the BES and the OLFS • The tools bescmdln, getdap and a web browser were used to test the installation • There are a lot of options, but the default settings produce a working server • Security is a must for a web application; use a firewall to isolate the BES so only the local host can connect to it. • The Hyrax Admin interface requires additional setup and some configuration on the BES.