All Projects โ†’ ahmed-musallam โ†’ AEM-UP

ahmed-musallam / AEM-UP

Licence: MIT License
๐Ÿš€ AEM Author, Dispatcher and Publisher in one VM managed via Vagrant and provisioned via Ansible

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to AEM-UP

aem-stubs
Tool for providing sample data for AEM applications in a simple and flexible way. Stubbing server on AEM, no separate needed.
Stars: โœญ 40 (+122.22%)
Mutual labels:  aem, aem-tools, aem-automation
gradle-aem-multi
Example Multi-Module AEM application built by Gradle Build System
Stars: โœญ 31 (+72.22%)
Mutual labels:  aem, aem-tools
aem-intellij-plugin
IntelliJ Platform plugin for AEM (Adobe Experience Manager).
Stars: โœญ 26 (+44.44%)
Mutual labels:  aem, aem-tools
aemtools
AEM Tools is Intellij IDEA plugin containing Adobe Experience Manager related features
Stars: โœญ 49 (+172.22%)
Mutual labels:  aem, aem-tools
vvv-utilities
Official VVV extensions
Stars: โœญ 22 (+22.22%)
Mutual labels:  vagrant
pereval-server
The Pereval server: a set of OSINT & misc related web-services
Stars: โœญ 27 (+50%)
Mutual labels:  vagrant
usergrid-docker
Build and run Usergrid 2.1 using Docker
Stars: โœญ 41 (+127.78%)
Mutual labels:  vagrant
litemall-dw
ๅŸบไบŽๅผ€ๆบLitemall็”ตๅ•†้กน็›ฎ็š„ๅคงๆ•ฐๆฎ้กน็›ฎ๏ผŒๅŒ…ๅซๅ‰็ซฏๅŸ‹็‚น(openresty+lua)ใ€ๅŽ็ซฏๅŸ‹็‚น๏ผ›ๆ•ฐๆฎไป“ๅบ“(ไบ”ๅฑ‚)ใ€ๅฎžๆ—ถ่ฎก็ฎ—ๅ’Œ็”จๆˆท็”ปๅƒใ€‚ๅคงๆ•ฐๆฎๅนณๅฐ้‡‡็”จCDH6.3.2(ๅทฒไฝฟ็”จvagrant+ansible่„šๆœฌๅŒ–)๏ผŒๅŒๆ—ถไนŸๅŒ…ๅซไบ†Azkaban็š„workflowใ€‚
Stars: โœญ 36 (+100%)
Mutual labels:  vagrant
kubernetes-cluster
No description or website provided.
Stars: โœญ 17 (-5.56%)
Mutual labels:  vagrant
sitecore-packer
Packer templates for Sitecore development with IIS, SOLR and SQL Server on Windows
Stars: โœญ 19 (+5.56%)
Mutual labels:  vagrant
ansible virtualization
Ansible Collection: Virtualization roles
Stars: โœญ 31 (+72.22%)
Mutual labels:  vagrant
webinar-dispatchercache
Sample code and configurations to support a webinar showing how to optimize dispatcher caching with Adobe CQ.
Stars: โœญ 48 (+166.67%)
Mutual labels:  aem
tsharkVM
tshark + ELK analytics virtual machine
Stars: โœญ 51 (+183.33%)
Mutual labels:  vagrant
ansible-docker-vagrant-example
An example to demonstrate the power of Ansible, Docker and Vagrant
Stars: โœญ 22 (+22.22%)
Mutual labels:  vagrant
aem-osgi-annotation-demo
Demonstrates OSGi Declarative Services Annotations along side Felix SCR Annotations.
Stars: โœญ 42 (+133.33%)
Mutual labels:  aem
vim-vagrant
basic vim/vagrant integration
Stars: โœญ 55 (+205.56%)
Mutual labels:  vagrant
AEM-DataLayer
Simple DataLayer API for Adobe Experience Manager
Stars: โœญ 33 (+83.33%)
Mutual labels:  aem
vagrant-ids
An Ubuntu 16.04 build containing Suricata, PulledPork, Bro, and Splunk
Stars: โœญ 21 (+16.67%)
Mutual labels:  vagrant
fastdata-cluster
Fast Data Cluster (Apache Cassandra, Kafka, Spark, Flink, YARN and HDFS with Vagrant and VirtualBox)
Stars: โœญ 20 (+11.11%)
Mutual labels:  vagrant
docker-atlassian
A docker-compose orchestration for JIRA Software and Confluence based on docker containers.
Stars: โœญ 13 (-27.78%)
Mutual labels:  vagrant

๐Ÿš€ AEM-UP

Inspired by AEM-Devbox

AEM Author, Publisher and Dispatcher in one VM With a logging server*. managed via Vagrant and provisioned via Ansible. "AEM-UP" comes from Vagrant up command

*This VM runs a tailon server to show you logs in browser! no SSH necessary!

TL;DR:

Table of Contents

Table of contents generated with markdown-toc

Stack

  • Vagrant
  • Ansible
  • CentOs 7 vagrant image.

