/erddap_config

Configuration scripts and supporting files for ERDDAP installation on Ubuntu server

Primary LanguageShell

ERDDAP

ERDDAP is a data server that gives you a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. https://coastwatch.pfeg.noaa.gov/erddap/index.html

This repository

Simple bash script and supporting files that implement the ERDDAP web application on Ubuntu This script covers my own needs, implementing ERDDAP on an Ubuntu server in a few minutes, and I have created it mostly as a learning exercise, and only partly as a convenient tool while I experimented with ERDDAP. If you know Docker you'd be better using Axioms ERDDAP but this might let you tinker a little first.

Instructions

Notes:

Some important information if you wish to use it for testing:

  • Rolls out the most basic implementation of ERDDAP possible, no SSL, no subscriptions and datasets reduced to example "etopo.*", mostly as per the ERDDAP Installation Guide.
  • Most file edits noted in the guide are implemented via copying pre-edited files from the files directory. See the file_list for the names, locations and ACLS (access control details) of these files. I captured the ACLS during my 'why the f*** is it not working this time?!' phase and have left them in place for potential convenience.
  • The file setup.xml requires user personalised edits, and so I use a big ugly 'read & sed' section to capture user information. Read the notes in setup.xml as per ERDDAP guidelines.
  • Some deviations from the guide:
    • Uses default Aptitude package for OpenJDK Version 8 (openjdk-8-jdk) including default path (view path with sudo update-java-alternatives -l)
    • Installs and configures Tomcat version 8 or 9 as per Digital Ocean guide
      • automatically installs latest release of the version you select, in theory should still work when tomcat goes beyond version 9 but no promises ;)
      • directory /opt/tomcat
      • web management configured
      • tomcat.service file created and enabled for autostart on boot
        • This service file includes options used in setenv.sh therefore I don't create the setenv.sh file mentioned in the guide section 2.
  • Tested on Ubuntu 19.10 and 21.04
  • Assumes minimum ram of 4GB (java options set to 2GB in tomcat.service file

Files and Directories:

  • deploy_erddap.sh

    the bash script
  • file_list

    the list of customised files rolled out during install
  • files directory

    directory containing files rolled out during install
    • apache2.conf
      Apache timeout modifications as per guide section 2. (note this file used to be called httpd.conf)
    • context.xml
      Edits applied as per guide section 2.
    • server.xml
      Edits applied as per guide section 2.
    • setup.xml
      Edited during script run with user defined values as per guide section 3.
    • Tomcat Config Files:
      • hmgr_context.xml (file name change)
        Applies web management configuration changes to Tomcat (copied as /opt/tomcat/webapps/host-manager/META-INF/context.xml)
      • mgr_context.xml (file name change)
        Applies web management configuration changes to Tomcat (copied as /opt/tomcat/webapps/manager/META-INF/context.xml)
      • tomcat-users.xml
        Applies web management configuration changes to Tomcat (add admin user admin)
      • tomcat.service
        Applies tomcat configuration and enables start on boot