Connecting to ODKAggregate being served from EC2 in local web browser

1. What is the problem? Be very detailed.

I'm trying to set up "OpenHDS" (a demographic data management system) which partially relies on ODK. I'm doing so on an AWS EC2 ubuntu instance. Since my EC2 instance is headless, I have by SSH tunneling from the instance to my local machine for configuration steps which require a web browser.

I have configured ODKAggregate and uploaded the .war file to Tomcat manager. ODKAggregate is running on port 8080 on my remote server, which I am ssh tunneling to port 8889 locally. Locally, going to http://localhost:8999/ gives me the "It works" page. Locally, going to http://localhost:8999/ODKAggregate/ shows me the ODK "Awaiting redirect page".

This is where the problem begins. I'm redirected to http://data-management.local:8080/ODKAggregate/Aggregate.html (these are the parameters used for the OpenHDS package, and this address would be correct if I were running the browswer on the same machine as the server). This yields a "This site can't be reached" error in chrome.

2. What app or server are you using and on what device and operating system? Include version numbers.

  • Remote: AWS EC2 Ubuntu 18.04
    -Tomcat 8
  • ODK Aggregate v2.0.3 (64 bit)
  • Local: Ubuntu 18.04

3. What you have you tried to fix the problem?

I've tried:

  • Manually modifying the url to which I'm redirected (http://data-management.local:8080/ODKAggregate/Aggregate.html) by replaciong "http://data-management.local:8080" with "localhost:/8889". Does not work
  • Modifying some of the parameters in the ODKAggregate Configuration (but I'm hesitant to do too much experimentation here, since this is part of the larger OpenHDS platform, and many modifications could cause downstream complications)

4. What steps can we take to reproduce the problem?

  • Spin up an AWS EC2 instance
  • Get ODKAggregate: wget zip file (new user, can't post so many links)
  • Unzip: unzip
  • Adjust permissions: chmod 777
  • Run the installer: ./
  • You'll be prompted with lots of questions. Press 'Enter'/'y' to each until you get to the question about the parent directory for "ODK Aggregate"
  • For parent directory, write ~/ODK
  • The next question is about database. Select 1 (MySQL)
  • Press 'Enter' for the next few items. Confirm that you do not have an SSL certificate
  • When asked about Port Configuration and internet-visible IP address, type "Y"
  • Keep Connector Port as 8080
  • For "Internet-visible IP address or DNS name", type: data-management.local
  • Skip through the Tomcat, MySQL, Apache, Java stuff (already done)
  • When prompted to "stop and restart your Apache webserver", run sudo service tomcat8 restart in a different terminal tab (might require ssh'ing into the server again)
  • For the database server settings section, type the defaults (port 3036 for the database port number and for the server hostname)
  • For database username: set to data
    • Same with database password
  • For database name, type: odk_prod
  • Name your instance as odk_prod
  • For ODK Aggregate Username: odk_prod
  • Confirm "Configure" at the end
  • Set up SSH tunnel from EC2 to local machine by running the following from local machine: ssh -i <path to pem file> -N -L 8999:<EC2 endpoint>:8080 ubuntu@<EC2 endpoint> -v

5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.


**My question: how can I access the ODKAggregate so as to log-in, administer forms, etc.? **