ODK Aggregate stopped working

Our server hosting provider has changed the internal IP of our Linux server. etc/hosts file has been updated accordingly.

After this we are no longer able to use ODK Aggregate (ancient version running on apache-tomcat-6-0-44).

After starting the tomcat server we get a http status error 404 "The requested resource is not available.".

It is so long ago that I installed ODK Aggregate so I am lost as to where to begin troubleshooting this.

Any hints in the right direction would be greatly appreciated.

Update: I have done some testing:

www.example.com:8080/examples/ does work
same url + /manager/ gives error 404 The requested resource is not available.
same url + /host-manager/ gives error 404 The requested resource is not available.
www.example.com:8080/ (expecting Aggregate as it is called ROOT) gives error 404 The requested resource is not available.

I'm sorry to hear that you are having issues. We recommend keeping software versions updated for security and reliability purpose. Please note that Central is now the ODK server and that Aggregate has not been supported since May 2021. Please see this post for more details:

1 Like

Since Aggregate will stick with the domain name, it usually won't have this issue. However, if you set your Aggregate with IP tricks, you might have this issue. Since Aggregate might store the IP address in its setting file, one way is to re-run the Aggregate installation with a new IP (domain?) to get the new .war file, the other way is to edit the setting inside the .war file. The .war file should be in ZIP format. However, there may be some places you also need to edit inside your database tables, but not sure. BTW, rebooting your system might solve issues, too. I need to reboot the Aggregate server every week to keep it alive. Good Luck!

2 Likes

Thanks for the heads up, @danbjoseph and thanks a lot @Alexander for your very useful hints that helped me finally find a solution and get Aggregate up and running again. I´ll look into upgrading to Central as soon as possible.

The problem was that after the internal ip change, MySQL was set to bind to that IP - and I was able to solve it by re-running the Aggreate installation as you suggested.

For others that may need to do someting similar with an old ODK Aggreate server - this is what I did:

  1. Determine the version of the defunct ODK Aggregate installation. This was possible by GREPping the tomcat log files for "Version:".

  2. On GitHub, find the correct ODK Aggregate version and download the Windows installer.

  3. Run the installer and get a new .war file that I called ROOT.war

  4. Stop tomcat

  5. Delete the old .war file and the directory called ROOT in the webapps directory.

  6. Restart tomcat

  7. Log into Aggregate with the admin user and the new standard password, which is 'aggregate'.

  8. Create new password for admin user.

(Actually step 3-6 was done a nmber of times until I got it right....)

Finally ODK Aggregate works as expected again.

Thanks a lot for all help!

2 Likes