Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Java 7
    1. The Oracle JDK is recommended for building DuraCloud, as this is the JDK used for DuraCloud testing and the djatoka service (used as a basis for one of the DuraCloud services) has known compatibility issues with open-jdk.
  2. Maven 2.2.1 or above
  3. Tomcat 6.x or above
  4. ActiveMQ 5.7 or above
  5. Subversion

...

  1. Check out latest stable release from Subversion repository

    Code Block
    svn co https://svn.duraspace.org/duracloud/tags/duracloud-2.3.01
    
  2. Set environment variables

    Code Block
    export JAVA_OPTS="-XX:MaxPermSize=256m"
    export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"
    
  3. Configure Tomcat
    1. Add to $CATALINA_HOME/conf/tomcat-users.xml

      No Format
      <tomcat-users>
        <role rolename="manager"/>
        <role rolename="admin"/>
        <user username="[ANY-USERNAME]" password="[ANY-PASSWORD]" roles="admin,manager"/>
      </tomcat-users>
      
  4. Start Tomcat

    Code Block
    $CATALINA_HOME/bin/startup.sh
    
  5. Configure Maven2
    1. Add tomcat user to $M2_HOME/conf/settings.xml

      No Format
      <servers>
        <server>
          <id>tomcat-server</id>
          <username>[ANY-USERNAME]</username>
          <password>[ANY-PASSWORD]</password>
        </server>
      </servers>
      
  6. Modify the default ActiveMQ configuration file (there a many configuration options but this is quick approach)

    Code Block
    cd [ACTIVEMQHOME]/conf
    cp activemq.xml activemq.xml.orig
    [yourfaveditor] activemq.xml

    DuraCloud expects the broker to run on localhost:61617. We will make it the default for simplicity by finding the "transport" stanza and modifying it.

    No Format
    <transportConnectors>
      <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
      <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/>
      <!-- <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/> -->
      <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireformat.maxFrameSize=104857600"/>
    </transportConnectors>
    
  7. Start ActiveMQ

    Code Block
    cd [ACTIVEMQHOME]/bin
    ./activemq start
  8. Build
    1. From top of source tree

      Code Block
      mvn clean install
      

...

  1. Once all of the above steps have been completed, your DuraCloud should be ready to test.
    1. Go to http://localhost:8080/duradmin (change host or port as necessary).
    2. Log in using the credentials provided in your configuration file
    3. You should be able to view, add, update, and delete spaces and content in Spaces tab
    4. You should be able to deploy services in the Services tab
  2. Congratulations! You now have a functional DuraCloud installation.

Optional items

SyncTool installers
  1. The installers for the Sync Tool (Windows, Mac, Linux) are built using BitRock InstallBuilder Enterprise, so this tool must be installed locally.
    1. Download and install BitRock InstallBuilder Enterprise version 8.5.2 or above
    2. Place the license file for InstallBuilder in the same directory as the program executable
  2. Update the maven settngs.xml file ($M2_HOME/conf/settings.xml) to include the path to the installbuilder executable
    1. Add a duracloud profile to include the InstallBuilder path, and include the duracloud profile in the set of active profiles

      Code Block
      <profiles>
        <profile>
          <id>duracloud</id>
          <properties>
            <installbuilder.executable.path>[FULL-PATH-TO-BITROCK-INSTALLBUILDER-EXECUTABLE]</installbuilder.executable.path>
          </properties>
        </profile>
      </profiles>
      
      ...
      
      <activeProfiles>
        <activeProfile>duracloud</activeProfile>
      </activeProfiles>
    2. From the synctoolui directory in the DuraCloud source tree, execute

      Code Block
      mvn clean install -Pinstallers
    3. The installers can be found under the synctoolui/target directory
Code coverage
  1. If you plan on using Clover, the following element needs to be added to your maven 'settings.xml'

    No Format
    <profiles>
      <profile>
        <id>profile-clover</id>
        <activation>
          <property>
            <name>profile</name>
            <value>clover</value>
          </property>
        </activation>
        <properties>
          <cloverLicense>[LOCATION-OF-clover.license-FILE]</cloverLicense>
        </properties>
      </profile>
    </profiles>
    
  2. To run clover

    Code Block
    mvn clover2:instrument clover2:aggregate clover2:clover -Pprofile-clover
    
  3. A report will be generated in the following directory:
    //target/site/clover/

...