Requirements

*Download from PackageShare. choose Linux x86 64bit for example: dispatcher-apache2.4-linux-x86-64-4.2.3.tar.gz

Setup

  1. Add AEM JAR, license and dispatcher module:

    copy your cq-quickstart-<version>.jar, license.properties and dispatcher-apache2.4-<version>.so to user-provided folder.

    Pay close attention to step 2

Folder structure should look something like this:

  .
  โ”œโ”€โ”€ LICENSE.md
  โ”œโ”€โ”€ README.md
  โ”œโ”€โ”€ Vagrantfile
  โ”œโ”€โ”€ binaries
  โ”‚   โ””โ”€โ”€ tailon
  โ”‚       โ”œโ”€โ”€ LICENSE
  โ”‚       โ”œโ”€โ”€ README.md
  โ”‚       โ””โ”€โ”€ tailon
  โ”œโ”€โ”€ dispatcher
  โ”‚   โ”œโ”€โ”€ 00-dispatcher.conf
  โ”‚   โ”œโ”€โ”€ dispatcher.any
  โ”‚   โ””โ”€โ”€ dispatcher.conf
  โ”œโ”€โ”€ playbook.yml
  โ”œโ”€โ”€ services
  โ”‚   โ”œโ”€โ”€ aem-author.service
  โ”‚   โ”œโ”€โ”€ aem-publish.service
  โ”‚   โ””โ”€โ”€ tailon.service
  โ”œโ”€โ”€ user-provided
  โ”‚   โ”œโ”€โ”€ cq-quickstart-6.4.0.jar
  โ”‚   โ”œโ”€โ”€ dispatcher-apache2.4-4.2.3.so
  โ”‚   โ””โ”€โ”€ license.properties
  โ””โ”€โ”€ vm
  1. Tell Ansible where your file names

    open playbook.yml and edit the variables aem_jar_name and dispatcher_module_name** (documentation in the file)

  2. Run VM

    On Mac? use ./vm up. see the VM script below.

    Not on Mac? run vagrant up

    This VM binds no non-standard ports (46##), see Default Ports below. This can be changed: read Configuration section below.

    HELP: If you have experience converting bash scripts to windows, I could use the help to convert vm script.

  3. buy me coffee? JK, just star the repo :)

    NOTE: you will need to setup replication agents and configs as needed. This setup only installs AEM.

Configuration

Port forwarding

ie. Changing localhost ports

You can do this in the Vagrantfile. There is a port forwarding. You may se entries like:

# Ports Forwarding  
config.vm.network "forwarded_port", guest: 4602, host: 4602
config.vm.network "forwarded_port", guest: 4603, host: 4603
config.vm.network "forwarded_port", guest: 80, host: 4604
config.vm.network "forwarded_port", guest: 8080, host: 4605

leave guest ports untouched, and change host ports to your heart's content!

Runmodes

in playbook.yml you can change values for aem_publish_runmodes and aem_author_runmodes

Dispatcher Configuration

Dispatcher will be installed with default configs.

Editing dispatcher configs
  • Edit dispatcher.any at path: dispatcher/dispatcher.any
  • Edit dispatcher conf at path: dospatcher/00-dispatcher.conf
applying dispatcher changes

...after the VM has been created.

Once done with your changes, you can apply them with the provision command:

ANSIBLE_ARGS='--tags "aem_dispatcher"' vagrant provision

this wont work on windows, you'd have to run vagrant provision to re-provision the whole VM. Unless you know how to pass env variables :)

Increase VM memory and CPU cores

in vagrantfile change vb.memory and vb.cpu

JVM/AEM parameters

You can set Java and AEM params in Environment directive in services/aem-author.service and services/aem-publish.service

Ansible extra arguments (Mac/Linux only)

You can pass extra arguments to Ansible as part of the vagrant provision command by setting the params to the environment variable ANSIBLE_ARGS.

HELP: need to know how to do this on windows.

for example:

ANSIBLE_ARGS='--tags "aem_dispatcher"' vagrant provision

passes --tags "aem_dispatcher" to ansible, to run tasks with tag aem_dispatcher

Default Ports

Instance Port on host Port on guest (CentOs VM)
Author 4602 4602
Publish 4603 4603
Dispatcher 4604 80
Tailon 4605 8080

SSH into VM

Use vagrant ssh while on the root of this project directory. This allows you to SSH with the key vagrant generated when it setup the VM.

Logs

Go to localhost:4605 to see logs reported by tailon

Please note tailon has a bug with regards to showing the full path of the log in the web UI. I opened a PR to fix it. It should still allow you se all the logs with no issues.

You can also SSH into VM as mentioned above to see logs.

Instance Log Location in the VM
Author /home/vagrant/aem-author/crx_quickstart/logs
Publish /home/vagrant/aem-publish/crx_quickstart/logs
Dispatcher /etc/httpd/logs

VM script (Mac/Linux* only)

*Must support bash

run ./vm help or look into the vm file, I added a LOT of documentation :).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].