Usergrid 2: Deploy to Tomcat¶
NOTE: Beware that Usergrid 2 is UNRELEASED SOFTWARE
Requirements¶
JDK 1.8 <http://www.oracle.com/technetwork/java/javase/downloads/index.html>
__Maven 3.2+ <http://maven.apache.org/>
__Tomcat 7+ <https://tomcat.apache.org/download-70.cgi>
__Cassandra 1.2.1\* <http://cassandra.apache.org/download/>
__ElasticSearch 1.4+ <https://www.elastic.co/downloads/elasticsearch>
__Usergrid 2.0 <https://github.com/apache/incubator-usergrid/tree/two-dot-o>
__
Running¶
Start up Cassandra [1]_
a. To do this you can navigate to the cassandra folder and run
./bin/cassandra
Start up Elasticsearch
a. To do this you can navigate to the folder where you extracted elasticsearch and run
/bin/elasticsearch
Running Usergrid
Build The Java Sdk ^^^^^^^^^^^^^^^^^^ 1. Navigate to where you cloned the usergrid repo 2. Navigate to the ``sdks/java`` directory 3. Run ``mvn clean install`` Build The Stack Itself ^^^^^^^^^^^^^^^^^^^^^^ 1. Navigate to the ``stack`` directory. 2. Run ``mvn clean install -DskipTests`` 3. This will generate a war at ``rest/target/ROOT.war`` Deploying the Stack Locally ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1. Take this war and deploy it on downloaded tomcat. 2. In the lib directory of the tomcat you must also put usergrid-deployment.properties. ( An example file is provided below) 3. Start up Tomcat a. To do this you can navigate to folder where Tomcat is install and run ``./bin/catalina.sh start`` 4. Go to a web browser and input the following to initilizing the database ``localhost:8080/system/database/setup``. a. The credentials it asks for are the admin credentialls and password as defined in the usergrid-deployment.properties. b. You can also do a curl call with basic auth to automatically authenticate the call instead of using the web browser. 5. Then using the same steps as before call ``localhost:8080/system/superuser/setup`` The stack is now ready to be queried against, but to get the most out of it you'll need to initilize and use our portal! Running The Portal Locally ^^^^^^^^^^^^^^^^^^^^^^^^^^ Requirments ''''''''''' `nodejs 0.10+ <https://nodejs.org/download/>`__ 1. Make sure you've installed node.js above. Any version above .10 or .10 should work fine. 2. Navigate to ``incubator-usergrid/portal``. 3. Open config.js and make sure the override URL is pointing to your local tomcat. 4. Now in the portal folder run the following command ``./build.sh dev`` 5. The portal should automatically open ready for use! Now usergrid is fully ready to use! Feel free to query against it or use it however you like! Example **usergrid-deployment.properties** file ----------------------------------------------- :: # core persistence properties cassandra.embedded=false cassandra.version=1.2.18 cassandra.timeout=2000 collections.keyspace=Usergrid_Applications collections.keyspace.strategy.options=replication_factor:1 collections.keyspace.strategy.class=org.apache.cassandra.locator.SimpleStrategy collection.stage.transient.timeout=60 hystrix.threadpool.graph_user.coreSize=40 hystrix.threadpool.graph_async.coreSize=40 elasticsearch.embedded=false elasticsearch.cluster_name=elasticsearch elasticsearch.index_prefix=usergrid elasticsearch.hosts=127.0.0.1 elasticsearch.port=9300 elasticsearch.force_refresh=true index.query.limit.default=100 # Max Cassandra connections, applies to both CP and EM cassandra.connections=600 ###################################################### # Minimal Usergrid configuration properties for local Tomcat and Cassandra # cassandra.url=127.0.0.1:9160 cassandra.keyspace.strategy=org.apache.cassandra.locator.SimpleStrategy cassandra.keyspace.strategy.options.replication_factor=1 ###################################################### # Custom mail transport mail.transport.protocol=smtps mail.smtps.host=smtp.gmail.com mail.smtps.port=465 mail.smtps.auth=true mail.smtps.username= mail.smtps.password= mail.smtps.quitwait=false ###################################################### # Admin and test user setup usergrid.sysadmin.login.name=superuser usergrid.sysadmin.login.email=myself@example.com <--- Change this usergrid.sysadmin.login.password=pwHERE <--- Change this usergrid.sysadmin.login.allowed=true usergrid.sysadmin.email=myself@example.com <--- Change this usergrid.sysadmin.approve.users=false usergrid.sysadmin.approve.organizations=false # Base mailer account - default for all outgoing messages usergrid.management.mailer=User <myself@example.com> <--- Change this usergrid.setup-test-account=true usergrid.test-account.app=test-app usergrid.test-account.organization=test-organization usergrid.test-account.admin-user.username=test usergrid.test-account.admin-user.name=Test User usergrid.test-account.admin-user.email=myself@example.com <---Change this usergrid.test-account.admin-user.password=test ###################################################### # Auto-confirm and sign-up notifications settings usergrid.management.admin_users_require_confirmation=false usergrid.management.admin_users_require_activation=false usergrid.management.organizations_require_activation=false usergrid.management.notify_sysadmin_of_new_organizations=true usergrid.management.notify_sysadmin_of_new_admin_users=true ###################################################### # URLs # Redirect path when request come in for TLD usergrid.redirect_root=http://localhost:8080/status usergrid.view.management.organizations.organization.activate=http://localhost:8080/accounts/welcome usergrid.view.management.organizations.organization.confirm=http://localhost:8080/accounts/welcome usergrid.view.management.users.user.activate=http://localhost:8080/accounts/welcome usergrid.view.management.users.user.confirm=http://localhost:8080/accounts/welcome usergrid.organization.activation.url=http://localhost:8080/management/organizations/%s/activate usergrid.admin.activation.url=http://localhost:8080/management/users/%s/activate usergrid.admin.resetpw.url=http://localhost:8080/management/users/%s/resetpw usergrid.admin.confirmation.url=http://localhost:8080/management/users/%s/confirm usergrid.user.activation.url=http://localhost:8080%s/%s/users/%s/activate usergrid.user.confirmation.url=http://localhost:8080/%s/%s/users/%s/confirm usergrid.user.resetpw.url=http://localhost:8080/%s/%s/users/%s/resetpw .. [1] You can start up cassandra and elasticsearch in any order but for the sake of ordered lists I put Cassandra first.