How to Setup MongoDB for Demo how-to-setup-mongodb-for-demo

CAUTION
AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our technical support periods. Find the supported versions here.

Introduction introduction

This tutorial describes how to setup MSRP for one author instance and one publish instance.

With this setup, the community content is accessible from both author and publish environments without needing to forward or reverse replicate user generated content (UGC).

This configuration is suitable for non-production environments such as for development and/or demonstration.

A production environment should:

  • Run MongoDB with a replica set
  • Use SolrCloud
  • Contain multiple publisher instances

MongoDB mongodb

Install MongoDB install-mongodb

  • Download MongoDB from https://www.mongodb.org/

    • Choice of OS:

      • Linux
      • Mac 10.8
      • Windows 7
    • Choice of version:

      • At a minimum, use version 2.6
  • Basic configuration

    • Follow the MongoDB install instructions

    • Configure for mongod

      • No need to configure mongos or sharding
    • The installed MongoDB folder will be referred to as <mongo-install>

    • The defined data directory path will be referred to as <mongo-dbpath>

  • MongoDB may run on same host as AEM or run remotely

Start MongoDB start-mongodb

  • <mongo-install>/bin/mongod --dbpath <mongo-dbpath>

This will start a MongoDB server using default port 27017.

  • For Mac, increase ulimit with start arg ‘ulimit -n 2048’
NOTE
If MongoDB is started after AEM, restart all AEM instances so they properly connect to MongoDB.

Demo Production Option: Setup MongoDB Replica Set demo-production-option-setup-mongodb-replica-set

The following commands are an example of setting up a replica set with 3 nodes on localhost:

  • bin/mongod --port 27017 --dbpath data --replSet rs0&

  • bin/mongo

    • cfg = {“_id”: “rs0”,“version”: 1,“members”: [{“_id”: 0,“host”: “127.0.0.1:27017”}]}
    • rs.initiate(cfg)
  • bin/mongod --port 27018 --dbpath data1 --replSet rs0&

  • bin/mongod --port 27019 --dbpath data2 --replSet rs0&

  • bin/mongo

    • rs.add(“127.0.0.1:27018”)
    • rs.add(“127.0.0.1:27019”)
    • rs.status()

Solr solr

Install Solr install-solr

  • Download Solr from Apache Lucene:

    • Suitable for any OS
    • Use version 4.10 or version 5
    • Solr requires Java 1.7 or greater
  • Basic configuration

    • Follow ‘example’ Solr setup
    • No service is needed
    • The installed Solr folder will be referred to as <solr-install>

Configure Solr for AEM Communities configure-solr-for-aem-communities

To configure a Solr collection for MSRP for demo, there are two decisions to be made (select the links to main documentation for details):

  1. Run Solr in standalone or SolrCloud mode
  2. Install standard or advanced multilingual search (MLS)

Standalone Solr standalone-solr

The method for running Solr may differ depending on the version and manner of installation. The Solr reference guide is the authoritative documentation.

For simplicity, using version 4.10 as an example, start Solr in standalone mode:

  • cd to <solrinstall>/example
  • java -jar start.jar

This will start a Solr HTTP server using default port 8983. You can browse to the Solr Console to get a Solr console for testing.

NOTE
If Solr Console is not available, check the logs under <solrinstall>/example/logs. Look to see if SOLR is trying to bind to a specific hostname that cannot be resolved (e.g. “user-macbook-pro”).
If so, update etc/hosts file with a new entry for this hostname (e.g 127.0.0.1 user-macbook-pro) and Solr will start properly.

SolrCloud solrcloud

To run a very basic (not production) solrCloud setup, start solr with:

  • java -Dbootstrap_confdir=./solr/collection1/conf -Dbootstrap_conf=true -DzkRun -jar start.jar

Identify MongoDB as Common Store identify-mongodb-as-common-store

Launch the author and publish AEM instances, if necessary.

If AEM was running before MongoDB was started, then the AEM instances will need to be restarted.

Follow the instructions on the main documentation page: MSRP - MongoDB Common Store

Test test

To test and verify the MongoDB common store, post a comment on the publish instance and view it on the author instance, as well as view the UGC in MongoDB and Solr:

  1. On the publish instance, browse to the Community Components Guide page and select the Comments component.

  2. Sign in to post a comment:

  3. Enter text in the comment text entry box and click Post

    chlimage_1-191

  4. Simply view the comment on the author instance (likely still signed in as admin / admin).

    chlimage_1-192

    Note: while there are JCR nodes under the asipath on author, these are for the SCF framework. The actual UGC is not in JCR, it is in the MongoDB.

  5. View the UGC in mongodb Communities > Collections > Content

    chlimage_1-193

  6. View the UGC in Solr:

    chlimage_1-194

Troubleshooting troubleshooting

No UGC Appears no-ugc-appears

  1. Make sure MongoDB is installed and running properly.

  2. Make sure MSRP has been configured to be the default provider:

    or check the AEM repository:

    • In JCR, if /etc/socialconfig

      • Does not contain an srpc node, it means the storage provider is JSRP
      • If the srpc node exists and contains node defaultconfiguration, the defaultconfiguration’s properties should define MSRP to be the default provider
  3. Make sure AEM was restarted after MSRP selected.

recommendation-more-help
5d37d7b0-a330-461b-814d-068612705ff6