Puppet module for AEM configuration

28 / Aug / 2015 by Ankit Kumar 1 comments

This blog post focuses on AEM Author and Publish configuration using custom puppet module on agents.

Adobe Experience Manager (AEM) provides a complete suite of applications for the Web Experience Management (WEM) of organisations.

For puppet configuration and installation
Please refer to below URL: Click Here

Setup requirements:

  • Java is required to be installed on the system.
  • Custom puppet module for AEM configuration.
  • AEM quickstart.jar file with license.properties.
  • Server(puppet agent) with enough RAM

Begining with java dependency:
To resolve the java dependency need to install puppetlabs java module using the below command:

[shell]puppet module install puppetlabs-java[/shell]

Validate puppetlabs java module is installed using command

[shell]puppet module list[/shell]

Screenshot from 2015-08-31 16:11:57

Usage of “java” module in “/etc/puppet/manifests/site.pp”
class { ‘java’:
distribution => ‘jre’,
version => ‘latest’,

For detailed reference : Click Here

Download the custom puppet module for AEM Installation named “aem” : Click Here

Un-tar “aem” module at “/etc/puppet/modules”

Directory structure of “aem” module
Screenshot from 2015-08-31 16:05:20

Usage of “test” module in “/etc/puppet/manifests/site.pp”

class { ‘aem::author’:
message => author, #specify the type of AEM installation to create.Only author/publisher valid
port => 7502, #specify the port on which AEM will listen.
class { ‘aem::publish’:
message => publish, #specify the type of AEM installation to create.Only author/publisher valid
port => 7503, #specify the port on which AEM will listen.


Note: By default installation path set to /tmp to change the default path need to change parameter $installation_dir with your path in file
“/etc/puppet/modules/aem/manifests/publish.pp” for “publish”
“/etc/puppet/modules/aem/manifests/author.pp” for “author”

Other parameter:
Other parameter value defined in author.pp and publish.pp also modify as per requirements are:

$MaxPermSize = ‘256’ #Specify the java MaxPermSize
$Xmx = ‘1024’, #Specify the java max heap size

AEM quickstart jar file with license.properties

AEM license.properties should be placed “/etc/puppet/modules/aem/templates/” and renamed as license.properties.erb as has dependency in author.pp and publish.pp

If you don’t want to rename then you need to make changes accordingly in dependency files.

In “/etc/puppet/modules/aem/templates/launchinstance.sh.erb” you need to specify source from where you downloading cq-quickstart-5.6.1.jar in line number 12.
Screenshot from 2015-08-31 17:02:45
Moving large files like cq-quickstart-5.6.1.jar from puppetmaster to puppet-agents lead to puppetmaster high load-average or failure.

Apply the module on puppet agents
[shell]puppet agent -tv –debug[/shell]

Command finished notice:
Screenshot from 2015-08-31 15:26:06

Verify the changes on puppet agent
[shell]ps -ef | grep java[/shell]

Screenshot from 2015-08-30 10:18:42

As per other use case if you want to install Author and Publish on separate machine then use below command:

For Author Installation:
[shell] puppet agent –no-daemonize –onetime –verbose –tags=author[/shell]
For Publish Installation:
[shell] puppet agent –no-daemonize –onetime –verbose –tags=publish[/shell]


comments (1 “Puppet module for AEM configuration”)

Leave a Reply

Your email address will not be published. Required fields are marked *