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 configuration 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.
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 GitHub repository. Determine the release number of the latest stable release by going to https://github.com/duracloud/duracloud/releases and making a note of the tag name of the most current release.
git clone https://github.com/duracloud/duracloud.git cd duracloud git checkout <latest-release-tag> |
Set environment variables
export JAVA_OPTS="-XX:MaxPermSize=256m" export MAVEN_OPTS="-Xmx1024m |
Configure Tomcat
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" /> |
Configure DuraCloud
Create a duracloud properties file (/any/path/to/duracloud.properties) that contains the following keys:
mill.db.name=<mill db name> mill.db.port=<mysql port> mill.db.host=<mysql host> mill.db.user=<username> mill.db.pass=<password> db.name=<ama db name> db.host=<mysql ama host> db.port=<mysql ama port> db.user=<username> db.pass=<password> |
Add a system property (duracloud.config.file) to point to your duracloud configuration file.
This can be done by adding the property directly to your JAVA_OPTS or CATALINA_OPTS environment variables. You can also set these values in $CATALINA_HOME/bin/setenv.sh (linux,osx) or $CATALINA_HOME/bin/setenv.bat (windows), for example:
JAVA_OPTS="${JAVA_OPTS} -Dduracloud.config.file=file:c:/duracloud/duracloud-config.properties" |
The duracloud.config.file system property can also refer to an Amazon S3 address using the s3://<bucket>/<path to file> syntax provided your tomcat instance is running on an instance with the appropriate AWS credentials. More information on AWS credentials management.
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 |
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 |