Building and Running CrafterCMS from Source. It?s Simple!

CrafterCMS is an open source content management system for Web sites, mobile apps, VR and more. You can learn more about Crafter here.  In this article you will learn how to build CrafterCMS from source as well as how to start and stop the services.  It’s very easy!  Thanks to Gradle and a very easy install process, you will be up and running in 3 simple command line operations!

0. Prerequisites

You must have these prerequisites on your system before you begin:

  • Java 8
  • Git 2.x+
  • Maven 3.3.x+

OS X extra prerequisite

  • If you’re on OS X, then using brew install the latest openssl formula, like this: brew install openssl

1. Clone the Crafter repository

git clone https://github.com/craftercms/craftercms.git

This will create a directory called craftercms.  Change path in to this directory.

2. Build the Environment

CrafterCMS is built along a microservices architecture, and as such, comprises a number of head-less, RESTful, modules that work together to provide the final solution. In this section, we’ll start with the simple case of build everything/run everything, and then move on to building/hacking individual modules.

Build all CrafterCMS modules:

    ./gradlew init build deploy

3. Start and Stop All Services

Start CrafterCMS:

   ./gradlew start

You can now point your browser to http://localhost:8080/studio and start using CrafterCMS. To get started with your first CrafterCMS experience, you can follow this guide: http://docs.craftercms.org/en/latest/content-authors/index.html.

NOTE
  • The authoring environment runs on port 8080, a great place to start, while the delivery environment runs on port9080.

Stop CrafterCMS:

    ./gradlew stop

Two Environments: Authoring vs Delivery

You might have noticed that you essentially have two environments built and running: authoring and delivery. CrafterCMS is a decoupled CMS, and that means you have an authoring environment that caters to content creators, and a different environment, delivery, that handles the end-users that use the experience created by the former.

As a developer, you can use an authoring environment for most tasks without the need to run a delivery environment. It’s important to note that delivery essentially runs the same software that’s in authoring except Crafter Studio (the authoring tools). By default, this project will build both environments unless instructed otherwise.

The authoring environment runs at http://localhost:8080/studio, whereas

the delivery environment runs at http://localhost:9080/

Start, and Stop a Specific Environment

To start and stop one of the two environments is similar to building/starting/stopping All.

AUTHORING

    ./gradlew start -Penv=authoring
    ./gradlew stop -Penv=authoring

DELIVERY

    ./gradlew start -Penv=delivery
    ./gradlew stop -Penv=delivery

Ready to Rock

In just a few command lines and a few minutes you are now ready to rock!  Use Crafter Studio to create new projects or alter and build the source code to make changes to the platform itself!  Happy crafting!