Aeolus: How to get started

From Pmgwiki

Jump to: navigation, search

Directions for installing and running Aeolus code

  1. Prerequisites
    • Postgres database
      • Install the rpms or packages (postgresql, postgresql-server, postgresql-jdbc)
      • service postgresql initdb (or run initdb somehow else)
      • chkconfig postgresql on
      • sudo -u postgres createuser --superuser YOUR_UNIX_USERNAME
      • createdb AeolusAuthority
      • edit pg_hba.conf and change 127.0.0.1 entry to "trust" (fedora)
      • restart postgres server /etc/rc.d/init.d/postgresql restart
    • java 1.6 (OpenJDK 1.7 recommended)
    • ant
  2. Download code: (download link coming soon)
    • For people with pmg accounts
      • svn co svn+ssh://<Your-Name-Here>@lirone.csail.mit.edu/space/svnroot/aeolus aeolus
      • alternatively use eclipse to check out the sources from the repo
  3. Build code using Eclipse or ant
    • Eclipse: browse to build.xml, right click on build.xml and then choose Ant Build from the menu
    • ant: run "ant" in the aeolus directory (uses build.xml)
  4. Create environment
    • Create database (once)
      • AUTHORITY SERVER (per authority/server/AuthorityManager.java)
        • running as the postgres user
        • psql template1
        • CREATE DATABASE AeolusAuthority;
        • CREATE USER aeolus PASSWORD '<password-from-AuthorityManager.java>';
        • GRANT ALL ON database AeolusAuthority TO aeolus;
        • recent tests indicate that some versions of postgres do not handle database names with upper case characters very well. This leads to the suggestion to change AeolusAuthority to aeolusauthority in the above "create database" command and in the file authority/api/AuthorityConfiguration.java
  5. Run code
    • cd aeolus
    • ./run-server This starts the AS (aka the Authority Server)
    • ./run-vn edu.mit.csail.aeolus.apps.<insert dir-name>.<insert class-name> This starts the application
      • Note: do not use ".class" in the class name
      • Important: You can use ./run-vn -logging false <args-as-above> to turn off auditing. (The system is much slower with auditing enabled.)
  6. Misc notes
    • Note: aeolus-apps.jar contains all the classes in apps (or at least approximately)
    • Note: need to add aeolus-apps.jar to the class path if using shared state
    • Note: the Aeolus class loader always needs a full, absolute pathname

The API documentation is available here: [1]

Personal tools