"Seegrid will be due for a migration to confluence on the 1st of August. Any update on or after the 1st of August will NOT be migrated"

Virtual Geometallurgy Laboratory - Deployment

Requirements

  • Server:
    • PostgreSQL (can be remote but a local database provides convenience and security)
    • Java 7 JRE or JDK (tested with OpenJDK 7, Oracle should also work)
    • Servlet container (tested with Tomcat 6 and 7)
  • Cloud computing resource:
    • Tested with Nectar OpenStack
    • Virtual machine image created with scripts in vm subdirectory and configured in applicationContext.xml
  • Google project:
    • Required for Google sign-in, which uses OAuth2
    • Ensure Google+ API is enabled (this is the generic authentication API)
    • Enable Redirect URIs like these (localhost for development):
      http://localhost:8080/vgml/oauth/callback
      https://csiro.amtc.cl/vgml/oauth/callback
      
    • Enable Javascript Origins like these (localhost for development):
      http://localhost:8080/
      https://csiro.amtc.cl/
      
    • Your client id and client secret will be set in env.properties in the deployed servlet.

Database

As user postgres run psql to connect via unix socket then:
create database vgml;
create role vgml with login password 'YOUR_PASSWORD_GOES_HERE';
alter database vgml owner to vgml;

To create the contents of the deployment postgres database, connect to it with psql using
psql -h localhost -d vgml -U vgml -W
and then run:
\i src/main/db/postgres/vgml-postgres.sql

This will drop and recreate all tables. As recreation resets job numbering, be sure to also:
  • Remove all job files from cloud storage
  • Remove the staging directories with:
    rm -rf /var/lib/vgml/*

Deploy servlet

  1. Create the staging directory:
    mkdir -p /var/lib/vgml
    chown -R tomcat:tomcat /var/lib/vgml
    
  2. Place vgml.war in /var/lib/tomcat6/webapps
    • Relies on tomcat autodeployment (the default); otherwise manually unpack the war and configure the context as for any other servlet
  3. Place cloud and database credentials in env.properties
  4. Configure user permissions in applicationContext-security.xml
  5. Restart tomcat:
    service tomcat6 restart
    
Topic revision: r2 - 25 Sep 2014, BenCaradocDavies
 

Current license: All material on this collaboration platform is licensed under a Creative Commons Attribution 3.0 Australia Licence (CC BY 3.0).