Craft CMS

Craft CMS is a versatile and flexible php-based content management system.

In this guide, we'll deploy the Craft CMS Happy Lager Demo.


Provision a fresh app server in your Cleavr account before continuing.

Step 1: Add New PHP Site

In Cleavr, navigate to the server you provisioned and add a new site.

Configure as follows:

  • App Type: PHP
  • Domain Name: use your own custom domain or a free Cleavr domain

Under Advanced Options:

  • Web Directory: web
  • Enable Setup Database
  • Database Type: MySQL 8.0
  • Database Name: happylager
  • Database User: admin
  • Database Password: password

Click to Add site.

Once the site installs, go to the Web App section to configure the web app.

Step 2: Connect Repository

In the Web App > Settings > Code Repository section, select a GitHub VC profile and configure the repo as follows:

  • Repository: craftcms/happy-lager
  • Branch to Deploy: main

Step 3: Enable Install Composer and Deploy

In the Deployment Hooks section, enable the Install Composer Dependencies deployment hook.

Now, let's do a quick deploy as we'll need the contents of the repository to be on the server for the next steps.

Go to the Deployments section and click Deploy.

After the deployment, the site is not expected to render. We just need the project on the server to perform the following steps.

Step 4: Add Environment Variables

In Environment tab, add in the following .env variables.

# The environment Craft is currently running in (dev, staging, production, etc.)

# The application ID used to to uniquely store session and cache data, mutex locks, and more

# The secure key Craft will use for hashing and encrypting data

# Database Configuration

# The URI segment that tells Craft to load the control panel

# The base site URL

# The asset base path

# The asset base URL

Add a random string of characters for the APP_ID. Also, verify the database configuration variables. Finally, replace SITE_URL variable with the domain for your site.

Step 5: Set Security Key

For the security key, we'll run a command that will create a random key as well as it will automatically add the key to the environment file.

Click on Quick Commands and add a new command and paste in the following command:

php craft setup/security-key

Save and run the command.

Step 6: Import Database

Now, we'll import the happylager.sql file we imported from the code repo into our happylager mysql database.

Let's create a Quick Command for this as well.

Click Add New Quick Commands and add in the following command:

mysql --user=admin --password=password happylager < happylager.sql

Save and run the command.

Expect to see a warning after running the above command as it will complain about passing a password.

Step 7: Deploy!

You should now be good to deploy! 🚀

To log in, go to append /admin to your domain and then user the following credentials:

  • Username: admin
  • Password: password