...
- Java 7
- 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.
- Maven 2.2.1 or above
- Tomcat 6.x or above
- ActiveMQ 5.7 or above
- Subversion
...
Check out latest stable release from Subversion repository
Code Block svn co https://svn.duraspace.org/duracloud/tags/duracloud-2.3.01
Set environment variables
Code Block export JAVA_OPTS="-XX:MaxPermSize=256m" export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m"
- Configure Tomcat
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>
Start Tomcat
Code Block $CATALINA_HOME/bin/startup.sh
- Configure Maven2
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>
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&wireformat.maxFrameSize=104857600"/> <!-- <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&wireformat.maxFrameSize=104857600"/> --> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireformat.maxFrameSize=104857600"/> </transportConnectors>
Start ActiveMQ
Code Block cd [ACTIVEMQHOME]/bin ./activemq start
- Build
From top of source tree
Code Block mvn clean install
...
- Once all of the above steps have been completed, your DuraCloud should be ready to test.
- Go to http://localhost:8080/duradmin (change host or port as necessary).
- Log in using the credentials provided in your configuration file
- You should be able to view, add, update, and delete spaces and content in Spaces tab
- You should be able to deploy services in the Services tab
- Congratulations! You now have a functional DuraCloud installation.
Optional items
SyncTool installers
- The installers for the Sync Tool (Windows, Mac, Linux) are built using BitRock InstallBuilder Enterprise, so this tool must be installed locally.
- Download and install BitRock InstallBuilder Enterprise version 8.5.2 or above
- Place the license file for InstallBuilder in the same directory as the program executable
- Update the maven settngs.xml file ($M2_HOME/conf/settings.xml) to include the path to the installbuilder executable
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>
From the synctoolui directory in the DuraCloud source tree, execute
Code Block mvn clean install -Pinstallers
- The installers can be found under the synctoolui/target directory
Code coverage
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>
To run clover
Code Block mvn clover2:instrument clover2:aggregate clover2:clover -Pprofile-clover
- A report will be generated in the following directory:
//target/site/clover/
...