AEM Introduction and Publisher Setup Instructions
What is AEM?
Adobe Experience Manager is a web-based client-server system for building, managing and deploying commercial websites and related services. It combines several infrastructure-level and application-level functions into a single integrated package.
At the infrastructure level AEM provides the following:
- Web Application Server: AEM can be deployed in standalone mode (it includes an integrated Jetty web server) or as a web application within a third-party application server.
- Web Application Framework: AEM incorporates the Sling Web Application Framework that simplifies the writing of RESTful, content-oriented web applications.
- Content Repository: AEM includes a Java Content Repository (JCR), a type of hierarchical database designed specifically for unstructured and semi-structured data. The repository stores not only the user-facing content but also all code, templates and internal data used by the application.
Building on this base, AEM also offers several application-level features for the management of:
- Websites
- Mobile Applications
- Digital Publications
- Forms
- Digital Assets
- Communities
- Online Commerce
Finally, customers can use these infrastructure and application-level building blocks to create customized solutions by building applications of their own.
The AEM server is Java-based and runs on most operating systems that support that platform. All client interaction with AEM is done through a web browser.
Typical Deployment Scenarios
In AEM terminology an “instance” is a copy of AEM running on a server. AEM installations usually involve at least two instances, typically running on separate machines:
- Author: An AEM instance used to create, upload and edit content and to administer the website. Once content is ready to go live, it is published and replicated to the publish instance.
- Publish: An AEM instance that serves the published content to the public.
These instances are identical in terms of installed software. They are differentiated by configuration only. In addition, most installations use a dispatcher:
- Dispatcher: A static web server (Apache httpd, Microsoft IIS, etc.) augmented with the AEM dispatcher module. It caches web pages produced by the publish instance to improve performance.
There are many advanced options and elaborations of this setup, but the basic pattern of author, publish and dispatcher is at the core of most deployments. We will begin by focusing on a relatively simple set up. Discussion of advanced deployment options will follow.
The following sections describe both the scenarios:
- On-premise: AEM deployed and managed in your corporate environment.
- Managed Services - Cloud Manager for Adobe Experience Manager: AEM deployed and managed by Adobe Managed Services.
In this article we will describe how to deploy a single TarMK based AEM instance on premise. The advantages of this deployment are that it is simple, easy to maintain, and provides better performance. However, it will not be scalable beyond the limits of the server capacity and failover is not possible with this type of deployment.
Prerequisites:
- 1 CentOS/RHEL 7 VM for author
- 2 CentOS/RHEL 7 VMs for publishers
- 2 CentOS/RHEL 7 VMs for dispatchers
- Java is installed on Author and Publisher VMs, to learn how to install Java please click here
- Root Access to all the VMs
Publish Installation:
- As a security best practice we will install AEM as a non-root user. Create a group and an application user with UID 4502 and GID 4502 for easy maintenance and to avoid any permission discrepancies.
groupadd -g 4502 aem_group
useradd -u 4502 -g aem_group aem_user
- Create the application directories of where to install AEM
mkdir /opt/aem_publish
- Change the owners of the above dir to the application user
chown -R aem_user:aem_group /opt/aem_publish
- Switch to the application user
su – aem_user
- Copy the AEM installation jar file and license file to the application dir
- Unpack the jar file to extract its contents
java -jar cq-publish-p4503.jar -unpack
- Change the following settings in the start script
CQ_PORT to 4503 (default is 4503, but can be changed to any available port)
CQ_RUNMODE to publish
- Start the AEM instance
/opt/aem_publish/crx-quickstart/bin/start
- Make sure the publisher is running
ps -ef | grep <CQ_PORT value used above>
- Open a browser with the following URL to connect to the publisher
http://<ip_of_publish_VM>:<CQ_PORT value used above>
- When prompted for login credentials type “admin” and “admin” (the default username and password)
If you would like to discuss how to set up your AEM instance, we can help. Please contact us for details.