If you would prefer to install DuraCloud from a binary distribution, you can find instructions for that process here. |
DuraCloud application software is composed of many parts. A breakdown of the primary pieces is as follows:
The DuraCloud software, by its very nature, is designed to be integrated with underlying cloud storage providers. As may be expected, these integrations are necessary for the system to be properly exercised. In order for DuraCloud to connect to these underlying providers, appropriate credentials must be provided as part of the application initialization step. It is recommended that you acquire the necessary storage provider credentials prior to attempting to set up DuraCloud. Only one storage provider is required to run DuraCloud.
The storage providers which are currently supported are listed here.
This guide lays out the steps necessary to begin using DuraCloud:
Although this document is written from a Linux environment perspective, analogous builds/installations have been tested in Windows (but may have limitations, as noted below). Any comments or feedback are welcomed.
Software that must be installed on your system prior to building/using DuraCloud
Any portions of the configuration below for which you need to include a replacement value will be written in all capital letters and included in brackets: [LIKE-THIS] |
Check out latest stable release from Subversion repository
git clone --branch duracloud-3.5.0 https://github.com/duracloud/duracloud |
Set environment variables
export JAVA_OPTS="-XX:MaxPermSize=256m" export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=1024m" |
Add to $CATALINA_HOME/conf/tomcat-users.xml
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="admin"/> <user username="[ANY-USERNAME]" password="[ANY-PASSWORD]" roles="admin,manager-gui,manager-script"/> </tomcat-users> |
Add to $CATALINA_HOME/conf/server.xml
Add the config attribute "URIEncoding" with value "UTF-8" to your Tomcat Connector. Your connector may look like the following:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> |
Start Tomcat
$CATALINA_HOME/bin/startup.sh |
Add tomcat user to $M2_HOME/conf/settings.xml. Make sure that the username and password used here match those included in the tomcat-users.xml file.
<servers> <server> <id>tomcat-server</id> <username>[ANY-USERNAME]</username> <password>[ANY-PASSWORD]</password> </server> </servers> |
From top of the source tree, execute (note that this build runs unit tests, but not integration tests):
mvn clean install -DskipIntTests |
From the top of the source tree, execute
mvn clean install -pl integration |
If you haven't already done a full build, you need to build the app-config utility. From the top of the source tree, execute (you can skip this if you made it through step 6 above):
mvn clean install -pl app-config |
Run the app-config utility from the //app-config/target directory
java -jar target/app-config-[VERSION]-driver.jar <init.props> |
Add a duracloud profile to include the InstallBuilder path, and include the duracloud profile in the set of active profiles
<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
mvn clean install -Pinstallers |
To create a distributable zip of the storeclient or reportclient which includes their dependencies, from within the project directory (//storeclient, //reportclient) run
mvn install -Ppackage-client |