Phyloviewer Deployment

Requirements

Deployment

  1. Download source code

    git clone git://github.com/kurie/phyloviewer.git

  2. Compile and package

    cd phyloviewer

    mvn clean package

  3. Deploy
    • copy phyloviewer/apps/viewer/target/phyloviewer.war to your server's tomcat webapps directory
    • restart tomcat
    • note that overview images for previously uploaded trees will be lost when the app is redeployed.
      (TODO automatically re-generate missing images.)
  4. Database setup
    Phyloviewer retrieves trees from a PostgreSQL database.

Notes

  • Redeploying the app currently deletes any tree overview images it generated, since they're stored inside the app directory. Move the images directory elsewhere while redeploying the app. (In the future, it should probably just be reconfigured to save images somewhere else, or regenerate them as needed.)
  • If you are running tomcat behind an apache server proxy with SELinux enabled, SELinux must be set to allow the proxy to connect to tomcat, using setsebool httpd_can_network_connect 1.
  • The fact that phyloviewer is behind the httpd proxy was messing up the servlet context path, and making it impossible for GWT to load its *.gwt.rpc files. Until recently, it's just been hitting that error, and falling back to some "legacy serialization policy", which seemed to work. Recent changes no longer work with the legacy serialization policy. The solution that seems to work best so far is to make phyloviewer the ROOT app in tomcat.
  • Using the tomcat management web app makes the deployment a little simpler. Some setup is required.
  • On portnoy, apache is currently configured to redirect some old tree URLs to new URLs, using RewriteMap. See /etc/httpd/conf.d/__vhosts.conf and id2hash for the mappings.